![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro humble. Known supported distros are highlighted in the buttons above.
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro kilted. Known supported distros are highlighted in the buttons above.
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress sim_wayp_plan_tools |
Repository Summary
Description | Gazebo Fortress ROS 2 simulation for the waypoint and planner tools |
Checkout URI | https://github.com/jkk-research/sim_wayp_plan_tools.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-03-01 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | gazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
sim_wayp_plan_tools | 0.0.0 |
README
ROS 2 sim_wayp_plan_tools
package
Gazebo Fortress ROS 2 simulation for the waypoint and planner tools.
Requirements
- ROS 2 Humble: docs.ros.org/en/humble/Installation.html
- Gazebo Fortress: gazebosim.org/docs/fortress/install_ubuntu, read more about integration: gazebosim.org/docs/fortress/ros2_integration
-
ros-gz-bridge
install with a single command:sudo apt install ros-humble-ros-gz-bridge
Packages and build
It is assumed that the workspace is ~/ros2_ws/
.
Clone the packages
cd ~/ros2_ws/src && \
git clone https://github.com/jkk-research/wayp_plan_tools && \
git clone https://github.com/jkk-research/sim_wayp_plan_tools
Build ROS 2 packages
cd ~/ros2_ws
colcon build --packages-select wayp_plan_tools sim_wayp_plan_tools --symlink-install
Usage of wayp_plan_tools
as a simulation
1. Start the simulation
ign gazebo -v 4 -r ackermann_steering.sdf
2. Start the Gazebo bridge
Don’t forget to source
before ROS commands.
source ~/ros2_ws/install/local_setup.bash
ros2 launch sim_wayp_plan_tools gazebo_bridge.launch.py
In the background this launch
file starts nodes similar to:
ros2 run ros_gz_bridge parameter_bridge /world/ackermann_steering/pose/info@geometry_msgs/msg/PoseArray[ignition.msgs.Pose_V
ros2 run ros_gz_bridge parameter_bridge /model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]ignition.msgs.Twist
ros2 run ros_gz_bridge parameter_bridge /model/vehicle_blue/odometry@nav_msgs/msg/Odometry[ignition.msgs.Odometry --ros-args -r /model/vehicle_blue/odometry:=/odom
More about the bridge here: github.com/gazebosim/ros_gz/blob/ros2/ros_gz_bridge/README.md
Also this launch
creates /tf
from the PoseArray
with pose_arr_to_tf
.
Optional: teleoperation via keyboard
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/model/vehicle_blue/cmd_vel
3. Load waypoints
Use you ROS 2 workspace as file_dir
:
ros2 run wayp_plan_tools waypoint_loader --ros-args -p file_name:=sim_waypoints1.csv -p file_dir:=$HOME/ros2_ws/src/sim_wayp_plan_tools/csv -r __ns:=/sim1
Or simply with default parameters:
ros2 launch sim_wayp_plan_tools waypoint_loader.launch.py
4. Waypoint to target
ros2 run wayp_plan_tools waypoint_to_target --ros-args -p lookahead_min:=2.5 -p lookahead_max:=4.5 -p mps_alpha:=1.5 -p mps_beta:=3.5 -p waypoint_topic:=waypointarray -p tf_frame_id:=base_link -p tf_child_frame_id:=map -r __ns:=/sim1
Or simply with default parameters:
ros2 launch sim_wayp_plan_tools waypoint_to_target.launch.py
5. Start a control
There are some options:
-
single_goal_pursuit
: Pure pursuit (for vehicles / robots), a simple cross-track error method -
multiple_goal_pursuit
: Multiple goal pursuit for vehicles / robots an implementation of our paper -
stanley_control
: Stanley controller, a heading error + cross-track error method -
follow_the_carrot
: Follow-the-carrot, the simplest controller
This is a pure pursuit example:
File truncated at 100 lines see the full file
CONTRIBUTING
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro galactic. Known supported distros are highlighted in the buttons above.
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro iron. Known supported distros are highlighted in the buttons above.
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro melodic. Known supported distros are highlighted in the buttons above.
![]() |
sim_wayp_plan_tools repositorygazebo fortress ros2 humble sze ignition-gazebo szenergy ros2-humble gazebo-fortress |
No version for distro noetic. Known supported distros are highlighted in the buttons above.