-
Notifications
You must be signed in to change notification settings - Fork 16
This PR adds the pose_jacobian_derivative method in the DQ_Kinematics class. #48
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
Conversation
…d. However, it is not implemented yet.
…he class WholeBody. However, the method is not implemented yet.
|
Hi @juanjqo, Thank you for the updated class diagram. Since I suggest using the variables either Best wishes, |
…d joint_velocity_configurations.
…gurations and joint_velocity_configurations.
… and joint_velocity_configurations.
…ns and joint_velocity_configurations.
… joint_velocity_configurations.
…rivative() method.
…_derivative() method.
|
@dqrobotics/developers Hi Bruno, Thanks for your feedback. I implemented your suggestion. I renamed the variables in this way: (For all classes except DQ_SerialManipulator) pose_jacobian_derivative(configurations, velocity_configurations, to_ith_link);
pose_jacobian_derivative(configurations, velocity_configurations);Best regards, Juancho Update (Juancho)I only modified the variables of the method |
…gurations and joint_velocity_configurations. I had forgotten to make the changes in one of the methods.
|
@juanjqo Could we change from or just stick to the Now it seems that all the subclasses have different parameter names for some reason. I know that some are remnants of older versions of dqrobotics, but we can take this chance to unify their naming. Whatever we do, if we keep the naming consistent, it will be much easier to refactor when needed. |
|
@mmmarinho Sure! I personally like Update@mmmarinho I modified the variables as you suggested for all classes (only for pose_jacobian_derivative). Furthermore, I updated the documentation. Example: /**
* @brief returns the Jacobian derivative 'J_dot' that satisfies
vec8(pose_dot_dot) = J_dot * q_dot + J*q_dot_dot, where pose = fkm(), 'pose_dot' is the time
derivative of the pose and 'q_dot' represents the robot configuration velocities.
* @param q The VectorXd representing the robot configurations.
* @param q_dot The VectorXd representing the robot configuration velocities.
* @return a MatrixXd representing the desired Jacobian derivative.
*/
MatrixXd DQ_Kinematics::pose_jacobian_derivative(const VectorXd &q, const VectorXd &q_dot)Best regards, Juancho |
|
@juanjqo I’ll accept this one so the process on the Python version can also start. Regardless of it being incorporated on the master branch, we (@bvadorno @juanjqo @mmmarinho ) can keep discussing and if necessary further refine this initial proposal. |
|
@dqrobotics/developers @mmmarinho sure! I'm working on the Python version. |
@dqrobotics/developers
Hi @mmmarinho,
This PR adds the pose_jacobian_derivative method in the DQ_Kinematics class. I included an example here.
DQ_Kinematics has now the following two methods:
DQ_SerialManipulator has now the following two methods:
DQ_SerialManipulatorDH and DQ_SerialManipulatorMDH have now the following methods:
DQ_DifferentialDriveRobot() has now the following method:
DQ_HolonomicBase() has now the following methods:
Current limitations:
The classes DQ_Serial WholeBody() and DQ_WholeBody do have not the pose jacobian derivative method available for the user. If a user tries to use it the method raises an exception.
Example:
Proposed Modifications (UML Diagram)
The new methods (pose_jacobian_derivative) are highlighted in blue