-
Notifications
You must be signed in to change notification settings - Fork 288
[WIP] Add Kinematic Tag #1953
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?
[WIP] Add Kinematic Tag #1953
Conversation
You may not need to add a new joint type in that case. Consider specifying the actuator type as either ACCELERATION, VELOCITY, or LOCKED and set the kinematic values (position, velocity, acceleration) as needed: Lines 50 to 56 in 56f0d4e
The joint types (Free, Ball, Revolute) define the joint spaces and how to map the joint space to the joint motion in Cartesian space. However, whether the joint is treated as a kinematic or dynamic joint is determined by the actuator type. Actuator types such as FORCE, PASSIVE, SERVO, and MIMIC are used for dynamic joints, where the solver solves for forward dynamics given q, dq, and tau to find ddq. In contrast, other actuator types are used for kinematic joints, solving for inverse dynamics given q, dq, and ddq to find tau. |
Thanks for answering, I have been testing how to do that. However, I get into trouble when trying to set the velocity to a FreeJoint. It does not move for a reason when I set other actuator type. Anyhow, I want to ignore the acceleration and set the velocity on cartesian space directly. The FreeJoint seems to consider anyway the accelerations to be able to move. The Kinematic Joint class that I am proposing ignores the acceleration and set the Velocities to the Joint directly. I wanted to add another class for that to avoid affecting the current behavior of dart. |
Hm, would setting the acceleration to zero not achieve the desired behavior in this case? Regardless, it would be helpful if you could create a unit or integration test that demonstrates the behavior you're trying to achieve. This would make it easier to identify any bugs or gaps in the existing features and add new functionality as needed. Additionally, having a clear example of your desired outcome will help ensure that we understand your requirements correctly. |
I will handle your comments, and come back. |
I am using dart together with the Gazebo Simulator. And there is a kinematic tag that allows certain links to ignore external forces, like inertia and acceleration.
Before creating a pull request
make format
-DDART_TREAT_WARNINGS_AS_ERRORS=ON
and resolve all the compile warningsBefore merging a pull request
CHANGELOG.md