Repo symbol

mini_pupper_ros repository

Repo symbol

mini_pupper_ros repository

Repo symbol

mini_pupper_ros repository

Repo symbol

mini_pupper_ros repository

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 (-)

README

ROS2 VERSION   Ubuntu VERSION   LICENSE   Twitter URL

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

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:

check_ROS_DOMAIN_ID.png

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

  1. Create an issue or post on Discord defining your intended contribution
  2. Create a fork
    • For more information about the fork-and-pull model, see the GitHub Docs.
  3. Write code
  4. Create a pull request
    • Fill the template
    • For more information about the fork-and-pull model, see the GitHub Docs.
  5. 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.

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

# 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](https://www.contributor-covenant.org/), a widely used [code of conduct](./CODE_OF_CONDUCT.md) adopted by many other communities such as Linux, Autoware, GitLab. ## Communication First, please read through our [code of conduct](./CODE_OF_CONDUCT.md), 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](https://github.com/mangdangroboticsclub/mini_pupper_ros/issues) or [Discord](https://discord.gg/xJdt3dHBVw) 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 1. [Create an issue](https://github.com/mangdangroboticsclub/mini_pupper_ros/issues) or [post on Discord](https://discord.gg/xJdt3dHBVw) defining your intended contribution 2. Create a fork * For more information about the fork-and-pull model, see the [GitHub Docs](https://docs.github.com/en/get-started/quickstart/contributing-to-projects?tool=webui&platform=linux). 3. Write code 4. Create a pull request * Fill the template * For more information about the fork-and-pull model, see the [GitHub Docs](https://docs.github.com/en/get-started/quickstart/contributing-to-projects?tool=webui&platform=linux). 5. 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. ### 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: ```sh 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](https://docs.github.com/en/get-started/quickstart/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](https://docs.ros.org/en/humble/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) 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. ```sh ament_flake8 ament_pep257 ``` To check C++ code style, run the following command in the ROS workspace. ```sh 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. ```sh 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](https://github.com/mangdangroboticsclub/mini_pupper_ros/tree/ros2-dev/CONTRIBUTING.md)
Repo symbol

mini_pupper_ros repository

Repo symbol

mini_pupper_ros repository

Repo symbol

mini_pupper_ros repository

Repo symbol

mini_pupper_ros repository