Tip |
---|
L’objectif de cette page est de donner un bref aperçu de ce dont est fait un robot de la Compétition de Robotique CRC. |
Info |
---|
Psst… Vous voulez voir des exemples de robot? Allez voir notre page Facebook pour les photos de compétitions antérieures et notre chaîne Youtube pour les vidéos Highlights! |
Anatomie d’un robot
Généralement, qu’il soit fait par NASA, ACME ou Degrassi High School, un robot se compose:
D’un cerveau, qui contrôle les actions du robot
De circuits électriques, qui alimentent les composants en ayant besoin
De mécanismes, qui bougent le robot et lui permettent d’interagir avec le monde physique
D’un châssis, qui tient toutes les autres parties ensemble.
Circuits électriques
Pour comprendre comment le CrcDuino (cerveau du robot) fonctionne, regardons d’abord les composants électriques du circuit de puissance 12V et du circuit de contrôle 5V, qui sont les deux grandes parties du circuit électrique:
Circuit de puissance (12V)
Batterie: alimente le robot
Fusible: protège le robot de dégâts liés à des court-circuits
Arrêt-d’Urgence: éteint le robot complètement si nécessaire
Fils de puissance: fils plus épais (utilisant des courants plus haut) reliant les composants de puissance
Moteurs de puissance: bougent de gros mécanismes
Circuit de contrôle (5V)
Servos de type standard: bougent de petits mécanismes en atteignant une position angulaire
Servos de type continu: bougent de petits mécanismes en tournant sans restriction
Capteurs: mesurent des données précises
Fils de contrôle: fils plus minces (utilisant des courants plus bas) reliant les composants de contrôle
What does a robot brain do?
Robot sensors and remote controller: gathering information
Just like a human body with its senses, a robot needs to figure out what’s going on around it. It needs brain inputs: sensors and the remote controller.
Robot sensors
They measure something and feedbacks that measurement to the brain. They are part of the 5V control circuit.
There are 2 main sensor types:
Sensor type
Measured phenomenon
Popular sensor type examples
Digital
Binary (YES or NO)
Limit switches, buttons, hall effect, motor encoder*
Analog
Ranging (between a high a low limit)
Ultrasonic (distance), reflectance (line tracker)
But there are three ways for sensors to feedback its measurement to be brain:
Communication medium
Used by
Feedbacks to the brain
Occurrence in CRC
Digital electrical signal
Digital sensors
5V or GND
Common
Analog electrical signal
Analog sensors
0 to 7.5V
Less common
Communication protocol
Analog & dig. sensors
A coded signal
Rare
Limit switch
Button
Ultrasonic distance sensor
*Motor encoders are a type of sensor that uses a set of 2 “flashing” digital electrical signal to measure the angular displacement of a motor shaft. Signals are sent so fast that they need to be read by a special type of brain input called “interrupt-capable digital input”.
Remote controller
It’s a way for a human to directly interact with the robot: It sends the state of its button (pressed or not pressed - a digital signal) and its joystick (an x-axis and y-axis position - an analog signal) to the brain over a wireless link provided by a CrcConnect module. Some robots are not externally controlled: they are called autonomous robotsQu’est-ce que fait un cerveau de robot?
Capteurs et télécommande du robot: cueillette d’information
Tout comme un humain avec ses cinq sens, un robot doit déterminer ce qui se passe autour de lui. Il requiert des entrées cerveau venant des capteurs et de la télécommande.
Capteurs robot
Faisant partie du circuit de contrôle 5V, ils mesurent un type de données précis et envoient l’information au cerveau du robot.
Il existe deux types principaux de capteurs:
Type de capteur | Phénomène mesuré | Exemples de capteurs fréquents |
---|---|---|
Numérique | Binaire (OUI or NON) | Interrupteurs de position, boutons, à effet de Hall, encodeurs de moteur* |
Analogique | Continu dans une plage (entre une limite haute et une limite basse) | Ultrasonique (distance), réflectance (couleur/lumière) |
Mais il y a trois façons pour ces capteurs d’envoyer leurs données au cerveau:
Moyen de communication | Utilisé par | Forme envoyée au cerveau | Fréquence dans la CRC |
---|---|---|---|
Signal électrique numérique | Capteurs numériques | 5V ou GND | Communs |
Signal électrique analogique | Capteurs analogiques | 0 à 7.5V | Moins communs |
Protocole de communication | Capteurs numériques et analogiques | Signal codé | Rares |
Interrupteur de position
Bouton
Capteur de distance ultrasonique
*Un encodeur de moteur est un type de capteur qui utilise un ensemble de deux signaux électriques numériques clignotants pour mesurer le déplacement angulaire de l’axe d’un moteur. Ces signaux sont envoyés si rapidement qu’ils doivent être lus par un type spécial d’entrée cerveau appelé entrée numérique capable d'interruption.
Télécommande
C’est une manière pour un humain d’interagir directement avec un robot: elle envoie l'état de ses boutons (enfoncé ou non - un signal numérique) et de ses joysticks (positions des axes x et y - un signal analogique) au cerveau par une connexion sans fil établie par le module CrcConnect. Certains robots ne sont pas contrôlés de manière externe: on les appelle des robots autonomes.
Robot program: deciding what to do
The robot program is a set of code lines that is executed by the brain. These lines of code are written into a .ino
file using a computer software called Arduino IDE, and then uploaded into the robot brain from the computer. Once powered up, the brain executes these lines sequentially and repeatedly ad vitam aeternam.
The robot brain is called a CrcDuino: it is a custom Arduino board designed by Crc Robotics that is very similar to the standard Arduino Mega2560 board. Arduino is a very popular ecosystem of electronics board meant for rapid prototyping.
The lines of code must respect a certain syntax to be understood by the brain. The syntax used is called the C/C++ programming language. The robot program uses functions to perform tasks. There are three types of functions that can be used:
CrcLib functions, written by CRC Robotics especially for the CrcDuino and detailed in this wiki
Native Arduino functions (also called Arduino programming language), written by the Arduino collective.
Custom functions, written by yourself in the
.ino
file, if needed
Robot motors and servos: executing the decisions
Just like a human body with its muscles, a robot needs to interact with its surroundings. It needs brain outputs: 12V motors, 5V servos and other actuators. An actuator is a device that moves a mechanism.
12V motors
They are made of a fast rotating electrical motor coupled with a gearbox. Since they run on 12V power current coming from the main battery, but the robot brain only delivers 5V control signals, they need a motor controller to be able to run.
A motor controller is a “PWM device” and requires two wires to be connected to the robot brain: a PWM
signal wire and a GND
wire.
5V servos
Servos are small rotating actuators that are divided in two categories:
Standard type servos: Their rotation is bounded to a minimum and a maximum angle (usually 0° to 180°), and the signal sends to them represents the angle were we want it to position itself.
Continuous type servos: Their rotation is not bounded. Instead of an angular position, the signal sent to them represents the desired rotation speed and direction.
Both servo types are “PWM devices” and requires three wires to be connected to the robot brain: a PWM
signal wire, a 5V
supply wire and a GND
wire.
Other actuators
Other actuators can be used on a robot like electromagnets, LEDs, lights, buzzers, etc. These are ON-OFF actuators, meaning that they are activated when a 5V voltage supply is fed to them, and not activated when no voltage is given to them.
These other actuators are “ON-OFF devices” and require two wires to be connected to the robot brain: a SIG
wire providing either 5V or 0V and a GND
wire