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

API for utilizing Analytical IK #530

Merged
merged 44 commits into from
Nov 11, 2015
Merged

API for utilizing Analytical IK #530

merged 44 commits into from
Nov 11, 2015

Conversation

mxgrey
Copy link
Member

@mxgrey mxgrey commented Oct 19, 2015

This pull request introduces an API for creating and utilizing analytical inverse kinematics modules into the IK framework that was created in #461 .

It should be noted that implementing an analytical IK solver for a particular robot is up to the user; the role of this API is to allow user-created analytical solvers to be plugged into the framework in an efficient and semantically meaningful way.

@mkoval
Copy link
Collaborator

mkoval commented Oct 19, 2015

I am in the process of integrating HERB's IKFast module into DART to use in some of my research code. I'll try using the new InverseKinematics::Analytical interface and see how it goes. 😄

@mxgrey
Copy link
Member Author

mxgrey commented Oct 20, 2015

Looks like AppVeyor had a server issue.

@jslee02
Copy link
Member

jslee02 commented Oct 23, 2015

@mxgrey Could you resolve conflict with master branch? It seems they were introduced by #535.

mHubo->getJoint(0)->setPositions(FreeJoint::convertToPositions(new_tf));
}

bool solved = mHubo->getIK(true)->solve();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused variable warning here. I guess you used this variable for debugging.

@jslee02 jslee02 added this to the DART 6.0.0 milestone Nov 3, 2015
@@ -428,6 +428,22 @@ bool verifyRotation(const Eigen::Matrix3d& _R);
/// all the elements are not NaN values.
bool verifyTransform(const Eigen::Isometry3d& _T);

/// Get the remainder of dividing x by y
inline double mod(double x, double y)
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason we don't use std::fmod(double, double)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly because I did not know that function existed. Good catch!

@jslee02
Copy link
Member

jslee02 commented Nov 11, 2015

👍 Looks good to me.

jslee02 added a commit that referenced this pull request Nov 11, 2015
API for utilizing Analytical IK
@jslee02 jslee02 merged commit 71f6aa2 into master Nov 11, 2015
jslee02 added a commit that referenced this pull request Nov 14, 2015
API for utilizing Analytical IK
@jslee02 jslee02 deleted the grey/analytical branch January 31, 2016 02:53
@jslee02 jslee02 restored the grey/analytical branch January 31, 2016 02:53
@mxgrey mxgrey deleted the grey/analytical branch February 1, 2016 04:09
@mxgrey mxgrey restored the grey/analytical branch February 29, 2016 02:05
@mxgrey mxgrey deleted the grey/analytical branch April 18, 2016 16:24
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.

3 participants