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

Sets up the gazebo robot manager as a service to assist in spawning/killing robots as concert clients.

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

Example 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..

CHANGELOG

Could not convert RST to MD: No such file or directory - pandoc

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged concert_service_gazebo at answers.ros.org

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

Sets up the gazebo robot manager as a service to assist in spawning/killing robots as concert clients.

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

Example 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..

CHANGELOG

Could not convert RST to MD: No such file or directory - pandoc

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged concert_service_gazebo at answers.ros.org