Open hello-binit opened 4 months ago
Hey @hello-vinitha, reopening this issue since tasks 2 and 3 in this issue haven't been addressed yet.
Hey @hello-vinitha, reopening this issue since tasks 2 and 3 in this issue haven't been addressed yet.
Oops, my bad! Completely missed those. I can work on those.
Since some of Stretch's encoders are relative, there's a homing sequence to find zero for those joints when Stretch wakes up. Typically, this would include running the stretch_robot_home.py CLI while SSH-ed into the robot. With the remote teleop capability this repo provides, it would be nice to offer an easy way to home the robot through the web interface. Likely, this would use the/home_the_robot
ROS service provided by the driver node (stretch_driver
in the Stretch Core pkg) to perform the homing procedure, and the/is_homed
topic (std_msgs/Boolean) to check if the robot has been homed. The button to home the robot should be prominently placed.From a UX perspective, the web interface should disable teleop of all joints that use relative encoders (e.g. arm, lift, wrist yaw, gripper) until the robot has been homed. Other joints (e.g. the mobile base, the head pan/tilt, wrist pitch, and wrist roll) can work normally because their encoders are absolute.
Lastly, but most importantly, the homing procedure involves raising and extending the arm. If the robot is in a narrow area, there's risk that the robot can topple itself or rearrange the environment while it blindly homes the joints. Therefore, the best version of this feature includes a pre-homing scan to confirm that the area immediately surrounding the are is clear of obstacles.
TODOs