No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.1
License Apache-2.0
Build type AMENT_CMAKE
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-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Mini Pupper Fleet package

Additional Links

No additional links.

Maintainers

  • kishan

Authors

No additional authors.

Mini Pupper Fleet Control System

This ROS 2 package enables multi-robot operation for a group of Mini Pupper 2 robots, with centralized command distribution and individual robot pose estimation.

The system combines fleet-level command coordination, IMU-based Extended Kalman Filter (EKF) pose estimation with attitude correction, and individual robot behaviour control to enable scalable multi-robot deployments.

Fleet Demo

Features

  • Centralized Fleet Control with /cmd_vel to distributed robot commands
  • SE(3) Extended Kalman Filter for robust pose estimation with IMU attitude correction
  • Individual Robot Behaviour with heading control and velocity regulation
  • Scalable Architecture supporting 1 to N robots with namespace isolation
  • Real-time Control at 66.7 Hz with configurable parameters

Quick Start

Multi-Robot Fleet - 3 robot example

Robot Terminals (SSH to each robot individually):

# Robot 1 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot1

# Robot 2 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot2

# Robot 3 SSH Terminal
source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_bringup bringup_with_stanford_controller.launch.py multi_robot:=true robot_namespace:=robot3

Host PC Terminal 1 - Fleet Controller:

source ~/ros2_ws/install/setup.bash
ros2 launch mini_pupper_fleet fleet_controller.launch.py robot_count:=3

Host PC Terminal 2 - Teleop:

source ~/ros2_ws/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard

Total Terminal Count: 5 terminals (3 robot SSH + 2 host PC)

This scales to any number of Mini Puppers: run the Stanford bringup on an SSH terminal for each robot, then pass the number of robots you wish to control to the fleet controller.

If you want a Mini Pupper to be independent of the fleet, the fleet controller creates nodes for namespaces robot1..robotN (based on robot_count). Give any independent robot a namespace greater than N (e.g., robot4 or higher when robot_count:=3).

Complete Node Hierarchy

After launching, the system hierarchy looks like:

Host PC:
├── fleet_controller_node (global)
├── robot1/imu_ekf_node
├── robot1/robot_behaviour_node
├── robot2/imu_ekf_node  
├── robot2/robot_behaviour_node
├── robot3/imu_ekf_node
├── robot3/robot_behaviour_node
└── teleop_twist_keyboard (global)

Robot 1:
└── robot1/ (Stanford Controller)

Robot 2:  
└── robot2/ (Stanford Controller)

Robot 3:
└── robot3/ (Stanford Controller)


Architecture Overview

A simple hierarchy separates fleet-level coordination from per-robot control:

Global Command Input (/cmd_vel)
            v
Fleet Controller (no namespace)
            v
/fleet_command
            v
robot1/: imu_ekf_node + robot_behaviour_node -> robot_command
robot2/: imu_ekf_node + robot_behaviour_node -> robot_command
robot3/: imu_ekf_node + robot_behaviour_node -> robot_command

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mini_pupper_fleet at Robotics Stack Exchange