Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic arm stow and prep buttons #13

Open
mayacakmak opened this issue Jun 24, 2021 · 5 comments
Open

Automatic arm stow and prep buttons #13

mayacakmak opened this issue Jun 24, 2021 · 5 comments

Comments

@mayacakmak
Copy link

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
Copy link
Author

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
Copy link
Author

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

@mayacakmak
Copy link
Author

mayacakmak commented Jul 4, 2021

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.

  • We need to figure out what are some good poses for "stow" and "prep" (ready for manipulation). Currently it's some arbitrary numbers.
  • The arm moved a bit too fast in my opinion, play around with movement speed
  • Thinks about other possible safeguards for moving the arm from arbitrary poses to these poses to avoid pushing itself off the ground or harming something in the environment/in its gripper

@nickswalker
Copy link
Member

@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
Copy link
Collaborator

kavidey commented May 3, 2022

I added a list of default poses to poselibrary.cmp.ts.

const DEFAULT_POSES: PoseLibraryPose[] = [
{
description: "Default home pose for the robot",
jointState: {
joint_gripper_finger_left: -0.004946586225879734,
joint_head_pan: 0.15000144616381927,
joint_head_tilt: -1.4986945032621115,
joint_lift: 0.19725222828319314,
joint_wrist_yaw: 3.1407843089705096,
wrist_extension: 0.0005250874586900127,
},
name: "Home",
defaultPose: true
}
];

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants