jsk-ros-pkg / jsk_robot

jsk-ros-pkg/jsk_robot
https://github.com/jsk-ros-pkg/jsk_robot
73 stars 97 forks source link

[Fetch] Add jsk_fetch_user.rosinstall.noetic to avoid moveit_msgs error #1800

Open tkmtnt7000 opened 1 year ago

tkmtnt7000 commented 1 year ago

Without this PR, the following error occurs at client users' noetic PC. ros-planning/moveit_msgs format changes between melodic and noetic.

[ERROR] [1684468275.276098137]: Client [/move_group] wants topic /planning_scene_world to have datatype/md5sum [moveit_msgs/PlanningSceneWorld/373d88390d1db385335639f687723ee6], but our version has [moveit_msgs/PlanningSceneWorld/79457311445f53d410ab4e3781de8447]. Dropping connection.
k-okada commented 1 year ago

Who publishes the planning_scene_world topic ? The message says /move_group subscribes that topic and I suppose /move_group running on melodic(robot).

◉ Kei Okada

2023年5月19日(金) 13:45 Naoto Tsukamoto @.***>:

Without this PR, the following error occurs at client users' noetic PC. ros-planning/moveit_msgs format changes between melodic and noetic.

[ERROR] [1684468275.276098137]: Client [/move_group] wants topic /planning_scene_world to have datatype/md5sum [moveit_msgs/PlanningSceneWorld/373d88390d1db385335639f687723ee6], but our version has [moveit_msgs/PlanningSceneWorld/79457311445f53d410ab4e3781de8447]. Dropping connection.


You can view, comment on, or merge this pull request online at:

https://github.com/jsk-ros-pkg/jsk_robot/pull/1800 Commit Summary

File Changes

(1 file https://github.com/jsk-ros-pkg/jsk_robot/pull/1800/files)

Patch Links:

— Reply to this email directly, view it on GitHub https://github.com/jsk-ros-pkg/jsk_robot/pull/1800, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADYNXAXVIARX7QMBFSTY5TXG33HXANCNFSM6AAAAAAYHJDZOA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

tkmtnt7000 commented 1 year ago

Sorry for late.

I suppose /move_group running on melodic(robot).

Yes, /move_group runs on melodic robot.

Who publishes the planning_scene_world topic ?

$ rostopic info /planning_scene_world
Type: moveit_msgs/PlanningSceneWorld

Publishers: 
 * /look_at_human (http://fetch15:44267/)
 * /fetch_eus_interface_1684721715440405383 (http://133.11.216.180:40255/)

Subscribers: 
 * /move_group (http://fetch15:40017/)

That error above occurs when we run roseus on local noetic laptop with rossetip and rossetmaster fetchxx. When we initialize fetch-interface, moveit-enrironment is called and the error occurs at this point. https://github.com/jsk-ros-pkg/jsk_robot/blob/3dd1d9b065fedf517f30f7ba4f20009027a52a74/jsk_fetch_robot/fetcheus/fetch-interface.l#L44

tkmtnt7000 commented 1 year ago

FYI: moveit_msgs/PlanningSceneWorld does not change itself, but moveit_msg/CollisionObject changes slightly after melodic version released, so md5sum of moveit_msg/CollisionObject is different.

[http://fetch15:11311][133.11.216.180] tsukamoto@tsukamoto-desktop-ryzen ~/ros/fetch_ws/src/jsk-ros-pkg/jsk_pr2eus/pr2eus_moveit (master=) 
$ apt search moveit-msg
ソート中... 完了
全文検索... 完了  
ros-noetic-moveit-msgs/focal,now 0.11.4-1focal.20230216.003351 amd64 [インストール済み、自動]
  Messages, services and actions used by MoveIt

[http://fetch15:11311][133.11.216.180] tsukamoto@tsukamoto-desktop-ryzen ~/ros/fetch_ws/src/ros-planning/moveit_msgs/msg (master=)
$ git diff melodic-devel 0.11.4 CollisionObject.msg
diff --git a/msg/CollisionObject.msg b/msg/CollisionObject.msg
index 5e8b138..db1aeaa 100644
--- a/msg/CollisionObject.msg
+++ b/msg/CollisionObject.msg
@@ -1,6 +1,10 @@
 # A header, used for interpreting the poses
 Header header

+# The object's pose relative to the header frame.
+# The shapes and subframe poses are defined relative to this pose.
+geometry_msgs/Pose pose
+
 # The id of the object (name used in MoveIt)
 string id

@@ -8,7 +12,7 @@ string id
 object_recognition_msgs/ObjectType type

 # The collision geometries associated with the object.
-# Their poses are with respect to the specified header
+# Their poses are with respect to the object's pose

 # Solid geometric primitives
 shape_msgs/SolidPrimitive[] primitives
@@ -22,6 +26,14 @@ geometry_msgs/Pose[] mesh_poses
 shape_msgs/Plane[] planes
 geometry_msgs/Pose[] plane_poses

+# Named subframes on the object. Use these to define points of interest on the object that you want
+# to plan with (e.g. "tip", "spout", "handle"). The id of the object will be prepended to the subframe.
+# If an object with the id "screwdriver" and a subframe "tip" is in the scene, you can use the frame
+# "screwdriver/tip" for planning.
+# The length of the subframe_names and subframe_poses has to be identical.
+string[] subframe_names
+geometry_msgs/Pose[] subframe_poses
+
 # Adds the object to the planning scene. If the object previously existed, it is replaced.
 byte ADD=0