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-07-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
mini_pupper_bringup | 0.1.0 |
mini_pupper_dance | 0.0.0 |
mini_pupper_description | 0.2.0 |
mini_pupper_driver | 0.0.1 |
mini_pupper_interfaces | 0.0.0 |
mini_pupper_music | 1.0.0 |
mini_pupper_navigation | 0.1.0 |
mini_pupper_recognition | 0.0.1 |
mini_pupper_simulation | 1.0.0 |
mini_pupper_slam | 1.0.0 |
mini_pupper_tracking | 0.0.0 |
stanford_controller | 1.0.0 |
README
Mini Pupper ROS 2 Humble
Make sure the bsp package is installed to your pupper before installing this repositiory if you are not using a pre-built image to install this repository. Please refer to bsp for mini pupper 2 or bsp for mini pupper according to your model.
For a more detailed guide, please refer to our online documentation.
Supported Software versions
- Ubuntu 22.04 + ROS 2 Humble
Supported Hardware versions
- Mini Pupper: ( ROS pre-built image here )
- Mini Pupper 2: ( ROS pre-built image here ).
1. Installation
Please note that the setup of PC and the mini pupper is separated
- To control Mini Pupper, “1.1 Mini Pupper Setup” is required.
- To use Gazebo simulator, “1.2 PC Setup” is required.
- To control Mini Pupper using visualize tools, “1.1 PC Setup” and “1.2 Mini Pupper Setup” is required.
- To use Gazebo simulator or control Mini Pupper using joystick, “1.4 Joystick Setup” is required.
1.1 Mini Pupper Setup
Mini Pupper Setup corresponds to the Raspberry Pi on your Mini Pupper.
Ubuntu 22.04 is required.
Before installation, you need to install the BSP(board support package) repo for your Mini Pupper 2 or Mini Pupper.
After installing the driver software, install ROS 2 Humble is required, if the installation is unsuccessful, repeat the steps to install the package again.
cd ~
git clone https://github.com/mangdangroboticsclub/mini_pupper_ros.git -b ros2-dev mini_pupper_ros
cd mini_pupper_ros
./pupper_install.sh
Reference(Just for reference, don’t need to do it again.):
installation document for ROS Humble or
unofficial ROS 2 installation script
1.2 PC Setup
PC Setup corresponds to PC (your desktop or laptop PC) for controlling Mini Pupper remotely or execute simulator, if the installation is unsuccessful, repeat the steps to install the package again.
Do not apply these PC Setup commands to your Raspberry Pi on Mini Pupper.
Ubuntu 22.04 + ROS 2 Humble is required.
cd ~
git clone https://github.com/mangdangroboticsclub/mini_pupper_ros.git -b ros2-dev mini_pupper_ros
cd mini_pupper_ros
./pc_install.sh
Reference(Just for reference, don’t need to do it again.):
installation document for ROS Humble or
unofficial ROS 2 installation script
1.3 Connecting Mini Pupper to PC
The mini pupper is assumed to be automatically connected to the PC under same internet environment, but to make sure the mini pupper is connected to the PC, we can check their ROS domain ID (which can be defined by user and is 0 in default cases) according to the following steps:
# Terminal 1 (ssh to real mini pupper)
export | grep "ROS_DOMAIN_ID"
# Terminal 2 (on PC)
export | grep "ROS_DOMAIN_ID"
Compare the output and check if they are the same in both terminals:
Example output:
If the ID are different in both terminal or there is no output of the above commnand, you will have to set the ROS_DOMAIN_ID to the same number using the following command (which number is used does not matter):
File truncated at 100 lines see the full file
CONTRIBUTING
How to Contribute
Thank you for your interest and time spent contributing!
We welcome contributions from everyone, and to ensure our community stays open and healthy
we adhere to the Contributor Covenant, a widely
used code of conduct adopted by many other communities such as
Linux, Autoware, GitLab.
Communication
First, please read through our code of conduct, as we expect all our contributors to follow it.
Second, before starting on a project that you intend to contribute to any of our
projects, we strongly recommend posting on the repository’s
Issues page or
Discord and
briefly outlining the changes you plan to make.
This will enable us to provide
some context that may be helpful for you. This could range from advice and
feedback on how to optimally perform your changes or reasons for not doing it.
Contribution Workflow
- Create an issue or post on Discord defining your intended contribution
- Create a fork
- For more information about the fork-and-pull model, see the GitHub Docs.
- Write code
- Create a pull request
- Fill the template
- For more information about the fork-and-pull model, see the GitHub Docs.
- Finish a pull request
- In order for a pull request to be merged to mini_pupper_ros, it must meet the following criteria:
- All discussions on the pull request must be resolved.
- All items of the pull request checklist are checked off.
- CI jobs for the pull request must have passed successfully.
- In order for a pull request to be merged to mini_pupper_ros, it must meet the following criteria:
Pull Requests
For Pull Requests, please target the ros2
branch for any ROS 2 contributions,
and the ros1
branch for any ROS 1 contributions.
To contribute, please check out the ros2
branch, and then create your feature
branch from there:
git checkout ros2 # start with the ros2 branch
git pull origin ros2 # pull remote repo changes
git checkout your-feature-branch # create your feature branch
Then when you submit a Pull Request, please select the ros2
branch to request
to merge your commits.
If you are interested in understanding this development style a bit further, we follow the GitHub Flow model of branching.
Guildlines for Development
License
mini_pupper_ros is licensed under the Apache 2.0 License, and thus all contributions will be licensed as such as per clause 5 of the Apache 2.0 License:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Code Style
We follow the ROS code style guidelines as closely as possible. Please ensure that any new contributions are compatible with C++17 and Python3.x.
To check Python code style, run the following command in the ROS workspace.
ament_flake8
ament_pep257
To check C++ code style, run the following command in the ROS workspace.
ament_clang_format --reformat
ament_uncrustify --reformat
ament_cpplint
After checking all styles, run the following command to test the ROS package configuration in the ROS workspace.
colcon test --packages-select-regex "mini_pupper*"
colcon test-result --verbose # confirm this shows "0 errors, 0 failures, 0 skipped"
File truncated at 100 lines see the full file