Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | TODO: License declaration |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROS 1 & 2 repos based on Mini Pupper legged robots from MangDang |
Checkout URI | https://github.com/mangdangroboticsclub/mini_pupper_ros.git |
VCS Type | git |
VCS Version | ros2-dev |
Last Updated | 2025-06-30 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- mangdang
Authors
Introduction
The dance function was developed during one of the AWS re:Invent events in 2022. You can find the original code in the repository for more details.
In this main repository, we have recreated the “mini_pupper_dance” and “mini_pupper_music” packages based on the original code. The new code is written in Python and includes enhancements in the music service.
The main interface is described in the “mini_pupper_interfaces” package. For more details, please refer to the “DanceCommand.srv”, “PlayMusic.srv”, and “StopMusic.srv” files.
1. Install extra packages for playing music
sudo apt-get install ffmpeg portaudio19-dev -y
pip install pydub pyaudio
2. Quick Start
2.1 Mini Pupper
# Terminal 1 (ssh)
. ~/ros2_ws/install/setup.bash # setup.zsh if you use zsh instead of bash
ros2 launch mini_pupper_bringup bringup.launch.py
# Terminal 2 (ssh)
. ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_music music.launch.py
2.2 PC (Or Mini Pupper)
# Terminal 3 (ssh)
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_dance dance.launch.py
2.3 How to modify
mini_pupper_music If you want to add a new audio file, please place it in the “resource” folder of the package, alongside files like “robot1.mp3” and “robot1.wav”.
mini_pupper_dance This package includes the following Python scripts in the mini_pupper_dance/mini_pupper_dance folder:
- dance_client.py: The client reads and sends dance commands. It sends a service command to play music on the first dance command and sends another service command to stop music on the last dance command.
- dance_server.py: The server receives dance commands and executes them. You can add more dance functions in dance_server.py.
- pose_controller.py: A pose controller for Mini Pupper. You don’t need to modify this.
- episode.py: The dancing episode. You should edit your dancing episode here. You can also modify the music file name here.
Rebuild If you make any changes, you will need to rebuild the modified packages. After that, you can follow the “Quick Start” instructions again to make the robot dance.
3. New Dance
We recently migrated Stanford controller to the mini_pupper_ros
repo, enabling enhanced control and new features for Mini Pupper. This migration allows for smoother and more dynamic dance routines.
3.1 How to make Mini Pupper dance in the new way
Mini Pupper
# Terminal 1 (ssh)
. ~/ros2_ws/install/setup.bash # setup.zsh if you use zsh instead of bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py
PC (Or Mini Pupper)
# Terminal 2 (ssh)
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_dance new_dance.launch.py
3.2 How to modify
You can modify the file createDanceActionListSample.py in the new_dance folder to define new dance moves by editing or adding actions to the dance action list. Each action specifies a pose or movement for the robot, and modifying this file allows you to create custom dance routines. After making changes, rebuild the package to apply the updates.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
rclpy | |
geometry_msgs | |
mini_pupper_interfaces | |
ros2launch | |
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |