I’m working on getting the turtlebot3 robot to follow along the wall of the course as per the first part of the project. I want to set up an easy way to put the robot in the exact same position after each test so that I can reliably set up the same experiment and so I don’t have to drive the robot back every time. To do this I run this command:
ros2 topic pub --once /gazebo/set_model_state gazebo_msgs/ModelState "{model_name: turtlebot3_burger, pose: {position: {x: .9, y: -.5}, orientation: {z: 1}}}"
Which caused the following output:
publisher: beginning loop
publishing #1: gazebo_msgs.msg.ModelState(model_name='turtlebot3_burger',pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.9, y=-0.5, z=0.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=1.0, w=1.0)), twist=geometry_msgs.msg.Twist(linear=geometry_msgs.msg.Vector3(x=0.0, y=0.0, z=0.0), angular=geometry_msgs.msg.Vector3(x=0.0, y=0.0, z=0.0)), reference_frame='')
Which sets the position of the robot correctly but the robot is still moving. Why is the robot still moving when the output of the command says that all the twist values are zero? I have no terminals running or publishing any messages.