Skip to content

Conversation

@juanjqo
Copy link
Member

@juanjqo juanjqo commented Apr 23, 2023

@dqrobotics/developers

Hi @bvadorno and @mmmarinho ,

This PR adds the property dim_configuration_space in the superclass DQ_Kinematics. This modification is inspired by the current C++ implementation and aims to advance a step toward the convergence of both versions of DQ Robotics.

Motivation:

All subclasses of the superclass DQ_Kinematics implement the property dim_configuration_space. Since the configuration space size is a common property of all subclasses, it looks reasonable to implement it in the superclass directly.

List of modifications:

  • Added dim_configuration_space in DQ_Kinematics.
  • Removed dim_configuration_space from the following classes:
    • DQ_MobileBase
    • DQ_SerialWholeBody
    • DQ_FreeFlyingRobot
    • DQ_WholeBody
  • I removed n_links from DQ_SerialManipulator. Consequently, I modified internal implementations of the class and its subclasses to comply this change. For example, in DQ_Serialmanipulator the parts using n_links were updated.
    This is,

Current Master Branch:

n = robot.n_links;

Current PR:

n = robot.get_dim_configuration_space();

The only modification required in the subclasses of DQ_SerialManipulator was the following:
Current master branch:

obj.n_links = size(A,2);

This PR:

obj.dim_configuration_space = size(A,2);

I tried to avoid those internal modifications as much as possible, as suggested/pointed out by Bruno and Murilo. Nevertheless, I think it would be weird to have n_links only in one of the subclasses of DQ_Kinematics acting as a local dim_configuration_space.


Current Master Branch:
drawing

Proposal in this PR:
drawing

Please let me know what do you think.

Best regards,

Juancho

juanjqo added 8 commits April 23, 2023 16:51
…s and removed it from the subclasses.

[DQ_Kinematics] Added the protected property dim_configuration_space.

[DQ_MobileBase] Removed the property dim_configuration_space.

[DQ_SerialWholeBody] Removed the property dim_configuration_space.

[DQ_WholeBody] Removed the property dim_configuration_space.

[DQ_FreeFlyingRobot] Removed the property dim_configuration_space.
…or and all its subclasses

[DQ_SerialManipulator] Removed n_links. Now the class uses dim_configuration_space from DQ_Kinematics. 

[DQ_SerialManipulatorDH, MDH] Removed the definition of n_links to comply the changes in DQ_SerialManipulator and DQ_Kinematics.
@juanjqo juanjqo changed the title [In progress] This PR adds the property dim_configuration_space in the superclass DQ_Kinematics This PR adds the property dim_configuration_space in the superclass DQ_Kinematics Apr 23, 2023
@juanjqo juanjqo marked this pull request as ready for review April 23, 2023 11:45
@bvadorno bvadorno self-requested a review April 30, 2023 17:36
@bvadorno bvadorno merged commit b970eb3 into dqrobotics:master Apr 30, 2023
@juanjqo juanjqo deleted the dim_configuration_space branch May 9, 2023 01:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants