A workspace containing a modular humanoid robot Dropbear with full Gazebo simulation support and control system.
- Modular Design: Separate packages for each robot component (head, torso, arms, legs, pelvis, battery)
- Gazebo Simulation: Full 3D simulation with physics and visualization
- ROS 2 Control: Integrated control system with multiple controllers for different robot parts
- Stewart Platform Head: Advanced 6-DOF head control system
- Complete URDF/Xacro: Detailed robot description with materials and meshes
dropbear_gazebo/
├── dropbear_granular_urdf/ # Main robot description package
│ ├── launch/ # Launch files for simulation
│ ├── urdf/ # Robot description files (Xacro/URDF)
│ ├── meshes/ # 3D mesh files organized by component
│ ├── config/ # Controller configurations
│ └── rviz/ # RViz configuration files
├── battery/ # Battery component package
├── head/ # Head component package
├── pelvis/ # Pelvic girdle component package
├── right_arm/ # Right arm component package
├── right_leg/ # Right leg component package
└── torso/ # Torso component package
- ROS 2 (Humble or later recommended)
- Gazebo (with ROS 2 integration)
- colcon build system
- xacro package
- gazebo_ros2_control package
# Install ROS 2 (if not already installed)
# Follow instructions at: https://docs.ros.org/en/humble/Installation.html
# Install required packages
sudo apt update
sudo apt install ros-humble-gazebo-ros2-control ros-humble-xacro ros-humble-robot-state-publisher
# Install colcon (if not already installed)
sudo apt install python3-colcon-common-extensions-
Clone the repository:
git clone <repository-url> cd dropbear_gazebo
-
Build the workspace:
colcon build
-
Source the workspace:
source install/setup.bash
# Launch the complete robot in Gazebo
ros2 launch dropbear_granular_urdf hyperspawn_dropbear_gazebo.launch.py# Launch RViz for robot visualization (without Gazebo)
ros2 launch dropbear_granular_urdf hyperspawn_dropbear_display.launch.pyThe robot includes the following controllers:
- Head: Stewart platform slider controller (6-DOF)
- Arms:
- Hand controllers (position control)
- Elbow controllers (effort control)
- Legs:
- Hip joint controllers
- Knee controllers
- Foot controllers
- Pelvis: Waist joint controller
- Battery: Power management system
Once the simulation is running, you can control the robot using standard ROS 2 control interfaces:
# List available controllers
ros2 control list_controllers
# Send commands to specific controllers
ros2 topic pub /stewart_slider_controller/commands std_msgs/msg/Float64MultiArray "data: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]"Controller parameters are defined in dropbear_granular_urdf/config/controllers.yaml. You can modify:
- Update rates
- Joint limits
- Control gains
- Controller types
The main robot description is in dropbear_granular_urdf/urdf/dropbear.urdf.xacro. This file includes:
- Component macros for each robot part
- Joint configurations
- Material definitions
- ROS 2 control integration
- Gazebo not starting: Ensure Gazebo is properly installed with ROS 2 integration
- Missing meshes: All mesh files are included in the repository
- Controller errors: Check that
gazebo_ros2_controlis installed - Build errors: Ensure all ROS 2 dependencies are installed
# Check robot description
ros2 topic echo /robot_description
# View joint states
ros2 topic echo /joint_states
# Check controller status
ros2 control list_controllersThis project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For technical support and questions:
- Hyperspawn.co
- GitHub Issues
- Discord
- TG
- Docs
- Gallery
- Buy Robot
- Web-Simulator
- Contact the maintainer: Priyanshupareek ([email protected])
Note: This is a simulation package. For real robot deployment, additional safety considerations and hardware-specific configurations may be required.