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

Proposal for Mimic Constraint Feature #62

Merged
merged 16 commits into from
Aug 28, 2023
Merged

Conversation

scpeters
Copy link
Member

@scpeters scpeters commented Oct 8, 2021

This proposal suggests a new mimic constraint that is functionally similar to the gearbox joint type but simpler to express and more flexible. It is targeted at SDFormat 1.11 / libsdformat14.

The proposal is ready for review:

Preview: http://sdformat.org/tutorials?tut=mimic_proposal&cat=pose_semantics_docs&branch=scpeters%2Fmimic_joint_proposal

Related pull requests:

@scpeters
Copy link
Member Author

scpeters commented Oct 8, 2021

cc @adityapande-1995

mimic_joint/proposal.md Outdated Show resolved Hide resolved
* mimic tag to be used with output joint
@scpeters scpeters changed the title Proposal for Mimic Joint Type Proposal for Mimic Joint Feature Sep 27, 2022
Propose a new constraint, not joint type
Target 1.10, libsdformat13
Use XML elements instead of attributes for numeric params

Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
@scpeters
Copy link
Member Author

I've updated the proposed syntax in 806841a and added a rack and pinion example in c8443ed

@scpeters
Copy link
Member Author

If a joint wants to mimic an axis of a multi-axis joint, like a universal joint, I wonder how we should specify that? Currently //mimic/@joint refers to a joint name, but we could say joint::axis_index like the following:

<mimic joint="joint_name::1"/>

in that case, perhaps the attribute should be joint_axis? or should we have two attributes? does the axis index start at 0 or 1?

<mimic joint="joint_name" axis="1"/>

@adityapande-1995
Copy link
Contributor

adityapande-1995 commented Sep 28, 2022

Since the second tag is called <axis2>, probably 1 and 2 makes sense or we can do joint_name::axis2.

<mimic joint="joint_name" axis="1"/>

Seems the easiest to me personally.

Also mention that XPath syntax is used.

Signed-off-by: Steve Peters <[email protected]>
@scpeters scpeters changed the title Proposal for Mimic Joint Feature Proposal for Mimic Constraint Feature Oct 1, 2022
@scpeters
Copy link
Member Author

scpeters commented Oct 8, 2022

I just added a //mimic/reference parameter in 93a8fad

@adityapande-1995
Copy link
Contributor

I just added a //mimic/reference parameter in 93a8fad

Added to implementation here : gazebosim/gz-physics@943740c

@scpeters scpeters marked this pull request as ready for review April 9, 2023 07:02
@scpeters
Copy link
Member Author

scpeters commented Apr 9, 2023

this is ready for review

Signed-off-by: Steve Peters <[email protected]>
@scpeters scpeters force-pushed the scpeters/mimic_joint_proposal branch from 8858065 to 9adfdbc Compare April 9, 2023 07:08
Signed-off-by: Steve Peters <[email protected]>
* add description
* use world as the joints' parent
* fix rack pose to avoid overlap

Signed-off-by: Steve Peters <[email protected]>
mimic_constraint/proposal.md Outdated Show resolved Hide resolved
mimic_constraint/proposal.md Outdated Show resolved Hide resolved
mimic_constraint/proposal.md Outdated Show resolved Hide resolved
@scpeters scpeters merged commit ff5a051 into master Aug 28, 2023
@scpeters scpeters deleted the scpeters/mimic_joint_proposal branch August 28, 2023 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants