New ROS 2 Features for Mini Pupper 2

New ROS 2 Features - Mini Pupper 2

Hello everyone,

I’m Kishan Grewal, a Robotics and AI student at University College London (UCL). Over the summer, I interned at MangDang in Hong Kong, where I extended the ROS 2 software stack for the Mini Pupper 2 quadruped robot.

My work broadened the Mini Pupper 2’s ROS 2 ecosystem with additional packages that work across different hardware configurations. Depending on your setup, you can now explore person tracking, autonomous navigation, or multi-robot coordination - all through ROS 2.

Vision-Based Tracking

I developed a tracking node that performs real-time person detection and tracking using a YOLO11n ONNX model with multi-object detection and IMU feedback for stable control.

If you have a Mini Pupper 2 with a compatible Pi camera, this package lets the robot visually follow a person while maintaining orientation. The system includes a lightweight Flask web interface and RViz visualization.

Demo - Vision Tracking

Code - mini_pupper_tracking package

Multi-Robot Fleet Coordination

I created a fleet package that uses ROS 2 namespacing and synchronised state estimation to enable cooperative motion, shared heading control, and distributed communication.

So if you have access to multiple Mini Pupper 2 robots, try out coordinated multi-robot teleoperation.

Demo - Fleet Coordination

Code - mini_pupper_fleet package

Navigation and SLAM

If you’ve fitted your Mini Pupper 2 with a LiDAR sensor, the navigation stack now allows you to use SLAM Toolbox and Nav2 to perform reliable map-based localization and path planning. The configuration is currently tuned for table-area navigation but can be altered for other environments.

This setup enables a Mini Pupper 2 with LiDAR to perform autonomous indoor navigation and mapping.

Demo - Navigation and SLAM

Code - mini_pupper_navigation package

All of these developments have been pushed upstream to the MangDang Robotics Club ROS repository and are available for anyone to explore with their own Mini Pupper 2.

I’d be happy to discuss implementation details or hear from others experimenting with ROS 2 on small quadruped platforms.

Best regards,

Kishan Grewal

GitHub | LinkedIn

6 Likes

Great jobs! :+1:

ros2.slam.nav

1 Like

Forgot to add these!

Here’s the link to the repository, with support for ROS 2 Humble and Ubuntu 22.04:
mini_pupper_ros repo

And here are some gifs to showcase the three main packages I added/worked on.

Navigation and SLAM (nav2, slam_toolbox):
mini_pupper_navigation_480_12
YOLO Person Tracking (rclpy)
mini_pupper_tracking_480_15
EKF-based Fleet Movement (rclcpp)
mini_pupper_fleet_480_15_resized

1 Like

If you want to try on your mini pupper 2, you can download the pre-built image, thanks!

1 Like

This looks awesome! Will there ever be any Mini Pupper 2 packages released compatible with newer ROS2/Ubuntu versions?