Table des matières:
- Étape 1: Étape 1: Matériel nécessaire
- Étape 2: Étape 2: Configuration/obtention du code pour Roomba
- Étape 3: Étape 3: Configuration des capteurs Cliff/lumières LED
- Étape 4: Étape 4: Vérification des obstacles
- Étape 5: Étape 5: Tracer
Vidéo: Projet Roomba MATLAB : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Le plan actuel de la NASA pour le rover martien est qu'il soit un collecteur de données et qu'il se déplace autour de Mars, collectant des échantillons de sol à ramener sur Terre afin que les scientifiques puissent voir s'il y avait eu des formes de vie antérieures sur la planète. De plus, le rover renvoie des images aux scientifiques, afin qu'ils puissent aider à naviguer dans le rover et résoudre les problèmes qu'il pourrait avoir.
L'idée de notre groupe pour notre projet est que le rover fasse la même chose que le rover de la NASA qui quittera la terre en 2020, mais qu'il cartographie également la géographie du territoire. Le roomba serait capable de détecter les falaises et de s'arrêter avant de tomber, puis de reculer, de tourner et de changer de cap afin qu'il ne tombe pas et ne soit pas endommagé. Notre autre idée intégrée à notre projet est que le roomba puisse tracer les points de repère qu'il voit, et montrer un tracé à chaque fois que la boucle est terminée et que son parcours a été effectué.
Cette instructable est pour toute autre personne qui souhaite créer le même type de code pour leur roomba.
Étape 1: Étape 1: Matériel nécessaire
Tu auras besoin de:
- Un roomba
- MATLAB
- Ce fichier pour exécuter le roomba
- Une surface plane
- Une surface de table pour faire office de "falaise"
Étape 2: Étape 2: Configuration/obtention du code pour Roomba
Votre écran ressemblera à ceci une fois que vous aurez saisi les fichiers.
Étape 3: Étape 3: Configuration des capteurs Cliff/lumières LED
Ce code indiquera à votre roomba exactement quel angle tourner, vérifiera les informations sur la batterie, indiquera à votre roomba à quelle vitesse aller et vérifiera la présence d'une personne via la caméra du roomba. Il émettra également un bip s'il identifie une personne et s'arrêtera avant de descendre d'une falaise.
% essayez rob.setLEDDigits('') x=0; y=0; thêta=0; obstacle = ; cycle = 1; AngCorr = @(x)x + 3.059.*x.^0.4205; %Fonction pour corriger les angles de virage pendant que rob.getBatteryInfo.percent > 15 rob.setLEDDigits('') rob.setDriveVelocity(0.1) %Go %Check For Person if AA_checkperson(rob) rob.beep end %Check Cliff Sensor if AA_cliffcheck(rob) rob.stop rob.setLEDDigits('falaise') pause(0,5) obstacle(cycle) = 2; AA_cliffbeep(rob) % Sauvegarder et tourner rob.moveDistance(-.15) rob.turnAngle(30) end
Étape 4: Étape 4: Vérification des obstacles
Ce code permettra au roomba de vérifier les objets qui l'entourent et vérifiera le capteur de choc pour s'assurer qu'il s'arrête avant de s'endommager.
% Vérifier le capteur de lumière si AA_lightcheck(rob) rob.stop rob.setLEDDigits('Mur') pause(0,5) obstacle(cycle) = 1; %Wall AA_wallbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) end %Check Bump Sensor if AA_bumpcheck(rob) rob.stop rob.setLEDDigits('Wall') pause(0.5) obstacle(cycle) = 1; %Wall AA_wallbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) end %Si aucun si est vide(obstacle) obstacle(cycle) = 0; elseif longueur(obstacle) < cycle obstacle(cycle) = 0; finir
Étape 5: Étape 5: Tracer
Ce code indiquera à votre roomba de tracer ce qu'il rencontre au cours de son voyage. Un tracé comme celui-ci apparaîtra après l'arrêt du roomba.
%Obtenir la position d = rob.getDistance; si cycle == 1 thêta(cycle) = 0; x(cycle) = d.*cosd(thêta(cycle)); % distance totale parcourue en x y(cycle) = d.*sind(theta(cycle)); % de la distance totale parcourue dans y else theta(cycle) = theta(cycle-1) + rob.getAngle; x(cycle) = d.*cosd(thêta(cycle)) + x(cycle-1); % distance totale parcourue en x y(cycle) = d.*sind(theta(cycle)).*d + y(cycle-1); % distance totale parcourue en fin y % Condition de rupture si rob.getButtons.clean fin de rupture %Incrément cycle cycle = cycle + 1; end rob.stop for i = 1:cycle if obstacle(i) == 1 %Wall plot(x(i), y(i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif obstacle (i) == 2 %Cliff plot(x(i), y(i), 'Marker', 'o', 'MarkerEdgeColor', 'k') end text(.9, 0.9, sprintf('Square = Wall \nCircle = Cliff'), 'Units', 'normalized') hold on end %Distress Signal while true rob.beep pause(3) if rob.getButtons.clean break end end % catch % rob.stop % end
Conseillé:
Linefollower HoGent - Projet de synthèse : 8 étapes
Linefollower HoGent - Syntheseproject: Voor het vak syntheseproject kregen we de opdracht een linefollower te maken. Dans deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
Roomba contrôlé par MATLAB : 5 étapes
MATLAB Controlled Roomba : L'objectif de ce projet est d'utiliser MATLAB ainsi qu'un robot programmable iRobot modifié. Notre groupe a combiné nos compétences en codage afin de créer un script MATLAB qui utilise de nombreuses fonctions de l'iRobot, notamment les capteurs de falaise, le capteur de pare-chocs
Projet Roomba : 5 étapes (avec photos)
Projet Roomba : Cette instructable a été créée pour répondre aux exigences du projet Makecourse à l'Université de Floride du Sud (www.makecourse.com). Cette instructable couvrira toutes les étapes et composants nécessaires pour assembler mon projet Roomba
Roomba avec MATLAB : 4 étapes (avec photos)
Roomba With MATLAB : Ce projet utilise MATLAB et un robot programmable iRobot Create2. En mettant notre connaissance de MATLAB à l'épreuve, nous sommes en mesure de programmer le Create2 pour interpréter les images et détecter les signaux. La fonctionnalité du robot dépend principalement de la
Graveur alimenté par USB ! Ce projet peut brûler à travers les plastiques/bois/papier (le projet amusant doit également être du bois très fin) : 3 étapes
Graveur alimenté par USB ! Ce projet peut brûler à travers du plastique/du bois/du papier (le projet amusant doit également être du bois très fin) : NE PAS FAIRE CELA EN UTILISANT UN USB !!!! J'ai découvert qu'il peut endommager votre ordinateur à partir de tous les commentaires. mon ordinateur va bien. Utilisez un chargeur de téléphone 600ma 5v. Je l'ai utilisé et cela fonctionne bien et rien ne peut être endommagé si vous utilisez une prise de sécurité pour arrêter l'alimentation