// the find
Ekumen-OS/andino
Open-source diff drive robot ROS 2 compatible
Andino is a small differential-drive robot platform built on a Raspberry Pi 4B and an Arduino-based microcontroller, aimed at teaching and low-cost experiments. This repo holds the ROS 2 side for Humble and Jazzy: a ros2_control hardware interface, bringup launch files, the URDF, SLAM and Nav2 configs, and the MCU firmware. It suits someone who wants a physical robot they can read end to end, not a simulator-only exercise.
andino_base implements a ros2_control hardware interface and leaves odometry and wheel kinematics to the stock diff_drive_controller and joint_state_broadcaster. That is the right split: the custom code is the thin layer you would have to replace to move the stack to a different base. The firmware is its own PlatformIO project with unit tests for the PID, shell, encoder and motor drivers, plus a separate CI workflow, so the MCU side can be checked without the robot attached. Humble and Jazzy both get launch files and Nav2 and slam_toolbox parameter sets, and the install paths cover a source build via rosdep, apt binaries, and an external Ansible configuration. The assembly is documented with step photos and printable chassis STLs, which makes the hardware side something you can reproduce.
The simulation story is spread across six other repositories. The README recommends andino_gz, but nothing in this repo runs a simulated robot, and the Gazebo, Webots, O3DE, Isaac and MuJoCo list is a set of links with no stated ROS version or maintenance status for each. The top-level README is mostly links and media, and the hardware detail (assembly, wiring, joystick setup) sits one hop away in andino_hardware, so a newcomer moves between three READMEs before the robot moves. Platform support is narrow: Humble on Ubuntu 22.04 and Jazzy on 24.04, with only the Pi 4B named as the target, so anyone on another distro, another board, or a newer ROS release has to port the bringup and Nav2 parameters without the README saying what changes. For a robotics project the adoption signals are thin: 337 stars, no status badges, no visible test or CI results in the README, and support pointed at a Discord and Discussions board. Check the issue tracker before committing to it.