hcrlab / stretch_web_interface

Prototype web interface that enables remote teleoperation of the Stretch RE1 mobile manipulator from Hello Robot Inc.
Other
7 stars 3 forks source link

Automatic arm stow and prep buttons #13

Open mayacakmak opened 3 years ago

mayacakmak commented 3 years ago

Add two buttons to the interface (appropriate location to be determined) to:

  1. Stow the arm away in preparation for driving
  2. Prepare the arm for manipulation (raise it high, extend a bit, rotate wrist out)

This issue is motivated in the problem description in Issue #11.

This issue depends on first addressing Issue #12.

mayacakmak commented 3 years ago

Look into stretch_robot_stow.py which uses implementation of robot.stow() here for a stow pose: https://github.com/hello-robot/stretch_body/blob/master/body/stretch_body/robot.py

See if sending multiple joints (like when changing two camera angles during mode switches) can be used for setting arm poses.

mayacakmak commented 3 years ago

@KaviMD I'm working on this now, pinging in case you're thinking about this for the auto 90 degree rotation safeguards/fixes.

mayacakmak commented 3 years ago

I put in the buttons and they trigger an action that sends the three arm joints to a particular pose, which seemed to work well.

nickswalker commented 2 years ago

@KaviMD The need for a special stow configuration came up again today. We need it so the robot can start playing back recorded commands from a repeatable start state. I think you had put a home pose as a default in the pose library at some point and maybe I took it out while I was working on the local storage backend. If we add it back we can close this.

kavidey commented 2 years ago

I added a list of default poses to poselibrary.cmp.ts. https://github.com/hcrlab/stretch_web_interface/blob/8a6f3a8bbcb281c1ac498a91837d1abf3e67afdd/src/pages/operator/ts/poselibrary.cmp.ts#L30-L44

Previously the default poses were stored in firebase, but that won't work with LocalStorage, so instead, they are hardcoded into a variable in that file (this should also be easier to edit).