Overview#
This repository provides all Python tools developed by the COGIP robotic team. The team is developing a robot for Eurobot, French robotic contest.
All the tools are used during the game itself, or for development, debugging and monitoring of the robot and other test platforms.
Robot Software Architecture#
The main components of the robot are:
- a STM32 that runs
mcu-firmware
, - a Raspberry Pi 4 that controls a camera, a touchscreen and a Lidar.
The robot is associated with a central beacon having an upper view of the game area, composed of a Raspberry Pi 4, a camera and a touchscreen.
Tools running on the robot's Raspberry Pi 4 are:
Server
connecting all components through a SocketIO server.Dashboard
a web server providing a dashboard to control and monitor the robot.Planner
in charge of the game strategy.Copilot
driving the robot moves by communicating withmcu-firmware
(on STM32) using Protobuf messages over a serial port.Detector
generating obstacles based on Lidar data.Robotcam
reading and analyzing images from the camera.
Tools running on the central beacon's Raspberry Pi 4 are:
Server Beacon
connecting all beacon components through a SocketIO server, and connected to the SocketIO server of all robots. It also runs a web server providing aDashboard
to control and monitor the robot.Dashboard Beacon
, a web server providing a dashboard to control and monitor the beacon, and display the dashboard of all robots.Beaconcam
reading and analyzing images of the game area from the camera.
Beacon services will be redesigned and are not yet available. Robots can run standalone.
Monitor
is running on a PC connected to the SocketIO server.
Camera
provides different commands to get information about cameras,
calibrate them and detect Aruco tags.
The touchscreens display the Dashboard
using an web browser embedded in the Raspberry Pi.
Emulation Software Architecture#
During development, an emulation environment is also available. In this case, all robot and beacon components are running on the development PC.
In this mode, fake Lidar data are provided by the Monitor
.