iRobotEducation / irobot_create_msgs

Action, message and service definitions used by the iRobot® Create® Platform
BSD 3-Clause "New" or "Revised" License
30 stars 8 forks source link

ResetPose Action does not reset to the provided pose as documented #15

Open slowrunner opened 9 months ago

slowrunner commented 9 months ago

Bug report

ISSUE: ResetPose Action does reset to the provided pose as documentation states in the README and in the msg

Steps to reproduce issue

** Reset pose to 0,0 180 (docked)
** SEND RESET_POSE position: x,y,z = 0, Quat: 0,0,1,0
ros2 service call /reset_pose irobot_create_msgs/srv/ResetPose "pose: {position: {x: 0, y: 0, z: 0}, orientation: {x: 0, y: 0, z: 1, w: 0}}"
waiting for service to become available...
requester: making request: irobot_create_msgs.srv.ResetPose_Request(pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.0, y=0.0, z=0.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=1.0, w=0.0)))

response:
irobot_create_msgs.srv.ResetPose_Response()

********

ubuntu@c3desktop:~/wali_desk/c3ws$ cmds/echo_odom.sh 

*** ECHO ODOM
ros2 topic echo /odom
header:
  stamp:
    sec: 1702745215
    nanosec: 536092598
  frame_id: odom
child_frame_id: base_link
pose:
  pose:
    position:
      x: 1.440315884337906e-07
      y: -1.7111239003497758e-07
      z: 1.8620591735185599e-09
    orientation:
      x: -0.00452887499704957
      y: -0.00113182223867625
      z: -4.2913520701404195e-06
      w: 0.9999890923500061

Expected behavior

    orientation:
      x: ~0
      y: ~0
      z: ~1
      w: ~0

Actual behavior

   (Q: 0,0,1,0 goal ignored)

    orientation:
      x: ~0
      y: ~0
      z: ~0
      w: ~1

Additional information

It was stated on create3_docs Discussion that "ResetPose does not use the provided pose"

If this is still true, perhaps the documentation on the README and the msg should be clarified. The server is accepting a provided pose and declaring successful reset, but the provided pose was ignored.

alsora commented 9 months ago

Yes, the feature is still not fully implemented on the robot, and it will ignore the pose you provide. I'll make sure we have a log on the robot when it happens and an indication in the docs.

Thank you for reporting it

jvanhie commented 3 months ago

Are there plans to fully implement this feature (in the Humble FW)? It would greatly simplify our workflow since we use multiple robots on different docks and would like to synchronize our odom frames by providing a pose to the ResetPose action.