osrf / srcsim

Space Robotics Challenge
Other
9 stars 4 forks source link

val sensitive to collisions #112

Closed osrf-migration closed 7 years ago

osrf-migration commented 7 years ago

Original report (archived issue) by dan (Bitbucket: dan77062).


About half the time I have Val turn a wheel, it starts to turn its hand and and then when it touches the wheel itself, the whole robot acts like it got struck by lightening and then collapses to the floor. I saw this sometimes in phase I when Val's knee would hit the door.

Is this expected behavior or a sim issue? I wondered if it might be related to exerting too much torque when hitting structure so looked for ways to turn down the torque. There is a parameter "effort" in the joint states topic, but that is only feedback. I could not find a way to reduce torque with the ROS messages we are allowed to use.

Anybody else seeing a similar issue?

osrf-migration commented 7 years ago

Original comment by Joey Gannon (Bitbucket: joeygannon).


Yes, absolutely. It doesn't even require applying torque; sometimes just closing the hand on itself can make Val explode. This pull request has been sitting for a couple weeks. Seems like it's meant to improve this issue. Maybe @jordanlack can help get it merged?

osrf-migration commented 7 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


That pull request might help. But also, we should consider using simple shapes for collisions on Val's fingers. The exploding behavior can be a result of unstable trimesh-trimesh contact. This is not an error on user code, the problem is on Gazebo's side.

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


what if this happens during a run? Do we get a free reset?

osrf-migration commented 7 years ago

Original comment by Joey Gannon (Bitbucket: joeygannon).


@chapulina Can you speak to when those changes to the meshes might occur? Several teams have been probing NineSigma for an idea of when the system will be stable, and so far the only response we've gotten is "the software does work". That's technically true; the world loads, the plugins work, and Val can walk around. Pragmatically, though, the grasping is so unstable that it's very difficult to do any meaningful development.

osrf-migration commented 7 years ago

Original comment by Jedediyah Williams (Bitbucket: Jedediyah).


@dan77062, fortunately it does say in the user agreement that if there is a software issue that is not the fault of the team then we get a reset without being penalized. Unfortunately, it's not clear what counts as our fault or not...

osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


cc @frankbmathis

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


I agree with Joey. We can get to where we need to be. We can put the arms where they need to be. We cannot reliably turn handles or pick anything up.

osrf-migration commented 7 years ago

Original comment by Víctor López (Bitbucket: Victor Lopez).


We need this as well. We have gotten to the point where we are pushing the handle. We use very slow motions and still the robot ends up collapsing, and now we are just trying to push the handle, I don't know how it will work when it needs to carry the solar panel around.

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


Could it have anything to do with the way the finger joint transforms are broadcast? They don't show up in the ros tf tree, apparently are published by gazebo? The ros tf tree ends with the palms.

osrf-migration commented 7 years ago

Original comment by Jedediyah Williams (Bitbucket: Jedediyah).


I would wager heavily that the collision sensitivity has to do with the contact identification Louise is referring to above, along with the fact that the mass ratios of the fingers to the rest of Val are tiny, resulting in numerical instability when solving for the response impulses.
It gets only worse if you are gripping something such that those contact normals are pointed in opposing directions... My task 1 approach so far has only been to nudge the control wheels, not try to grab them.

osrf-migration commented 7 years ago

Original comment by Víctor López (Bitbucket: Victor Lopez).


Even a small collision with the environment, bends the finger backwards and pushes the hand into the robot, which in turn seems to make the ihmc controller crash.

Just a video of one of our runs: https://www.youtube.com/watch?v=Cf0fsZrfirw

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


@vlopez87 yes, that is exactly what we are seeing. Hard to proceed further until this is resolved.

osrf-migration commented 7 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


Thank you for the video, @vlopez87, that helps a lot. Have you had the chance to try out @scpeters 's changes to the gains here?

osrf-migration commented 7 years ago

Original comment by Víctor López (Bitbucket: Victor Lopez).


I have just tried. It definitely is stronger. See https://youtu.be/cZf111aZVg4

I had trouble pushing the handle though, I still need to refine that, but the hand did not explode.

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


Yes, I loaded the new urdf and was able to push on the wheel a bit without Val collapsing. However, the fingers seem to have little compliance, for example, they will not bend around a spoke in the wheel, the hand just stops moving rather than letting the fingers bend.

osrf-migration commented 7 years ago

Original comment by Víctor López (Bitbucket: Victor Lopez).


Any update? We're over 1/3 into the competition and we still can't grasp anything. Should we bump @scpeters merge request?

osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I have made another pull request that improves stability of the hands near joint limits:

I am working with JSC to merge these and make a new release. If you want to test these new changes, please use the following urdf:

osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


@dan77062 the real Valkyrie uses position control for the fingers, so I'm not sure how much compliance they have

osrf-migration commented 7 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


osrf-migration commented 7 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


@dan77062 , @joeygannon , @jedediyah , @vlopez87 : have you been having hand collision issues lately? Are you able to interact with all objects alright?

osrf-migration commented 7 years ago

Original comment by Víctor López (Bitbucket: Victor Lopez).


Yes, I haven't had these kind of issues anymore.

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


Yes, the changed urdf has made the hands much more stable.