ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ROS2 Dashing service `get_entity_state` is missing

asked 2020-08-23 06:47:12 -0500

Lyubomyr gravatar image

I am using ROS2 Dashing. There, I launched the following commands:

1) gazebo --verbose world -s libgazebo_ros_factory.so

I got the following answer:

Gazebo multi-robot simulator, version 9.14.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
Gazebo multi-robot simulator, version 9.14.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 172.17.0.2
[INFO] [gazebo_ros_node]: ROS was initialized without arguments.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 172.17.0.2
[Wrn] [GuiIface.cc:119] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[Wrn] [Publisher.cc:185] Queue limit reached for topic /gazebo/default/user_camera/pose, deleting message. This warning is printed only once.

2) ros2 service call /spawn_entity 'gazebo_msgs/SpawnEntity' '{name: "urdf_ball", xml: "<?xml version=\"1.0\" ?><robot name=\"will_be_ignored\"><link name=\"link\"><visual><geometry><sphere radius=\"1.0\"/></geometry></visual><inertial><mass value=\"1\"/><inertia ixx=\"1\" ixy=\"0.0\" ixz=\"0.0\" iyy=\"1\" iyz=\"0.0\" izz=\"1\"/></inertial></link></robot>"}'

I copied it from gazebo_ros_pkgs.

I got the responce

response:
gazebo_msgs.srv.SpawnEntity_Response(success=True, status_message='SpawnEntity: Successfully spawned entity [urdf_ball]')

3) ros2 service list

And I received the following responce

/delete_entity
/gazebo/describe_parameters
/gazebo/get_parameter_types
/gazebo/get_parameters
/gazebo/list_parameters
/gazebo/set_parameters
/gazebo/set_parameters_atomically
/get_model_list
/hros_cognition_3f1e831f2728/describe_parameters
/hros_cognition_3f1e831f2728/get_parameter_types
/hros_cognition_3f1e831f2728/get_parameters
/hros_cognition_3f1e831f2728/list_parameters
/hros_cognition_3f1e831f2728/set_parameters
/hros_cognition_3f1e831f2728/set_parameters_atomically
/launch_ros/describe_parameters
/launch_ros/get_parameter_types
/launch_ros/get_parameters
/launch_ros/list_parameters
/launch_ros/set_parameters
/launch_ros/set_parameters_atomically
/robot_state_publisher/describe_parameters
/robot_state_publisher/get_parameter_types
/robot_state_publisher/get_parameters
/robot_state_publisher/list_parameters
/robot_state_publisher/set_parameters
/robot_state_publisher/set_parameters_atomically
/spawn_entity

4) Next I want to do but can not do the following

ros2 service call / get_entity_state gazebo_msgs/GetEntityState '{name: urdf_ball, reference_frame: world}'

My question is: Why the service get_entity_state is missing?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2020-08-31 17:29:21 -0500

The get_entity_state service is provided by the libgazebo_ros_state.so plugin. Did you load that?

Here's an example on how to load it from your SDF world.

There isn't a way to load that plugin from a launch file yet, see this issue.

Here's more information on entity states on Gazebo + ROS 2.

edit flag offensive delete link more

Comments

Thank you!

Lyubomyr gravatar image Lyubomyr  ( 2020-09-02 16:47:02 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2020-08-23 06:47:12 -0500

Seen: 1,181 times

Last updated: Aug 31 '20