Índice:

Robô de reconhecimento de Marte: 4 etapas
Robô de reconhecimento de Marte: 4 etapas

Vídeo: Robô de reconhecimento de Marte: 4 etapas

Vídeo: Robô de reconhecimento de Marte: 4 etapas
Vídeo: CIENTISTAS não esperavam por essas ROCHAS em MARTE | Missão PERSEVERANCE | Documentário Completo 2024, Julho
Anonim
Robô de Reconhecimento de Marte
Robô de Reconhecimento de Marte

Este Instructable é um guia passo a passo para programar e comandar o Mars Reconnaissance Robot.

Para começar, é necessário obter a lista dos seguintes materiais: Um iRobot carregado criado personalizado pela Tickle College of Eningeering University of Tennessee, Uma rede sem fio que está conectada ao Raspberry Pi no iRobot, UTK iRobot create charger, habilitado para Wifi computador com acesso ao MATLAB e à internet.

Etapa 1: caixa de ferramentas do Roomba

Roomba Toolbox
Roomba Toolbox

Abra o MATLAB e crie uma nova pasta para os arquivos de código a serem armazenados de seu projeto. No MATLAB, abra um novo script e execute o código abaixo. Depois que o script for executado, adicione a nova pasta ao diretório onde o MATLAB procura os arquivos.

Código:

function roombaInstallclc; % lista de arquivos para instalar arquivos = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % local para instalação de options = weboptions ('CertificateFilename', ''); % diga a ele para ignorar os requisitos de certificado server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Instalação / atualização do Roomba'; % display purpose and get confirmation prompt = {'Este programa irá baixar estes arquivos EF 230 Roomba:' '' strjoin (arquivos, '') '' 'para esta pasta:' '' cd '' 'Deseja continuar? '}; bip; yn = questdlg (prompt, … dlgTitle, … 'Sim', 'Não', 'Sim');

if ~ strcmp (yn, 'Sim'), retorna; fim

% obtém a lista de arquivos existentes existing_files = files (cellfun (@exist, files)> 0); if ~ isempty (existing_files)% certifique-se de que está realmente ok para substituí-los prompt = {'Você está substituindo este (s) arquivo (s):' '' strjoin (existing_files, '') '' 'OK para substituir?' }; bip; yn = questdlg (prompt, … dlgTitle, … 'Sim', 'Não', 'Sim'); if ~ strcmp (yn, 'Sim'), retorna; fim fim

% baixe os arquivos cnt = 0; para i = 1: comprimento (arquivos) f = arquivos {i}; disp (['Baixando' f]); tente url = [servidor f]; websave (f, url, opções); % opções adicionadas para evitar erros de segurança cnt = cnt + 1; catch disp (['Erro ao baixar' f]); dummy = [f '.html']; se existe (dummy, 'arquivo') == 2 delete (dummy) end end end

if cnt == comprimento (arquivos) msg = 'Instalação bem-sucedida'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Erro de instalação - veja a janela de comando para detalhes'; waitfor (errordlg (msg, dlgTitle)); fim

fim% roombaInstall

Etapa 2: Preparando-se para conectar

Preparando para conectar
Preparando para conectar
Preparando para conectar
Preparando para conectar

Conecte o micro-USB que sai do robô para a porta inferior do Raspberry Pi. Em seguida, na parte superior do Roomba, pressione e segure simultaneamente os botões dock e spot até que a luz no Roomba apague. Você deve ouvir uma escala eletrônica do Roomba assim que soltar.

Etapa 3: Conectando-se ao robô

Conectando-se ao Robô
Conectando-se ao Robô

Abra as redes disponíveis no seu computador e selecione a rede existente entre o computador e o Raspberry Pi. Na pasta atual do MATLAB, clique com o botão direito na pasta do projeto atual e selecione a caixa de ferramentas roomba baixada na etapa 1 e adicione ao caminho. Em uma rede projetada para várias conexões Pi, especifique seu robô criando um objeto da classe Roomba. Veja o exemplo abaixo

Se você tiver um Roomba atribuído ao número 7, digite o seguinte:

r = roomba (7)

% Lembre-se de que esta variável agora está atribuída ao roomba, qualquer comando dado ao robô deve ser conduzido pela variável atribuída.

Etapa 4: Código

Código
Código

drive.google.com/drive/folders/1OVR5oTHUsn…

Usando o link acima, salve todos os arquivos.m na pasta indicada onde o programa principal será executado. O link deve ser aberto a todos os que o possuem. Abra um novo script na pasta atual e execute mycontrolprogram.m conforme mostrado abaixo:

função mycontrolprogram (r) global m m = mobiledev; emailInit (); executando = 1; global f global contagem contagem = 0; f = r; direc global direc = 0; r.getAngle; r.getDistance; global curLoc curLoc = [0, 0]; pts globais pts = zeros (1, 2, 2); manual = verdadeiro; graphObs (1); v = 0,15; enquanto contagem <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (contagem)); else direc = direc + r.getAngle; manualDrive (); end end figSend (); fim

O robô deve agora realizar seu trabalho projetado.

Recomendado: