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.
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 robots.
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
Add Comment