-
Notifications
You must be signed in to change notification settings - Fork 13
support contact sensor #69
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
base: main
Are you sure you want to change the base?
Conversation
|
@Juliaj Thank you for the PR. This is very interesting. The build is failing due to the different API i guess, please verify |
|
Thanks, @saikishor,
The additional fix is for unit tests due to #70 |
bee46a0 to
68ae0be
Compare
eholum-nasa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Juliaj!
I am not particularly familiar with contact sensors, is it normal for them to only be between two specific bodies? If we only wanted to know when something was in contact with anything (say, a foot to the floor or hand to something) we might want to use touch sensors? It might be a more mujoco way of checking raw contact for a given site. It could probably simplify the registration and read functions, like users could set some kind of force threshold for contact? I think the debouncing logic would be similar.
Maybe a slightly different use case but this seems very specific to me?
|
Hi @eholum-nasa, this is a new subject area for me as well, so thank you very much for the thoughtful questions. Based on some of my reading, contact modeling is generally a hard problem. As for MuJoCo, you're right: there isn't a "contact sensor". The intent of this PR is to add contact detection by scanning MuJoCo’s generated contacts (
Touch sensors are a good fit when the requirement is “is this site touching anything?”, but they are not inherently pair-specific and won’t tell you what was contacted. Pair-specific semantics (“foot vs world”) may matter in biped gait control because decisions depend on what the foot is contacting, not just that it is contacting something. I also have a debug use case: I need to verify that contact is detected at the bottom of the Open Duck Mini’s feet (i.e.,
That said, even with this support in mujoco_ros2_control, the sim-to-real gap exists because there typically isn’t a universal “contact signal” available on the real robot: contact sensing is hardware-specific.
Good question, I did a bit more searching for other biped use cases. Berkeley uses this for their Humanoid-Lite. From a contact-API exposure perspective, I'd say this helps with data gathering if we want to train a model in a MuJoCo ROS 2 control simulation in addition to inferece use case. Where should we take this?
What do you think? @saikishor, at Pal Robotics, do you guys need to solve similar problem ? |
|
@Juliaj we usually deal with the force torque sensors at the ankles and use them logically. We also have a contact estimator to estimate the contacts |
Addresses