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

Set joint positions in JointController disabled #1138

Closed
osrf-migration opened this issue Apr 2, 2014 · 21 comments
Closed

Set joint positions in JointController disabled #1138

osrf-migration opened this issue Apr 2, 2014 · 21 comments
Labels
all blocker bug Something isn't working

Comments

@osrf-migration
Copy link

Original report (archived issue) by Nate Koenig (Bitbucket: Nathan Koenig).


Setting a joint angle in JointController is disabled because updating the collision elements is not working.

Please vote for this issue if you want to see this fixed.

@osrf-migration
Copy link
Author

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


I don't fully understand the description of this bug. Is it related to this code in JointController.cc?

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


little more background please, e..g why was it disabled? when was it disabled?

@osrf-migration
Copy link
Author

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


It has been disabled for a very long time. The code that would set the joint to a specific position in the update loop was already commented before pull request #1048. Looking at the blame, the comments occurred back in Oct of 2012.

There are no test for this code, and the comments indicate that it's broken. The result is to disable to code and put in a warning message.

If you think the code in question is valuable, please write tests and put it back in.

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


@nkoenig Thanks for digging that up! I say we wait for votes or comments.

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


needed for atlas animation tutorial

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


needed to fix #1072

@osrf-migration
Copy link
Author

Original comment by Andreas Bihlmaier (Bitbucket: andreasBihlmaier).


This is pretty bad.
I just updated to gazebo 3.0 and found that none of our many use cases, in which we run gazebo with physics disabled and use Joint::SetAngle() through model plugins, are working anymore.

Please increase the priority of fixing this bug.

For now I have to revert to gazebo 2.X.

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


  • changed priority from "minor" to "blocker"

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


working on a fix. Need to recover SetJointPosition et. al.

@osrf-migration
Copy link
Author

Original comment by Andreas Bihlmaier (Bitbucket: andreasBihlmaier).


Very much appreciated :)

@osrf-migration
Copy link
Author

Original comment by Dave Hershberger (Bitbucket: dave_hershberger).


Well I've just spent my morning trying to understand why my robot's position was not initializing correctly.

I guess I'm not seeing the result of the "gzwarn" line for some reason, so I didn't find this until I looked at the Gazebo source.

So what's the status of the fix?

Is there any workaround? Redefine my URDF so that zero positions of joints are in other places, I guess? (ouch)

@osrf-migration
Copy link
Author

Original comment by Tian X (Bitbucket: tmoneyx).


Try gazebo 1.9.

@osrf-migration
Copy link
Author

Original comment by Andreas Bihlmaier (Bitbucket: andreasBihlmaier).


2.2 works, too.

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


I am working on recovering it for 3.0. Current trajectory is going towards:

  1. deprecate, recover and move JointController::SetJointPosition into Joint::SetPosition(unsigned int index, double position, double velocity = 0), which will recursively set all descendant links of a joint based on joint position specified. Operation fails if the parent link of the joint is a descendant link of the same joint (loop).
  2. deprecate Joint::SetAngle by Joint::SetPosition.
  3. update Joint::SetVelocity so it changes all downstream link states based on joint velocity specified (as implemented in Bullet). Currently ODE uses amotor, this need to be fixed.

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


please see / test out pull request #1096

@osrf-migration
Copy link
Author

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


@nkoenig
Is the bug mentioned in the ticket description about "updating the collision elements is not working" tracked by another issue or fixed?
Thanks.

@osrf-migration
Copy link
Author

Original comment by Andreas Bihlmaier (Bitbucket: andreasBihlmaier).


Compiled gazebo from source (branch set_joint_position) together with gazebo_ros_pkgs.
After :%s/SetAngle(/SetPosition(/g in my gazebo plugins EVERYTHING WORKS at least as good as before (<= 2.2.2).
@hsu thank you very much

Once the patch is merged, will there be updated gazebo3 packages?

@osrf-migration
Copy link
Author

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


@hsu I don't believe there was an issue tracking the "updating the collision elements is not working" problem.

@andreasBihlmaier Yes, we'll release a new debian of gazebo3.0 once this patch is in place.

@osrf-migration
Copy link
Author

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


  • changed state from "new" to "resolved"

pull request #1096

@osrf-migration
Copy link
Author

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


  • set version to "all"

@osrf-migration
Copy link
Author

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


  • changed state from "resolved" to "closed"

@osrf-migration osrf-migration added blocker bug Something isn't working all labels Apr 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
all blocker bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant