RatBot ACTIVE
About
RatBot is an open, modular mobile robot platform for research and teaching, designed and built in the laboratory and released as open hardware: electronics, firmware, ROS 2 software and mechanics can all be studied, modified and reused. What it contributes is reproducibility — epistemic planning is validated almost entirely on synthetic domains, and a documented, buildable platform exposing a standard interface allows results obtained on it to be repeated, and contested, elsewhere. It is also the apparatus on which my own planners are put to the test: formal contributions remain formal objects until an agent instantiating them acts in the real world.
The robot is a differential-drive mobile base — two independently driven wheels and a castor — split across two computers with deliberately distinct constraints. A custom STM32H750 board handles the hard real-time layer under FreeRTOS: motor control, encoder reading, odometry, on a millisecond deadline. A Raspberry Pi 4 runs the high-level layer under ROS 2 Humble: mapping, navigation, networking. The two are bridged by micro-ROS over a 1 Mbaud serial link, so board data surfaces directly as ROS 2 topics and high-level load can never disturb the motor control loop.
Everything is reached through standard ROS 2 topics in a per-robot namespace, so a host project never has to compile RatBot's own packages — a prerequisite for multi-robot experiments. The platform supports SLAM mapping from lidar, autonomous navigation with nav2, autonomous exploration of unknown areas, fused wheel-and-IMU odometry, status feedback (RGB indicator, OLED screen, buzzers, battery and temperature monitoring), command arbitration by priority, global emergency stop and a firmware watchdog. A complete Gazebo simulation exposes the same topics as the real robot, so the whole stack can be developed and taught without hardware.
Designed at LISV (UVSQ / Paris-Saclay). Electronics under KiCad, two Sphinx documentation sets — one for users, one for the hardware, firmware and ROS 2 internals.
The robot is a differential-drive mobile base — two independently driven wheels and a castor — split across two computers with deliberately distinct constraints. A custom STM32H750 board handles the hard real-time layer under FreeRTOS: motor control, encoder reading, odometry, on a millisecond deadline. A Raspberry Pi 4 runs the high-level layer under ROS 2 Humble: mapping, navigation, networking. The two are bridged by micro-ROS over a 1 Mbaud serial link, so board data surfaces directly as ROS 2 topics and high-level load can never disturb the motor control loop.
Everything is reached through standard ROS 2 topics in a per-robot namespace, so a host project never has to compile RatBot's own packages — a prerequisite for multi-robot experiments. The platform supports SLAM mapping from lidar, autonomous navigation with nav2, autonomous exploration of unknown areas, fused wheel-and-IMU odometry, status feedback (RGB indicator, OLED screen, buzzers, battery and temperature monitoring), command arbitration by priority, global emergency stop and a firmware watchdog. A complete Gazebo simulation exposes the same topics as the real robot, so the whole stack can be developed and taught without hardware.
Designed at LISV (UVSQ / Paris-Saclay). Electronics under KiCad, two Sphinx documentation sets — one for users, one for the hardware, firmware and ROS 2 internals.