hello-robot / stretch_web_teleop

Remote web teleoperation for the Stretch mobile manipulators from Hello Robot Inc.
Other
13 stars 0 forks source link

Temp fix for wrist dropping issue: don't send `stop` commands #63

Closed hello-amal closed 3 months ago

hello-amal commented 3 months ago

Description

This PR provides a temporary fix for stretch_ros2#140, where the wrist pitch falls if trajectory cancel requests are invoked in rapid sequence. This issue manifests on the web app if an operator spams a button in press-and-hold mode (and maybe other modes as well).

The way this PR fixes it is by _removing all "stop trajectory" commands that are sent to stretch_driver from the web app_. This is far from an ideal solution, because what that means is that trajectories cannot be interrupted. e.g., if an operator is in the "Fastest" speed and presses "arm lift up" but immediately lets it go since they made a mistake, the arm will still move the entire 12cm up. However, it is important to note that this does not harm current functionality, because the bug in stretch_ros2#139 results in stretch_driver not processing cancellation commands anyway, and executing the trajectory to completion even if a cancellation was invoked.

Thus, I propose the following:

  1. We merge this in, to fix the wrist pitch dropping issue.
  2. Once stretch_ros2#139 and stretch_ros2#140 are addressed, we re-add "stop trajectory" commands (which can be easily toggled by a boolean flag). This will add the desirable behavior (which has never been present in this web app) of immediately stopping motion, as opposed to waiting until the previously-commanded incremental motion finished.

Testing procedure

Before opening a pull request

From the top-level of this repository, run:

To merge

hello-amal commented 3 months ago

@hello-vinitha I verified the tests work on 3030. Can you check on a Stretch 2?