-
Notifications
You must be signed in to change notification settings - Fork 12
Feature/ik panda #340
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
Open
Joobz
wants to merge
12
commits into
master
Choose a base branch
from
feature/ik_panda
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+721
−113
Open
Feature/ik panda #340
Changes from 7 commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
5b13133
test IK for Panda, initial check-in
dellaert 5197e23
Make fix/unfix methods const
dellaert ea19ce1
Removed logmap and use gtsam
dellaert 54b26c1
Add constraints for fixed links
dellaert 7e44402
initial values function prototype
Joobz e534344
Added new functions in kinematics
Joobz 9a55580
joint angle limits
Joobz 9c70904
Adressed comments
Joobz d2226e4
PoseGoals and addressed more comments
Joobz fdb0b63
Adressed comments
Joobz 0cf03b5
added gpmp and changed kinematics
54c72df
small update
Joobz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -131,29 +131,59 @@ class Kinematics : public Optimizer { | |
| EqualityConstraints pointGoalConstraints( | ||
| const CONTEXT& context, const ContactGoals& contact_goals) const; | ||
|
|
||
| /** | ||
| * @fn Create pose goal objectives. | ||
| * @param context Slice or Interval instance. | ||
| * @param pose_goals goals for poses | ||
|
||
| * @returns graph with pose goal factors. | ||
| */ | ||
| template <class CONTEXT> | ||
| gtsam::NonlinearFactorGraph poseGoalObjectives( | ||
| const CONTEXT& context, const Robot& robot, | ||
Joobz marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| const gtsam::Values& pose_goals) const; | ||
|
|
||
| /** | ||
| * @fn Factors that minimize joint angles. | ||
| * @param context Slice or Interval instance. | ||
| * @param robot Robot specification from URDF/SDF. | ||
| * @param joint_priors Values where the mean of the priors is specified | ||
Joobz marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| * @returns graph with prior factors on joint angles. | ||
| */ | ||
| template <class CONTEXT> | ||
| gtsam::NonlinearFactorGraph jointAngleObjectives(const CONTEXT& context, | ||
| const Robot& robot) const; | ||
| gtsam::NonlinearFactorGraph jointAngleObjectives( | ||
| const CONTEXT& context, const Robot& robot, | ||
| const gtsam::Values& joint_priors = gtsam::Values()) const; | ||
gchenfc marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| /** | ||
| * @fn Factors that enforce joint angle limits. | ||
| * @param context Slice or Interval instance. | ||
| * @param robot Robot specification from URDF/SDF. | ||
| * @return graph with prior factors on joint angles. | ||
| */ | ||
| template <class CONTEXT> | ||
| gtsam::NonlinearFactorGraph jointAngleLimits(const CONTEXT& context, | ||
| const Robot& robot) const; | ||
|
|
||
| /** | ||
| * @fn Initialize kinematics. | ||
| * | ||
| * Use wTcom for poses and zero-mean noise for joint angles. | ||
| * If no values in initial_joints are given, use wTcom for poses and zero-mean | ||
| * noise for joint angles. | ||
| * If values are given, initialize joints with their given values, and | ||
| * zero-mean noise to the ones that without a given value. Poses are | ||
| * initialized with their fk values. | ||
| * | ||
| * | ||
| * @param context Slice or Interval instance. | ||
| * @param robot Robot specification from URDF/SDF. | ||
| * @param gaussian_noise time step to check (default 0.1). | ||
| * @param initial_joints initial values for joints | ||
| * @returns values with identity poses and zero joint angles. | ||
| */ | ||
| template <class CONTEXT> | ||
| gtsam::Values initialValues(const CONTEXT& context, const Robot& robot, | ||
| double gaussian_noise = 0.1) const; | ||
| gtsam::Values initialValues( | ||
| const CONTEXT& context, const Robot& robot, double gaussian_noise = 0.1, | ||
| const gtsam::Values& initial_joints = gtsam::Values()) const; | ||
Joobz marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| /** | ||
| * @fn Inverse kinematics given a set of contact goals. | ||
|
|
@@ -169,6 +199,22 @@ class Kinematics : public Optimizer { | |
| const ContactGoals& contact_goals, | ||
| bool contact_goals_as_constraints = true) const; | ||
|
|
||
| /** | ||
| * @fn Inverse kinematics given a set of desired poses | ||
| * @fn This function does inverse kinematics separately on each slice | ||
| * @param context Slice or Interval instance | ||
| * @param robot Robot specification from URDF/SDF | ||
| * @param goal_poses goals for EE poses | ||
| * @param joint_priors optional argument to put priors centered on given | ||
| * values. If empty, the priors will be centered on the origin | ||
| * @return values with poses and joint angles | ||
| */ | ||
| template <class CONTEXT> | ||
| gtsam::Values inverseWithPose( | ||
| const CONTEXT& context, const Robot& robot, | ||
| const gtsam::Values& goal_poses, | ||
Joobz marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| const gtsam::Values& joint_priors = gtsam::Values()) const; | ||
gchenfc marked this conversation as resolved.
Show resolved
Hide resolved
Joobz marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| /** | ||
| * Interpolate using inverse kinematics: the goals are linearly interpolated. | ||
| * @param context Interval instance | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.