-
Notifications
You must be signed in to change notification settings - Fork 30
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
Add planEndEffectorTwist #545
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aditya-vk can you review when you get a chance?
#ifndef AIKIDO_PLANNER_VECTORFIELD_MOVEENDEFFECTORTWISTVECTORFIELD_HPP_ | ||
#define AIKIDO_PLANNER_VECTORFIELD_MOVEENDEFFECTORTWISTVECTORFIELD_HPP_ | ||
|
||
#include <aikido/planner/vectorfield/BodyNodePoseVectorField.hpp> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#include <aikido/planner/vectorfield/BodyNodePoseVectorField.hpp> | |
#include "aikido/planner/vectorfield/BodyNodePoseVectorField.hpp" |
#define AIKIDO_PLANNER_VECTORFIELD_MOVEENDEFFECTORTWISTVECTORFIELD_HPP_ | ||
|
||
#include <aikido/planner/vectorfield/BodyNodePoseVectorField.hpp> | ||
#include <aikido/trajectory/Interpolated.hpp> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#include <aikido/trajectory/Interpolated.hpp> | |
#include "aikido/trajectory/Interpolated.hpp" |
#include <dart/math/MathTypes.hpp> | ||
#include <dart/optimizer/Function.hpp> | ||
#include <dart/optimizer/Problem.hpp> | ||
#include <aikido/planner/vectorfield/MoveEndEffectorTwistVectorField.hpp> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#include <aikido/planner/vectorfield/MoveEndEffectorTwistVectorField.hpp> | |
#include "aikido/planner/vectorfield/MoveEndEffectorTwistVectorField.hpp" |
#include <dart/optimizer/Function.hpp> | ||
#include <dart/optimizer/Problem.hpp> | ||
#include <aikido/planner/vectorfield/MoveEndEffectorTwistVectorField.hpp> | ||
#include <aikido/planner/vectorfield/VectorFieldUtil.hpp> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#include <aikido/planner/vectorfield/VectorFieldUtil.hpp> | |
#include "aikido/planner/vectorfield/VectorFieldUtil.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking this up! A little bit of work is left to close this.
The PR description needs to be updated. Some of the formatting changes seem to have nothing to do with this PR. If this PR is behind master, I suggest merging master in first. Looks like the PR is not complete, especially the core logic is not "complete" with appropriate error/deviation handling. The other VF planners are a good place to see how deviation is handled and when to report failure. I would also strongly suggest either having tests to prove correctness or implement this on the robot and attach a video to the PR.
Note: I un-ticked (a) tests written for the PR and (b) added documentation for classes introduced since that was not the case.
/// \param[in] collisionTestable Collision constraint to check. Self-collision | ||
/// is checked by default. | ||
/// \param[in] timelimit Timelimit for the plan to be generated | ||
/// \param[in] positionTolerance Tolerance in position // do I need this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the units?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"do I need this?"
/// is checked by default. | ||
/// \param[in] timelimit Timelimit for the plan to be generated | ||
/// \param[in] positionTolerance Tolerance in position // do I need this? | ||
/// \param[in] angularTolerance Tolerance in angle // do I need this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the units?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"do I need this?"
/// \param[in] metaSkeleton Metaskeleton to plan with | ||
/// \param[in] body Bodynode for the end-effector | ||
/// \param[in] twistSeq Twist for the end-effector | ||
/// \param[in] durationSeq Time to plan with the desired twist |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the reasoning behind naming twistSeq
and durationSeq
? Why not twist
and timeout
?
/// \param[in] durationSeq Time to plan with the desired twist | ||
/// \param[in] collisionTestable Collision constraint to check. Self-collision | ||
/// is checked by default. | ||
/// \param[in] timelimit Timelimit for the plan to be generated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is this different from the docstring for durationSeq
? Both seem to suggest planning timeout
const Eigen::Vector6d& twistSeq, | ||
double durationSeq, | ||
const constraint::TestablePtr& collisionTestable, | ||
double timelimit, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Take this as const
/// Tolerance of linear deviation error. | ||
double mPositionTolerance; | ||
|
||
/// Tolerance of angular error. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the units?
/// Do we need this at this point? | ||
aikido::trajectory::InterpolatedPtr mTwistTraj; | ||
|
||
/// Tolerance of linear deviation error. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the units?
::dart::dynamics::MetaSkeletonPtr metaskeleton, | ||
::dart::dynamics::ConstBodyNodePtr bn, | ||
const Eigen::Vector6d& twistSeq, | ||
double durationSeq, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This variable can be renamed better
aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr stateSpace, | ||
::dart::dynamics::MetaSkeletonPtr metaskeleton, | ||
::dart::dynamics::ConstBodyNodePtr bn, | ||
const Eigen::Vector6d& twistSeq, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This variable can be renamed better
mCount += 1; | ||
DART_UNUSED(pose); | ||
|
||
// (avk): Not computing the error/deviation for now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm? Can we address these TODOs? They are important.
@nansongyi Why did we close this PR? My impression was that it was fairly close to being done. I'm ok with closing this if it's just in preparation for reapplying those changes on top of the formatting changes in the current master branch or something, but I don't want to waste your efforts! |
oh I am sorry. I think I misunderstood something. |
Reopening for now, just to make sure we don't forget/lose this 🙂 |
[Describe this pull request. Link to relevant GitHub issues, if any.]
[Explain how this pull request was tested.]
Resolves #465.
Before creating a pull request
make format
Before merging a pull request
CHANGELOG.md