This repository contains the URDF description and Gazebo simulation for the Hunter V2 robot. The Hunter V2 is an Ackermann-steered mobile robot with front-wheel steering, simulated using ROS 2 control.
Official Robot Website: AgileX Hunter V2B
- Ackermann Steering: Configured for front-wheel steering with accurate kinematics.
- ROS 2 Control Integration: Leverages
ros2_control
for simulating robot kinematics and dynamics. - URDF Description: Detailed robot description based on manufacturer specifications.
- Gazebo Simulation: Visualize and simulate the Hunter V2 robot in Gazebo.
- Rviz Support: Visualize the robot and interact with its joints using Rviz.
Ensure you have a ROS 2 workspace set up. If not, create one:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build
- Clone this repository into your ROS 2 workspace:
cd ~/ros2_ws/src git clone https://github.com/LCAS/hunter_robot.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
This repository includes the following ROS 2 packages:
hunter_description
: URDF and robot description files.hunter_gazebo
: Simulation environment for the Hunter V2 in Gazebo.
To view the robot model and interact with its joints in Rviz:
ros2 launch hunter_description robot_view.launch.py
This launch file starts Rviz and loads the Hunter V2 model.
hunter_rviz.webm
To load the Hunter V2 in a Gazebo simulation environment:
ros2 launch hunter_gazebo launch_sim.launch.py
hunter_gazebo.webm
You can control the Hunter V2 using the teleop_twist_keyboard
package. First, ensure the simulation is running, then execute:
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=/ackermann_like_controller/cmd_vel
Use the keyboard inputs to move the robot in the simulation.
The main configuration of the robot controller is available here
The primary robot parameters, such as mass, wheel size, and turning angles, are derived from the manufacturer's specifications and the following reference repository:
This project is licensed under the Apache License. See the LICENSE file for details.
For more details on ROS 2 Control and Gazebo integration, see:
- ros2_controllers
- gazebo_ros2_control
- Getting Started with ros2_control
- ros2controlcli Documentation
- gazebo_ros2_control User Guide
- Video Tutorial