Rules 2019: » ATOM FACTORY »
Mechanical
The main robot mainly dealt with atom reservoirs with 3 3-axis arms on lifts in position. he climbed the slope to deposit 2 bluenium and 1 greenium. At last he was going to deposit the atoms in the ascelerator.
At the rear of the robot a system of looting of the accelerator adversse was planned but was not used during the competition
The secondary robot had 2 arms with 2 suckers at each end (see variant microb 2009) and at the back another arm to take the Goldenium and a bluenium it deposited in the balance.
Electronic/Embedded software
This year, our robots were equipped with these boards :
- Robot 1 :
- (x1) NanoPI M2A
- (x2) PLVL board
- (x1) Motor board
- (x1) power board 12V for LEDs
- (x1) power board 5V for the NanoPI M2A
- Robot 2 :
- (x1) NanoPI M2A
- (x2) PLVL board
- (x1) power board 12V for LEDs
- (x1) power board 5V for the NanoPI M2A
- (x1) Logitech c270
NanoPI M2A
This board from FriendlyARM is based on a S5P4418 with 1GB of RAM.
You can find all information of it here.
FriendlyARM provides several Linux images to use it quickly, but you can also make your own distribution with Yocto.
We uses this board for the strategy and high level avoidance management. LCD connected to this board was used to display score for each robots.
Nano M2A board uses I2C Bus to communicate with other boards.
NanoPI M2A board from FriendlyARM
Now, first :p
PLVL board
Based on a uC Dspic33E from Microchip, one of this PLVL board is dedicated for the moving management (called every 5ms) and for the low level objects avoidance (6 US and 4 IR).
Second PLVL board is used to control servo-motor, motors (two elevators for the robot 1), sensors, encoders, etc.
PLVL board uses I2C Bus to communicate with other boards.
plvl board v2
Motor board
This board manages up to 8 motors, because we use lot of motors in our robots 😀
Two elevators and vacuums were connected to this board.
Motor board uses I2C Bus to communicate with other boards.
motor board
Camera Logitech c270
Second year that we use a camera. This year, it was to detect color of atoms. We used OpenCV, HSV format, shape and color detection. We added a big led because on real table there is lot of light, it’s a fight between our led and lights of the area to control the camera exposition.
camera point of view (3 examples of acquisition)
Experience
The experience was triggered with a signal from the main robot via the wifi network. The invaders climbed with a motor gripping a belt with a pulley.
Software
Nucleus
It’s an home made solution to help us to develop (and debug^^) our robots. It’s a server/client solution, with shell to control I/O, moving manager, motors, etc… of plvl and motor boards, from Mac or PC.
Note : there is no link with the Nucleus OS.
Next software are based on this solution.
Nucleus Server
It’s the kernel of Nucleus, which forward informations to the good client.
There is a status window, and a shell windows.
Interface of Nucleus Server
AversiveConfigurator
To set easily parameters of the moving manager, we have a GUI which can read current parameters of boards and write new parameters. We don’t need to reflash uC between each tests.
Main window of AversiveConfigurator
Some graphical data (live)
StrategyManagerGUI
Our robots are able to choose strategy dynamically, according several parameters : priority, time of the match, score, tasks dependency, etc…
Of course, a GUI to validate it!
interface to validate this system
LidarGui
For LIDARs (compatible with TIM from Sick and RPLIDAR from… RPLIDAR), we have an application to check calculation of objects position.
LidarGUI interface