Índice:
- Etapa 1: Etapa 1: Materiais necessários
- Etapa 2: Etapa 2: configurar / obter o código do Roomba
- Etapa 3: Etapa 3: Configurar Sensores Cliff / Luzes LED
- Etapa 4: Etapa 4: Verificação de obstáculos
- Etapa 5: Etapa 5: Plotagem
Vídeo: Projeto Roomba MATLAB: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
O plano atual que a NASA tem para o Mars rover é que ele seja um coletor de dados e vagueie ao redor de Marte, coletando amostras do solo para trazer de volta à Terra para que os cientistas possam ver se houve alguma forma de vida anterior no planeta. Além disso, o rover envia de volta imagens aos cientistas, para que eles possam ajudar a navegar no rover e consertar quaisquer problemas que ele possa ter.
A ideia do nosso grupo para o nosso projeto é que o rover faça o mesmo que o rover da NASA que deixará a Terra em 2020, mas também para mapear a geografia da terra. O roomba seria capaz de sentir penhascos e parar a si mesmo antes de cair, e então voltar, virar e mudar seu curso para que não caia e seja danificado. Nossa outra ideia integrada em nosso projeto é que o roomba seja capaz de traçar os pontos de referência que vê e mostrar um gráfico cada vez que o loop for concluído e seu curso tiver sido executado.
Isso pode ser instruído para qualquer pessoa que queira criar o mesmo tipo de código para seu roomba.
Etapa 1: Etapa 1: Materiais necessários
Você vai precisar de:
- Um roomba
- MATLAB
- Este arquivo para executar o roomba
- Uma superfície plana
- Uma superfície de mesa para atuar como um "penhasco"
Etapa 2: Etapa 2: configurar / obter o código do Roomba
Sua tela ficará assim assim que você inserir os arquivos.
Etapa 3: Etapa 3: Configurar Sensores Cliff / Luzes LED
Esse código dirá ao roomba exatamente em que ângulo virar, verificará as informações da bateria, informará ao roomba a velocidade de deslocamento e verificará se há uma pessoa pela câmera do roomba. Ele também emitirá um bipe se identificar uma pessoa e parará antes de cair de um penhasco.
% try rob.setLEDDigits ('') x = 0; y = 0; teta = 0; obstáculo = ; ciclo = 1; AngCorr = @ (x) x + 3,059. * X. ^ 0,4205; % Função para corrigir ângulos de giro enquanto rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0,1)% Go% Verificar Pessoa se AA_checkperson (rob) rob.beep end% Verificar Sensor Penhasco se AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pausa (0,5) obstáculo (ciclo) = 2; AA_cliffbeep (rob)% Backup e giro rob.moveDistance (-. 15) rob.turnAngle (30) end
Etapa 4: Etapa 4: Verificação de obstáculos
Esse código fará com que o roomba verifique os itens ao seu redor e verificará o sensor de colisão para garantir que ele pare antes de se danificar.
% Verifique o sensor de luz se AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pausa (0,5) obstáculo (ciclo) = 1; % Wall AA_wallbeep (rob)% Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end% Verifique o sensor de colisão se AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0,5) obstáculo (ciclo) = 1; % Wall AA_wallbeep (rob)% Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end% Se nenhum se isempty (obstáculo) obstáculo (ciclo) = 0; elseif comprimento (obstáculo) <obstáculo do ciclo (ciclo) = 0; fim
Etapa 5: Etapa 5: Plotagem
Este código dirá ao seu roomba para traçar o que ele encontrará em sua jornada. Um enredo como este aparecerá depois que o roomba for interrompido.
% Obter posição d = rob.getDistance; se ciclo == 1 teta (ciclo) = 0; x (ciclo) = d. * cosd (teta (ciclo)); % distância total percorrida em x y (ciclo) = d. * sind (theta (ciclo)); % da distância total percorrida em y else theta (ciclo) = theta (ciclo-1) + rob.getAngle; x (ciclo) = d. * cosd (teta (ciclo)) + x (ciclo-1); % distância total percorrida em x y (ciclo) = d. * sind (theta (ciclo)). * d + y (ciclo-1); % distância total percorrida no final de y% Condição de quebra se rob.getButtons.clean break end% Ciclo de incremento de ciclo = ciclo + 1; fim rob.stop para i = 1: ciclo se obstáculo (i) == 1% Gráfico de parede (x (i), y (i), 'Marcador', 'quadrado', 'MarkerEdgeColor', 'r') outro obstáculo (i) == 2% Gráfico de penhasco (x (i), y (i), 'Marcador', 'o', 'MarkerEdgeColor', 'k') texto final (0,9, 0,9, sprintf ('Quadrado = Parede / nCircle = Cliff '),' Units ',' normalized ') manter no final% Sinal de socorro enquanto verdadeiro rob.beep pause (3) se rob.getButtons.clean break end end% catch% rob.stop% end
Recomendado:
Roomba controlado por MATLAB: 5 etapas
Roomba controlado por MATLAB: O objetivo deste projeto é utilizar o MATLAB, bem como um robô programável iRobot modificado. Nosso grupo combinou nossas habilidades de codificação para criar um script MATLAB que usa muitas funções do iRobot, incluindo os sensores de penhasco, sensores de pára-choques
Projeto Roomba: 5 etapas (com fotos)
Projeto Roomba: este instrutível foi criado em cumprimento ao requisito do projeto do Makecourse na University of South Florida (www.makecourse.com). Este instrutível cobrirá todas as etapas e componentes necessários para montar meu projeto Roomba
Do Roomba ao Rover em apenas 5 etapas !: 5 etapas
De Roomba a Rover em apenas 5 passos!: Os robôs Roomba são uma forma divertida e fácil de mergulhar no mundo da robótica. Neste Instructable, iremos detalhar como converter um Roomba simples em um rover controlável que analisa simultaneamente seus arredores.Lista de peças1.) MATLAB2.) Roomb
Roomba com MATLAB: 4 etapas (com fotos)
Roomba com MATLAB: Este projeto faz uso do MATLAB e de um robô programável iRobot Create2. Ao colocar nosso conhecimento do MATLAB à prova, somos capazes de programar o Create2 para interpretar imagens e detectar sinais. A funcionalidade do robô depende principalmente d
Gravador alimentado por USB! Este projeto pode queimar plásticos / madeira / papel (o projeto divertido também deve ser uma madeira muito fina): 3 etapas
Gravador alimentado por USB! Este projeto pode queimar através de plástico / madeira / papel (projeto divertido também deve ser madeira muito fina): NÃO FAÇA ISSO USANDO USB !!!! Eu descobri que isso pode danificar seu computador com todos os comentários. meu computador está bem tho. Use um carregador de telefone 600ma 5v. Eu usei isso e funciona bem e nada pode ser danificado se você usar um plugue de segurança para interromper a alimentação