From 62be33a369addb1982f23dfa3187d94020fb422b Mon Sep 17 00:00:00 2001 From: Sherdil Niyaz Date: Thu, 10 Oct 2019 13:06:24 -0700 Subject: [PATCH 1/3] Make ConcreteRobot limit functions public. --- include/aikido/robot/ConcreteRobot.hpp | 22 ++++++++++++-------- src/robot/ConcreteRobot.cpp | 28 +++++++++++++------------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/include/aikido/robot/ConcreteRobot.hpp b/include/aikido/robot/ConcreteRobot.hpp index ea6e50ab03..2fdaefe5ae 100644 --- a/include/aikido/robot/ConcreteRobot.hpp +++ b/include/aikido/robot/ConcreteRobot.hpp @@ -251,6 +251,20 @@ class ConcreteRobot : public Robot void setCRRTPlannerParameters( const util::CRRTPlannerParameters& crrtParameters); + /// Computes velocity limits from the MetaSkeleton. These should be + /// interpreted as absolute in both the positive and negative directions. + /// \param[in] metaSkeleton MetaSkeleton to compute limits for. + /// \return Symmetric velocity limits. + Eigen::VectorXd getVelocityLimits( + const dart::dynamics::MetaSkeleton& metaSkeleton) const; + + /// Computes acceleration limits from the MetaSkeleton. These should be + /// interpreted as absolute in both the positive and negative directions. + /// \param[in] metaSkeleton MetaSkeleton to compute limits for. + /// \return Symmetric acceleration limits. + Eigen::VectorXd getAccelerationLimits( + const dart::dynamics::MetaSkeleton& metaSkeleton) const; + private: // Named Configurations are read from a YAML file using ConfigurationMap @@ -258,14 +272,6 @@ class ConcreteRobot : public Robot std::unique_ptr cloneRNG(); - /// Compute velocity limits from the MetaSkeleton - Eigen::VectorXd getVelocityLimits( - const dart::dynamics::MetaSkeleton& metaSkeleton) const; - - /// Compute acceleration limits from the MetaSkeleton - Eigen::VectorXd getAccelerationLimits( - const dart::dynamics::MetaSkeleton& metaSkeleton) const; - /// If this robot belongs to another (Composite)Robot, /// mRootRobot is the topmost robot containing this robot. Robot* mRootRobot; diff --git a/src/robot/ConcreteRobot.cpp b/src/robot/ConcreteRobot.cpp index 7a8b4ce28b..29eedc17cf 100644 --- a/src/robot/ConcreteRobot.cpp +++ b/src/robot/ConcreteRobot.cpp @@ -247,20 +247,6 @@ void ConcreteRobot::step(const std::chrono::system_clock::time_point& timepoint) mTrajectoryExecutor->step(timepoint); } -//============================================================================== -Eigen::VectorXd ConcreteRobot::getVelocityLimits( - const MetaSkeleton& metaSkeleton) const -{ - return getSymmetricVelocityLimits(metaSkeleton, asymmetryTolerance); -} - -//============================================================================== -Eigen::VectorXd ConcreteRobot::getAccelerationLimits( - const MetaSkeleton& metaSkeleton) const -{ - return getSymmetricAccelerationLimits(metaSkeleton, asymmetryTolerance); -} - // ============================================================================== CollisionFreePtr ConcreteRobot::getSelfCollisionConstraint( const ConstMetaSkeletonStateSpacePtr& space, @@ -494,6 +480,20 @@ void ConcreteRobot::setCRRTPlannerParameters( mCRRTParameters = crrtParameters; } +//============================================================================== +Eigen::VectorXd ConcreteRobot::getVelocityLimits( + const MetaSkeleton& metaSkeleton) const +{ + return getSymmetricVelocityLimits(metaSkeleton, asymmetryTolerance); +} + +//============================================================================== +Eigen::VectorXd ConcreteRobot::getAccelerationLimits( + const MetaSkeleton& metaSkeleton) const +{ + return getSymmetricAccelerationLimits(metaSkeleton, asymmetryTolerance); +} + //============================================================================== std::unique_ptr ConcreteRobot::cloneRNG() { From 06df77910a71c7cd00063db79941b33c7453cc66 Mon Sep 17 00:00:00 2001 From: Sherdil Niyaz Date: Thu, 10 Oct 2019 16:15:49 -0700 Subject: [PATCH 2/3] Update CHANGELOG. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46b43a4f09..b074643661 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,6 +78,8 @@ * Added Robot, Manipulator, Hand interfaces, and ConcreteRobot, ConcreteManipulator classes: [#325](https://github.com/personalrobotics/aikido/pull/325), [#392](https://github.com/personalrobotics/aikido/pull/392) * Added Kunz timer to Robot class: [#505](https://github.com/personalrobotics/aikido/pull/505) + * Make ConcreteRobot limit functions public: + [#556](https://github.com/personalrobotics/aikido/pull/556) * RViz From d32940900bb1eb11cde92f760505683765e22903 Mon Sep 17 00:00:00 2001 From: Brian Hou Date: Thu, 10 Oct 2019 18:16:40 -0700 Subject: [PATCH 3/3] Apply suggestions from code review --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b074643661..48882cf6ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,8 +78,7 @@ * Added Robot, Manipulator, Hand interfaces, and ConcreteRobot, ConcreteManipulator classes: [#325](https://github.com/personalrobotics/aikido/pull/325), [#392](https://github.com/personalrobotics/aikido/pull/392) * Added Kunz timer to Robot class: [#505](https://github.com/personalrobotics/aikido/pull/505) - * Make ConcreteRobot limit functions public: - [#556](https://github.com/personalrobotics/aikido/pull/556) + * Made ConcreteRobot limit functions public: [#556](https://github.com/personalrobotics/aikido/pull/556) * RViz