Package Summary
| Tags | No category tags. |
| Version | 0.1.12 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robotics-in-concert/concert_services.git |
| VCS Type | git |
| VCS Version | indigo |
| Last Updated | 2015-07-08 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
Package Description
Additional Links
Maintainers
- Daniel Stonier
- Piyush Khandelwal
Authors
- Daniel Stonier
- Piyush Khandelwal
Using the Concert Framework with Gazebo (the short short version)
There is some code that is robot-agnostic. All that code is in this package in the GazeboRobotManager Module
GazeboRobotManager
- Creates concert clients for each robot
- Flips necessary information to that robot's concert client, so that it can pretend to be a real robot.
Unfortunately, a lot of code depends on the robot that you are going to simulate. For each robot, you'll have to implement a module specific to that robot. An abstract module detailing this API is RobotManager
RobotManager
- Specifies how to spawn the robot in Gazebo
- Specifies how to delete the robot in Gazebo
- Specifies which information needs to be flipped over. If you're doing teleop, cmd_vel is sufficient. If you want to do full navigation, you'll have to supply tf,map,sensory information and odometry as well.
- Specifies how each concert client for these simulated robots should be created.
Some other things to consider
- The concert solution and all subsequent concert clients need to be started with /use_sim_time set to true.
- Since all robots are being simulated on a single master, the tf tree needs tobe properly namespaced for each robot. Furthermore, applications run by this spawned concert clients need to use this namespaced tf tree.
Robot configuration Parameter
robots:
- name: guimul
type: kobuki
robot_rapp_whitelist: [rocon_apps, concert_service_gazebo]
location: [0.0, 0.0, 0.0]
- name: gamza
type: turtlebot
robot_rapp_whitelist: [rocon_apps, concert_service_gazebo]
location: [0.0, -2.0, 3.14159265359]
- name: doldol
type: segbot
robot_rapp_whitelist: [rocon_apps, concert_service_gazebo]
location: [0.0, 4.0, 0.0]
types:
- name: kobuki
launch: concert_service_gazebo/kobuki.launch
flip_rule:
pub:
- odom
sub:
- mobile_base/.*
- name: turtlebot
launch: concert_service_gazebo/turtlebot.launch
flip_rule:
pub:
- odom
- camera/.*
sub:
- cmd_vel_mux/.*
- name: segbot
launch: concert_service_gazebo/segbot.launch
flip_rule:
pub:
- odom
- scan_filtered
sub:
- cmd_vel
world_file: concert_service_gazebo/empty_world.world
An example
Take a look at the concert_tutorials/gazebo_concert demo in the rocon_tutorials repository.
- Install Rocon:
wstool init . https://raw.githubusercontent.com/robotics-in-concert/rocon_demos/gazebo_concert/gazebo_solution.rosinstall
- Run the demo:
> roslaunch gazebo_solution concert.launch --screen
> rocon_remocon # Teleop..
> roslaunch office_sim_solution concert.launch --screen
> rocon_remocon # Teleop..
Could not convert RST to MD: No such file or directory - pandoc
Wiki Tutorials
Source Tutorials
Package Dependencies
| Deps | Name | |
|---|---|---|
| 1 | catkin | |
| 1 | gateway_msgs | |
| 1 | rocon_std_msgs | |
| 1 | rocon_console | |
| 1 | rocon_gateway_utils | |
| 1 | rocon_launch | |
| 1 | rocon_python_utils | |
| 2 | rospy | |
| 1 | roslib | |
| 1 | kobuki_gazebo | |
| 1 | turtlebot_gazebo |
System Dependencies
Dependant Packages
| Name | Repo | Deps |
|---|---|---|
| concert_services | github-robotics-in-concert-concert_services |
Launch files
- launch/robot.launch
- Launches the infrastructure running on a robot.
-
- robot_name [default: robot]
- robot_type [default: pc]
- robot_rapp_whitelist [default: []]
- robot_concert_whitelist [default: []]
- services/gazebo_robot_world/gazebo_robot_world.launch
-
- use_sim_time [default: true]
- world [default: gazebo]
- debug [default: false]
- robots/turtlebot/turtlebot.launch
-
- name
- loc_x
- loc_y
- loc_z
- loc_roll
- loc_pitch
- loc_yaw
- world_namespace
- base_prefix [default: mobile_base]
- base [default: kobuki]
- stacks [default: hexagons]
- 3d_sensor [default: kinect]
- urdf_file [default: $(find xacro)/xacro.py '$(find turtlebot_description)/robots/$(arg base)_$(arg stacks)_$(arg 3d_sensor).urdf.xacro']
- robots/kobuki/kobuki.launch
-
- name
- loc_x
- loc_y
- loc_z
- loc_roll
- loc_pitch
- loc_yaw
- world_namespace
- use_full_gazebo_model [default: true]
- base_prefix [default: mobile_base]
- robots/segbot/segbot.launch
-
- name
- loc_x
- loc_y
- loc_z
- loc_roll
- loc_pitch
- loc_yaw
- world_namespace
- robot_name [default: $(arg name)]
- use_full_gazebo_model [default: true]
- urdf_file [default: $(find segbot_description)/robots/segbot_hokuyo.urdf.xacro]
Messages
Services
Plugins
Recent questions tagged concert_service_gazebo at answers.ros.org
|
concert_service_gazebo package from concert_services repoconcert_service_admin concert_service_gazebo concert_service_indoor_2d_map_prep concert_service_teleop concert_service_turtlesim concert_service_waypoint_navigation concert_services |
Package Summary
| Tags | No category tags. |
| Version | 0.1.6 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robotics-in-concert/concert_services.git |
| VCS Type | git |
| VCS Version | hydro-devel |
| Last Updated | 2015-01-04 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
Package Description
Additional Links
Maintainers
- Daniel Stonier
- Piyush Khandelwal
Authors
- Daniel Stonier
- Piyush Khandelwal
Using the Concert Framework with Gazebo (the short short version)
There is some code that is robot-agnostic. All that code is in this package in the GazeboRobotManager Module
GazeboRobotManager
- Creates concert clients for each robot
- Flips necessary information to that robot's concert client, so that it can pretend to be a real robot.
Unfortunately, a lot of code depends on the robot that you are going to simulate. For each robot, you'll have to implement a module specific to that robot. An abstract module detailing this API is RobotManager
RobotManager
- Specifies how to spawn the robot in Gazebo
- Specifies how to delete the robot in Gazebo
- Specifies which information needs to be flipped over. If you're doing teleop, cmd_vel is sufficient. If you want to do full navigation, you'll have to supply tf,map,sensory information and odometry as well.
- Specifies how each concert client for these simulated robots should be created.
Some other things to consider
- The concert solution and all subsequent concert clients need to be started with /use_sim_time set to true.
- Since all robots are being simulated on a single master, the tf tree needs tobe properly namespaced for each robot. Furthermore, applications run by this spawned concert clients need to use this namespaced tf tree.
Robot configuration Parameter
robots:
- name: guimul
type: kobuki
robot_rapp_whitelist: [rocon_apps, concert_service_gazebo]
location: [0.0, 0.0, 0.0]
- name: gamza
type: turtlebot
robot_rapp_whitelist: [rocon_apps, concert_service_gazebo]
location: [0.0, -2.0, 3.14159265359]
- name: doldol
type: segbot
robot_rapp_whitelist: [rocon_apps, concert_service_gazebo]
location: [0.0, 4.0, 0.0]
types:
- name: kobuki
launch: concert_service_gazebo/kobuki.launch
flip_rule:
pub:
- odom
sub:
- mobile_base/.*
- name: turtlebot
launch: concert_service_gazebo/turtlebot.launch
flip_rule:
pub:
- odom
- camera/.*
sub:
- cmd_vel_mux/.*
- name: segbot
launch: concert_service_gazebo/segbot.launch
flip_rule:
pub:
- odom
- scan_filtered
sub:
- cmd_vel
world_file: concert_service_gazebo/empty_world.world
An example
Take a look at the gazebo_solution demo.
- Install Rocon:
wstool init . https://raw.githubusercontent.com/robotics-in-concert/rocon_demos/gazebo_concert/gazebo_solution.rosinstall
- Run the demo:
> roslaunch gazebo_solution concert.launch --screen
> rocon_remocon # Teleop..
> roslaunch office_sim_solution concert.launch --screen
> rocon_remocon # Teleop..
Could not convert RST to MD: No such file or directory - pandoc
Wiki Tutorials
Source Tutorials
Package Dependencies
| Deps | Name | |
|---|---|---|
| 1 | catkin | |
| 1 | gateway_msgs | |
| 1 | rocon_std_msgs | |
| 1 | rocon_console | |
| 1 | rocon_gateway_utils | |
| 1 | rocon_launch | |
| 1 | rocon_python_utils | |
| 2 | rospy | |
| 1 | roslib | |
| 1 | kobuki_gazebo | |
| 1 | turtlebot_gazebo |
System Dependencies
Dependant Packages
Launch files
- launch/robot.launch
- Launches the infrastructure running on a robot.
-
- robot_name [default: robot]
- robot_type [default: pc]
- robot_rapp_whitelist [default: []]
- robot_concert_whitelist [default: []]
- services/gazebo_robot_world/gazebo_robot_world.launch
-
- use_sim_time [default: true]
- gui [default: true]
- world [default: gazebo]
- debug [default: false]
- robots/turtlebot/turtlebot.launch
-
- name
- loc_x
- loc_y
- loc_z
- loc_roll
- loc_pitch
- loc_yaw
- world_namespace
- base_prefix [default: mobile_base]
- base [default: kobuki]
- stacks [default: hexagons]
- 3d_sensor [default: kinect]
- urdf_file [default: $(find xacro)/xacro.py '$(find turtlebot_description)/robots/$(arg base)_$(arg stacks)_$(arg 3d_sensor).urdf.xacro']
- robots/kobuki/kobuki.launch
-
- name
- loc_x
- loc_y
- loc_z
- loc_roll
- loc_pitch
- loc_yaw
- world_namespace
- use_full_gazebo_model [default: true]
- base_prefix [default: mobile_base]
- robots/segbot/segbot.launch
-
- name
- loc_x
- loc_y
- loc_z
- loc_roll
- loc_pitch
- loc_yaw
- world_namespace
- robot_name [default: $(arg name)]
- use_full_gazebo_model [default: true]
- urdf_file [default: $(find segbot_description)/robots/segbot_hokuyo.urdf.xacro]