La définition que nous avons choisi pour un « robot » nécessite que l'appareil obtiennent des données sur son environnement, prenne une décision, et engage des mesures en conséquence. Cela n'exclut pas la possibilité d'un robot qui soit semi-autonome (ayant des aspects qui sont commandés par un être humain et d'autres répondant de son propre fait). Un bon exemple de cela est un robot sous-marin sophistiqué ; un être humain contrôle les mouvements de base du robot tandis qu'un processeur embarqué mesure et réagit aux courants sous-marins afin de garder le robot dans la même position sans dérive. Une caméra intégrée au robot envoie un signal vidéo de retour à l'humain, tandis que les capteurs embarqués peuvent suivre la température de l'eau, la pression et bien plus. Si le robot perd la communication avec la surface, un programme autonome peut entrer en action pour le ramener à la surface. Si vous voulez être en mesure d'envoyer et/ou de recevoir des commandes à partir de votre robot, vous devrez déterminer son niveau d'autonomie et si vous voulez qu'il soit filaire, sans fil ou entièrement autonome.
La meilleure façon de contrôler un véhicule est d'utiliser un contrôleur portatif connecté physiquement au véhicule à l'aide d'un câble (c'est à dire une longe). Des interrupteurs à bascule, boutons, leviers, manettes et boutons sur ce contrôleur permettent à l'utilisateur de contrôler le véhicule sans la nécessité d'intégrer de l'électronique complexe. Dans ce cas, les moteurs et une source d'alimentation peuvent être connectés directement à un commutateur afin de contrôler sa rotation vers l'avant/l'arrière. Ces véhicules n'ont généralement aucune intelligence et sont plus considérés en tant que « machines commandées à distance » que « robots ».
L'étape suivante consiste à incorporer un microcontrôleur dans le véhicule, mais à continuer à utiliser une longe. Raccorder le microcontrôleur à l'un des ports d'E/S de votre ordinateur (par exemple un port USB) vous permet de contrôler ses actions à l'aide d'un clavier (ou d'un pavé tactile), d'un joystick ou un d'autre périphérique. Ajouter un microcontrôleur à un projet peut également vous demander de programmer la façon dont le robot réagit à une entrée. Au lieu d'utiliser un ordinateur portable ou de bureau, les netbooks sont souvent un choix souhaitable en raison de leur faible prix, de leur petite taille et de leur faible poids.
Une variante relative au contrôle de l'ordinateur serait d'utiliser une interface Ethernet. Un robot qui est physiquement connecté à un routeur (afin qu'il puisse être commandé par l'intermédiaire de l'Internet) est également possible (mais pas très pratique) pour les robots mobiles. La mise en place d'un robot pouvant communiquer en utilisant l'Internet peut être assez complexe et, le plus souvent, une connexion WiFi (Internet sans fil) est préférable. Une combinaison avec et sans fil est également une option, dans ce cas un émetteur-récepteur (émission et réception) est physiquement connecté à l'Internet et des données reçues via l'Internet sans fil sont ensuite envoyées au robot.
Les émetteurs et récepteurs infrarouges suppriment les connexions par câble du robot à l'opérateur. C'est généralement une étape importante pour les débutants. Le contrôle par infrarouge nécessite une « ligne de vision » pour fonctionner ; le récepteur doit être capable de « voir » l'émetteur à tout moment afin de recevoir des données. Les contrôles à distance par infrarouge (tels que les télécommandes universelles pour téléviseurs) sont utilisés pour envoyer des commandes à un récepteur infrarouge connecté à un microcontrôleur qui interprète ensuite ces signaux et contrôle les actions du robot.
Disponibles dans le commerce, les unités de commande à distance (R/C) utilisent de petits microcontrôleurs dans l'émetteur et le récepteur pour envoyer, recevoir et interpréter les données envoyées via une fréquence radio (RF). Le boîtier récepteur dispose d'un PCB (circuit imprimé) qui intègre l'unité de réception et un petit contrôleur de servomoteur. La communication RF nécessite soit un émetteur adapté/jumelé avec un récepteur, soit un émetteur-récepteur (qui peut à la fois envoyer et recevoir des données). La RF ne nécessite pas de ligne de vision et peut également proposer une portée significative (distance de transmission). Les dispositifs standards de fréquence radio peuvent permettent le transfert de données entre des périphériques jusqu'à plusieurs kilomètres et il n'y a apparemment pas de limite à la portée pour les appareils de RF plus professionnels. Les modules XBee et Zigbee utilisent la RF pour la communication, mais permettent à l'utilisateur de faire varier bon nombre de paramètres de communication impliqués. Ces modules ont une empreinte spécifique (occupation) et ne sont produits que par certaines sociétés. Leur principal avantage est qu'ils fournissent un lien très robuste et facile à installer et prennent en charge tous les détails du protocole de communication. Beaucoup de constructeurs de robots choisissent de faire des robots semi-autonomes dotés d'une capacité RF car cela permet au robot d'être aussi autonomes que possible, de fournir de la rétroaction à un utilisateur et même de donner à l'utilisateur un certain contrôle sur certaines de leurs fonctions en cas de besoin.
Le Bluetooth est une forme de RF et respecte des protocoles spécifiques pour l'envoi et la réception de données. La portée Bluetooth normale est souvent limitée à environ 10 m, ce qui lui procure l'avantage de permettre aux utilisateurs de contrôler leur robot via des appareils Bluetooth tels que les téléphones cellulaires, les PDA et les ordinateurs portables (même si de la programmation personnalisée peut être nécessaire pour créer une interface). Tout comme la RF, le Bluetooth offre une communication bidirectionnelle.
Le WiFi est à présent une option pour les robots ; être capable de contrôler un robot sans fil via l'Internet présente des avantages importants (et quelques inconvénients) pour du contrôle sans fil. Afin de mettre en place un robot WiFi, vous avez besoin d'un routeur sans fil connecté à Internet et d'une unité WiFi sur le robot lui-même. Pour le robot, vous pouvez également utiliser un dispositif acceptant le TCP/IP avec un routeur sans fil.
Une autre technologie sans fil qui a été développée à l'origine pour une communication d'humain à humain, le téléphone cellulaire, est maintenant utilisé pour contrôler des robots. Étant donné que les fréquences cellulaires sont réglementées, incorporer un module cellulaire sur un robot nécessite généralement la patience nécessaire à l'ajout d'une programmation ainsi que la compréhension du système de réseau cellulaire et de ses règlementations.
L'étape suivante consiste à utiliser le microcontrôleur dans votre robot à son plein potentiel et de le programmer pour réagir aux données de ses capteurs. Un contrôle autonome peut se présenter sous différentes formes : pré-programmé avec aucune rétroaction de l'environnement, rétroaction limitée des capteurs et enfin rétroaction complexe des capteurs. Un vrai « contrôle autonome » implique un grand nombre de capteurs et du code pour permettre au robot de déterminer par lui-même la meilleure action à engager dans une situation donnée. Les méthodes les plus complexes de contrôle actuellement mises en œuvre sur des robots autonomes sont des commandes visuelles et auditives. Pour un contrôle visuel, un robot recherche un humain ou un objet afin d'obtenir ses commandes. Obtenir d'un robot qu'il tourne à gauche en lui montrant un morceau de papier avec une flèche pointant vers la gauche est beaucoup plus difficile à réaliser que l'on pourrait le soupçonner de prime abord. Une commande auditive telle que « tourne à gauche » exige aussi un peu de programmation. Programmer une série de commandes complexes telles que « va me chercher une boisson dans le réfrigérateur » ou « va chercher mes chaussures, elles sont près de la porte d'entrée » n'est plus du domaine de l'imaginaire, mais exige un très haut niveau de programmation, et beaucoup de temps.
Pour notre projet, l'objectif est de créer un rover autonome capable de prendre une décision basée sur des données externes provenant de capteurs. Si le robot « se conduit mal », il sera physiquement proche, et l'arrêter ne sera pas un problème. Cependant, avoir la possibilité d'un contrôle semi-autonome (sans fil) pour nous permettre de faire un véhicule télécommandé est également attrayant. Nous n'aurons pas la nécessité d'un contrôle filaire. Le microcontrôleur choisi dans la leçon précédente utilise ce que nous avons appelé des « blindages » qui sont essentiellement composés de cartes optionnelles spécifiques au brochage de l'Arduino. Il existe de nombreux blindages, y compris ceux qui permettent d'accéder aux communications Ethernet, Xbee, ou Bluetooth. Il existe même un blindage qui permet des communications GPRS (c'est à dire : cellulaires). Le robot de base ne devra donc pas disposer de modules supplémentaires, mais il est important de noter qu'il a la capacité de communication sans fil. Pour de plus amples informations concernant l'apprentissage de la construction d'un robot, veuillez consulter le Centre de formation de RobotShop. Consultez le Forum de la communauté RobotShop pour demander de l'aide dans la construction de robots, présenter vos projets ou simplement discuter avec d'autres collègues roboticiens.