The robot which we need to use in my Advanced Software Development for Robotics course.
- differential-drive robot with two high-quality electromotors
- high-precision encoders on the motor axes
- right-handed orientation
Structure of the RELBot
The brain is a Raspberry Pi 4B which presents a RTOS (XRF2, Xenomai 4 real-time operating system extension). It is only one core which can run real-time threads. It’s usually core 1/3 (starting from 0). On the other 3 cores, we usually run ROS2 nodes (non RT). I guess it’s only capable of firm real-time?
| Relevant Parameter | Symbol | Value | Unit |
|---|---|---|---|
| Mass | 1.35 | kg | |
| Wheel diameter | 0.101 | m | |
| Gear ratio | 15.58 : 1 | ||
| Motor Constant | 39 | rad/s /V | |
| Encoder | 1024 | counts per turn | |
| Encoder | 4 | pulses per count | |
| Supply voltage (motors) | 12 | V |
CPS Structure
Software Overview
I guess both are self-explanatory.
Connection
ssh -X <id>@<addr>
Interfacing
If needed later, add the parameters and I/O from the manual. Also how to manipulate them.
Firm Real-Time using 20-sim and XRF2
The firm real-time software realizes the control laws, firm real-time safety, and drivers to/from the mechatronics parts, in order to control the mechatronics of the RELBot. So the simulator replaces that mechatronics part.
Always use the RELBot Adapter node, as that node checks the validity of the steering signals.