pmb2_multi package from pmb2_simulation repopmb2_gazebo pmb2_multi pmb2_simulation |
|
Package Summary
Tags | No category tags. |
Version | 2.0.24 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/pal-robotics/pmb2_simulation.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-10-17 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Adrià Roig
Authors
Multiple PMB2 simulation
This project contains several launch files to simulate multiple PMB2 robots in a single Gazebo environment.
The environment
In order to have multiple PMB2 robots coexisting in the same environment some modifications need to be done. All the nodes belonging to a specific robot are pushed into its own namespace. In addition its tf tree is prepended with the same name as a tf_prefix.
This generates a single tf tree that has a map root, and then, for each robot, a classic robot/map -> robot/odom -> robot/base_footprint tree, were robot is this robot’s tf_prefix.
Launchfiles
The launch files in this package allow you to: launch a PMB2 in a specific namespace (with or without navigation), with its tf tree prefixed with the provided namespace; launch a key_teleop node on a specific namespace; and finally an example with two PMB2 robots in the pal office environment (with or without navigation).
teleop_PMB2.launch
Utility launch that runs a key_teleop node in the namespace provided in the robot parameter.
launch_PMB2.launch & launch_PMB2_navigation.launch
Those are the main launch files of this package. The launch files contain all the required arguments to launch a new PMB2 in its own namespace, adding the model to gazebo, launching its controllers and, in case, launch its navigation stack. The launch file has three mandatory parameters:
- robot_name Namespace to which this robot’s nodes will be pushed (its tf tree will use the same name as the tf_prefix).
- x_pose X coordinate of the initial pose of the robot on the map.
- y_pose Y coordinate of the initial pose of the robot on the map. It is important to make sure that the different robots start at different coordinates of the map to avoid overlapping.
In addition the following parameters may be modified:
- robot Model of robot to be instantiated (either steel or titanium, for gripper or hand respectively). Default: steel.
- world Gazebo world that will be used. Default: small_office.
- map Map file for amcl. Default: ~/.pal/PMB2_maps/configurations/small_office
- public_sim Set to true when using the public version of the PMB2 simulation. This parameter should not be changed.
For the navigation launch, in addition, the following parameters may be modified:
- planner Planner for the navigation. Default: base (move_base planner).
- global_planner Global navigation planner. Default: global_planner.
- local_planner Local navigation planner. Default: eband (eband_planner).
- localization Localizacion stack. Default: amcl.
multiPMB2_gazebo.launch & multiPMB2_gazebo.launch
Those launch files launches two default PMB2 robots in a pal_office environment. They may be used as an example on how to build your specific multi-robot launch.
Changelog for package pmb2_multi
2.0.24 (2021-01-13)
2.0.23 (2020-07-30)
- Merge branch 'rename_tf_prefix' into 'erbium-devel' Rename tf_prefix to robot_namespace See merge request robots/pmb2_simulation!30
- Rename tf_prefix to robot_namespace
- Contributors: davidfernandez, victor
2.0.22 (2020-04-14)
2.0.21 (2020-04-03)
2.0.20 (2020-03-19)
- Merge branch 'use-tf2-static-pub' into 'erbium-devel' Use tf2 static pub, which publishes to /tf_static See merge request robots/pmb2_simulation!26
- Use tf2 static pub, which publishes to /tf_static
- Contributors: Victor Lopez, victor
2.0.19 (2019-10-22)
- Merge branch 'removed-relay' into 'erbium-devel' removed map relay See merge request robots/pmb2_simulation!24
- removed map relay
- Contributors: Procópio Stein, Victor Lopez
2.0.18 (2019-10-14)
- Merge branch 'refactoring' into 'erbium-devel' removed public launches in favor of using public_sim flag See merge request robots/pmb2_simulation!23
- removed public launches in favor of using public_sim flag
- Contributors: Procópio Stein, Victor Lopez
2.0.17 (2019-10-10)
2.0.16 (2019-10-10)
2.0.15 (2019-10-10)
2.0.14 (2019-09-25)
2.0.13 (2019-09-23)
2.0.12 (2019-08-14)
- Merge branch 'add-robot-pose' into 'erbium-devel' Add robot pose to navigation.launch See merge request robots/pmb2_simulation!18
- Add robot pose to navigation.launch
- Contributors: Victor Lopez
2.0.11 (2019-08-01)
- Merge branch 'multi_pmb2' into 'erbium-devel' Changes for multi pmb2 simulation See merge request robots/pmb2_simulation!17
- Select local planner according public sim
- Fix parameters in multi pmb2 simulation
- Modify default parameters
- Changes for multi pmb2 simulation
- Contributors: Adria Roig, Victor Lopez
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
pmb2_gazebo |
System Dependencies
Dependant Packages
Launch files
- launch/launch_pmb2.launch
-
- robot_name
- x_pose
- y_pose
- laser_model [default: sick-571]
- rgbd_sensors [default: false]
- world [default: small_office]
- map [default: $(env HOME)/.pal/pmb2_maps/configurations/$(arg world)]
- public_sim [default: false]
- simple_sim_model [default: false]
- gzpose [default: -x $(arg x_pose) -y $(arg y_pose) -z 0.0 -R 0.0 -P 0.0 -Y 0.0]
- simple_sim_model [default: $(arg simple_sim_model)]
- launch/launch_pmb2_navigation.launch
-
- robot_name
- x_pose
- y_pose
- laser_model [default: sick-571]
- rgbd_sensors [default: false]
- world [default: small_office]
- planner [default: base]
- global_planner [default: global_planner]
- localization [default: amcl]
- map [default: $(env HOME)/.pal/pmb2_maps/configurations/$(arg world)]
- octomap [default: false]
- public_sim [default: false]
- simple_sim_model [default: false]
- local_planner [default: $(eval 'teb' if arg('public_sim') else 'pal')]
- gzpose [default: -x $(arg x_pose) -y $(arg y_pose) -z 0.0 -R 0.0 -P 0.0 -Y 0.0]
- simple_sim_model [default: $(arg simple_sim_model)]
- launch/multipmb2_gazebo_navigation.launch
-
- world [default: pal_office]
- laser_model [default: sick-571]
- rgbd_sensors [default: false]
- gui [default: true]
- debug [default: false]
- public_sim [default: false]
- map [default: $(find pmb2_multi)/config/map]
- simple_sim_model [default: false]
- launch/multipmb2_gazebo.launch
-
- world [default: pal_office]
- laser_model [default: sick-571]
- rgbd_sensors [default: false]
- gui [default: true]
- debug [default: false]
- public_sim [default: false]
- map [default: $(find pmb2_multi)/config/map]
- recording [default: false]
- extra_gazebo_args [default: ]
- simple_sim_model [default: false]
- launch/teleop_pmb2.launch
-
- robot [default: ]