|
This file is part of ArmarX. More...
Namespaces | |
control_law | |
This file is part of ArmarX. | |
ft | |
This file is part of ArmarX. | |
mp | |
This file is part of ArmarX. | |
Classes | |
class | MultivariateNormal |
struct | SensorDevicesForNJointTorqueController |
Enumerations | |
enum | ControllerType { TSAdm, TSImp, TSImpSafe, TSImpCol, TSAdmCol, TSMixImpVel, TSVel, TSMixImpVelCol, TSMPAdm, TSMPImp, TSMPImpCol, TSMPImpSafe, TSMPMixImpVel, TSMPVel, TSMPMixImpVelCol, QPWholeBodyImpedance, QPWholeBodyVelocity, WholeBodyTrajectoryController } |
enum | MPStatus { reset, trained, running, paused, finished } |
enum | MPType { taskspace, nullsapce, hand } |
Functions | |
void | addViaPoint (mp::arondto::MPConfig &cfg, const double &canValue, const Eigen::Matrix4f &viaPose) |
void | addViaPoint (mp::arondto::MPConfig &cfg, const double &canValue, const Eigen::VectorXf &viaPoint) |
void | addViaPoint (mp::arondto::MPConfig &cfg, const double &canValue, const std::vector< double > &viaPoint) |
void | addViaPoint (mp::arondto::MPConfig &cfg, const double &canValue, const std::vector< float > &viaPoint) |
void | appendToViapointList (std::vector< mp::arondto::ListViaPoint > &vpList, const double canonicalValue, const Eigen::Matrix4f &viaPose) |
void | appendToViapointList (std::vector< mp::arondto::ListViaPoint > &vpList, const double canonicalValue, const Eigen::VectorXf &viaPoint) |
void | appendToViapointList (std::vector< mp::arondto::ListViaPoint > &vpList, const double canonicalValue, const std::vector< double > &viaPoint) |
void | appendToViapointList (std::vector< mp::arondto::ListViaPoint > &vpList, const double canonicalValue, const std::vector< float > &viaPoint) |
mp::arondto::MPTraj | createDummyTraj (const int dimension, const int timesteps=100) |
create a dummy trajectory that only has zeros for every dimension. More... | |
void | debugEigenPose (StringVariantBaseMap &datafields, const std::string &name, Eigen::Matrix4f pose) |
void | debugEigenVec (StringVariantBaseMap &datafields, const std::string &name, Eigen::VectorXf vec) |
void | debugStdVec (StringVariantBaseMap &datafields, const std::string &name, std::vector< float > vec) |
bool | detectAndReportPoseDeviationWarning (const Eigen::Matrix4f &pose1, const Eigen::Matrix4f &pose2, const std::string &namePose1, const std::string &namePose2, float positionThrMM, float angleThrDeg, const std::string &who) |
Eigen::Matrix4f | dVecToMat4 (const mplib::core::DVec &dvec) |
create Eigen:Matrix4f from 7D double vector. More... | |
PosePtr | dVecToPose (const mplib::core::DVec &dvec) |
std::string | dVecToString (const mplib::core::DVec &dvec) |
void | from_json (const nlohmann::json &j, Pose &fp) |
void | from_json (const nlohmann::json &j, PoseBasePtr &fp) |
void | from_json (const nlohmann::json &j, PosePtr &fp) |
mp::arondto::MPConfig | getDefaultMPConfig (MPType mpType, const std::string &name, const std::string &nodeSetName, const double &durationSec, const std::vector< mp::arondto::MPTraj > &mpTraj, const std::vector< mp::arondto::ListViaPoint > &viaPointList) |
mp::arondto::MPConfig | getDefaultMPConfig (MPType mpType, const std::string &name, const std::string &nodeSetName, const double &durationSec, const std::vector< std::string > &mpTraj, const std::vector< mp::arondto::ListViaPoint > &viaPointList) |
float | getDeltaAngleBetweenPose (const Eigen::Matrix4f &pose1, const Eigen::Matrix4f &pose2) |
float | getDeltaAngleBetweenRotMat (const Eigen::Matrix3f &rotMat1, const Eigen::Matrix3f &rotMat2) |
void | getEigenMatrix (nlohmann::json &userConfig, const std::string &entryName, Eigen::MatrixXf &mat) |
Eigen::VectorXf | getEigenVec (nlohmann::json &userConfig, nlohmann::json &defaultConfig, const std::string &entryName, int size, int value) |
template<typename T > | |
void | getEigenVec (nlohmann::json &userConfig, nlohmann::json &defaultConfig, const std::string &entryName, T &vec) |
Eigen::VectorXf | getEigenVecWithDefault (nlohmann::json &userConfig, Eigen::VectorXf defaultValue, const std::string &entryName) |
void | getError (Eigen::Matrix4f ¤tPose, Eigen::Vector3d &targetPosition, Eigen::Quaterniond &targetQuaternion, double &posiError, double &oriError) |
Eigen::Block< Eigen::Matrix4f, 3, 3 > | getOri (Eigen::Matrix4f &matrix) |
Eigen::Block< Eigen::Matrix4f, 3, 1 > | getPos (Eigen::Matrix4f &matrix) |
template<typename T > | |
T | getValue (nlohmann::json &userConfig, nlohmann::json &defaultConfig, const std::string &entryName) |
template<typename T > | |
T | getValueWithDefault (nlohmann::json &userConfig, T defaultValue, const std::string &entryName) |
mplib::core::DVec | mat4ToDVec (const Eigen::Matrix4f &mat) |
convert Eigen:Matrix4f to 7D double vector. More... | |
std::vector< float > | mat4ToFVec (const Eigen::Matrix4f &mat) |
Eigen::Matrix3f | mirrorLeftRightOri (Eigen::Matrix3f &sourcePose) |
Eigen::Matrix4f | mirrorLeftRightOri (Eigen::Matrix4f &sourcePose) |
Eigen::Matrix4f | mirrorLeftRightPose (Eigen::Matrix4f &sourcePose) |
mp::arondto::MPTraj | mpTrajFromFile (std::string filepath, bool containsHeader, bool noTimeStamp) |
Eigen::VectorXf | pdf_gradient (const Eigen::VectorXf &mean, float std, const Eigen::VectorXf &x) |
bool | poseDeviationTooLarge (const Eigen::Matrix4f ¤tPose, const Eigen::Matrix4f &desiredPose, float positionThrMM, float angleThrDeg) |
mplib::core::DVec | poseToDVec (PosePtr &pose) |
std::vector< float > | poseToFVec (PosePtr &pose) |
void | reportPoseDeviationWarning (const std::string &who, const Eigen::Matrix4f &pose1, const Eigen::Matrix4f &pose2, const std::string &namePose1, const std::string &namePose2) |
std::string | sVecToString (const std::vector< std::string > &vec, const std::string &delimiter) |
void | to_json (nlohmann::json &j, const Pose &fp) |
void | to_json (nlohmann::json &j, const PoseBasePtr &fp) |
void | to_json (nlohmann::json &j, const PosePtr &fp) |
Eigen::VectorXf | vecToEigen (std::vector< float > &vec) |
Variables | |
const simox::meta::EnumNames< ControllerType > | ControllerTypeNames |
const simox::meta::EnumNames< ControllerType > | ControllerTypeShort |
const simox::meta::EnumNames< MPType > | mpTypeToString |
This file is part of ArmarX.
ArmarX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
ArmarX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
|
strong |
|
strong |
void addViaPoint | ( | mp::arondto::MPConfig & | cfg, |
const double & | canValue, | ||
const Eigen::Matrix4f & | viaPose | ||
) |
void addViaPoint | ( | mp::arondto::MPConfig & | cfg, |
const double & | canValue, | ||
const Eigen::VectorXf & | viaPoint | ||
) |
void addViaPoint | ( | mp::arondto::MPConfig & | cfg, |
const double & | canValue, | ||
const std::vector< double > & | viaPoint | ||
) |
void addViaPoint | ( | mp::arondto::MPConfig & | cfg, |
const double & | canValue, | ||
const std::vector< float > & | viaPoint | ||
) |
void appendToViapointList | ( | std::vector< mp::arondto::ListViaPoint > & | vpList, |
const double | canonicalValue, | ||
const Eigen::Matrix4f & | viaPose | ||
) |
void appendToViapointList | ( | std::vector< mp::arondto::ListViaPoint > & | vpList, |
const double | canonicalValue, | ||
const Eigen::VectorXf & | viaPoint | ||
) |
void appendToViapointList | ( | std::vector< mp::arondto::ListViaPoint > & | vpList, |
const double | canonicalValue, | ||
const std::vector< double > & | viaPoint | ||
) |
void appendToViapointList | ( | std::vector< mp::arondto::ListViaPoint > & | vpList, |
const double | canonicalValue, | ||
const std::vector< float > & | viaPoint | ||
) |
mp::arondto::MPTraj createDummyTraj | ( | const int | dimension, |
const int | timesteps = 100 |
||
) |
create a dummy trajectory that only has zeros for every dimension.
dimension | the dimension of the trajectory, e.g. 7d for taskspace and Nd for N-joint kinematic chain. |
timesteps | the total number of timesteps in the trajectory |
Note that, we you use this to configure MPs and execute it after, you'll have to set a proper start and goal for it, either set them in the MPListConfig for the corresponding MP and call startAll(), or use start("MPName", start, goal, duration_second). Otherwise, the MP will assume the first and last timestep being the start and goal, which are all zeros and therefore wrong for your task.
void debugEigenPose | ( | StringVariantBaseMap & | datafields, |
const std::string & | name, | ||
Eigen::Matrix4f | pose | ||
) |
void debugEigenVec | ( | StringVariantBaseMap & | datafields, |
const std::string & | name, | ||
Eigen::VectorXf | vec | ||
) |
void debugStdVec | ( | StringVariantBaseMap & | datafields, |
const std::string & | name, | ||
std::vector< float > | vec | ||
) |
Eigen::Matrix4f dVecToMat4 | ( | const mplib::core::DVec & | dvec | ) |
PosePtr dVecToPose | ( | const mplib::core::DVec & | dvec | ) |
std::string dVecToString | ( | const mplib::core::DVec & | dvec | ) |
void from_json | ( | const nlohmann::json & | j, |
Pose & | fp | ||
) |
void from_json | ( | const nlohmann::json & | j, |
PoseBasePtr & | fp | ||
) |
void from_json | ( | const nlohmann::json & | j, |
PosePtr & | fp | ||
) |
mp::arondto::MPConfig getDefaultMPConfig | ( | MPType | mpType, |
const std::string & | name, | ||
const std::string & | nodeSetName, | ||
const double & | durationSec, | ||
const std::vector< mp::arondto::MPTraj > & | mpTraj, | ||
const std::vector< mp::arondto::ListViaPoint > & | viaPointList | ||
) |
mp::arondto::MPConfig getDefaultMPConfig | ( | MPType | mpType, |
const std::string & | name, | ||
const std::string & | nodeSetName, | ||
const double & | durationSec, | ||
const std::vector< std::string > & | mpTraj, | ||
const std::vector< mp::arondto::ListViaPoint > & | viaPointList | ||
) |
float getDeltaAngleBetweenPose | ( | const Eigen::Matrix4f & | pose1, |
const Eigen::Matrix4f & | pose2 | ||
) |
float getDeltaAngleBetweenRotMat | ( | const Eigen::Matrix3f & | rotMat1, |
const Eigen::Matrix3f & | rotMat2 | ||
) |
void getEigenMatrix | ( | nlohmann::json & | userConfig, |
const std::string & | entryName, | ||
Eigen::MatrixXf & | mat | ||
) |
Eigen::VectorXf getEigenVec | ( | nlohmann::json & | userConfig, |
nlohmann::json & | defaultConfig, | ||
const std::string & | entryName, | ||
int | size, | ||
int | value | ||
) |
void armarx::control::common::getEigenVec | ( | nlohmann::json & | userConfig, |
nlohmann::json & | defaultConfig, | ||
const std::string & | entryName, | ||
T & | vec | ||
) |
Eigen::VectorXf getEigenVecWithDefault | ( | nlohmann::json & | userConfig, |
Eigen::VectorXf | defaultValue, | ||
const std::string & | entryName | ||
) |
void getError | ( | Eigen::Matrix4f & | currentPose, |
Eigen::Vector3d & | targetPosition, | ||
Eigen::Quaterniond & | targetQuaternion, | ||
double & | posiError, | ||
double & | oriError | ||
) |
Eigen::Block< Eigen::Matrix4f, 3, 3 > getOri | ( | Eigen::Matrix4f & | matrix | ) |
Eigen::Block< Eigen::Matrix4f, 3, 1 > getPos | ( | Eigen::Matrix4f & | matrix | ) |
T armarx::control::common::getValue | ( | nlohmann::json & | userConfig, |
nlohmann::json & | defaultConfig, | ||
const std::string & | entryName | ||
) |
mplib::core::DVec mat4ToDVec | ( | const Eigen::Matrix4f & | mat | ) |
std::vector< float > mat4ToFVec | ( | const Eigen::Matrix4f & | mat | ) |
Eigen::Matrix3f mirrorLeftRightOri | ( | Eigen::Matrix3f & | sourcePose | ) |
Eigen::Matrix4f mirrorLeftRightOri | ( | Eigen::Matrix4f & | sourcePose | ) |
Eigen::Matrix4f mirrorLeftRightPose | ( | Eigen::Matrix4f & | sourcePose | ) |
armarx::control::common::mp::arondto::MPTraj mpTrajFromFile | ( | std::string | filepath, |
bool | containsHeader, | ||
bool | noTimeStamp | ||
) |
Eigen::VectorXf pdf_gradient | ( | const Eigen::VectorXf & | mean, |
float | std, | ||
const Eigen::VectorXf & | x | ||
) |
mplib::core::DVec poseToDVec | ( | PosePtr & | pose | ) |
void reportPoseDeviationWarning | ( | const std::string & | who, |
const Eigen::Matrix4f & | pose1, | ||
const Eigen::Matrix4f & | pose2, | ||
const std::string & | namePose1, | ||
const std::string & | namePose2 | ||
) |
std::string sVecToString | ( | const std::vector< std::string > & | vec, |
const std::string & | delimiter | ||
) |
void to_json | ( | nlohmann::json & | j, |
const Pose & | fp | ||
) |
void to_json | ( | nlohmann::json & | j, |
const PoseBasePtr & | fp | ||
) |
void to_json | ( | nlohmann::json & | j, |
const PosePtr & | fp | ||
) |
|
inline |
|
inline |