This repository contains three ROS 2 packages designed for the Hunter platform: hunter_pltf_bringup
, hunter_pltf_description
, and hunter_pltf_gazebo
. These packages facilitate bringing up the robot, providing its description, and simulating it in Gazebo.
This repository provides essential tools for working with the Hunter platform, enabling:
- Robot bring-up with ROS 2.
- Viewing and managing the robot's description.
- Simulating the robot in Gazebo with physics and environment interactions.
These packages use the ROS 2 launch system to manage nodes and configurations. This repository is dependent of hunter_robot repository.
Description: This package is responsible for bringing up the Hunter platform, including controllers and robot state publishers.
Features:
- Declares launch arguments for various configurations, such as simulation time, PID gains, and RViz.
- Includes robot description and controllers.
- Uses nodes like
controller_manager
androbot_state_publisher
.
Key Launch Arguments:
gui
: Launch RViz2 GUI (default:true
)use_mock_hardware
: Use mock hardware (default:true
)kp_v
,kd_v
: Linear velocity PID gains (default:40.0
,0.1
)kp_w
,kd_w
: Angular velocity PID gains (default:35.0
,0.1
)
Description: Provides the URDF description of the Hunter platform using xacro
files.
Features:
- Parses the URDF from
hunter_pltf.urdf.xacro
. - Publishes the robot state with
robot_state_publisher
. - Optionally launches RViz and Joint State Publisher GUI.
Key Launch Arguments:
use_sim_time
: Use simulation time (default:false
)gui
: Launch RViz2 and Joint State Publisher GUI (default:true
)
Description: Enables simulation of the Hunter platform in Gazebo.
Features:
- Integrates with Gazebo for robot simulation.
- Loads the robot description and spawns the entity in Gazebo.
- Supports custom world files and simulation time.
- Includes controllers such as
joint_state_broadcaster
andackermann_like_controller
.
Key Launch Arguments:
use_sim_time
: Use simulation time (default:true
)world_path
: Path to the Gazebo world file (default:empty_world.world
)x_pose
,y_pose
,roll
,pitch
,yaw
: Initial robot pose in Gazebo (default:0.0
,0.0
,0.0
,0.0
,1.45
)
- ROS 2 Humble (or compatible version)
- Gazebo (for simulation)
- Python 3.8 or higher
- Clone this repository into your ROS 2 workspace:
cd ~/ros2_ws/src https://github.com/LCAS/hunter_platform.git
- Install dependencies:
rosdep update rosdep install --from-paths . --ignore-src -r -y
- Build the workspace:
cd ~/ros2_ws colcon build source install/setup.bash
To bring up the Hunter platform:
ros2 launch hunter_pltf_bringup hunter_pltf_bringup.launch.py
To view the robot's description in RViz:
ros2 launch hunter_pltf_description pltf_rsp.launch.py gui:=true
To simulate the robot in Gazebo:
ros2 launch hunter_pltf_gazebo launch_sim.launch.py
This repository is licensed under the Apache License.
Contributions are welcome! Please fork the repository and submit a pull request.
For any issues or questions, please open an issue on the repository.