$search
#include <chomp_optimizer.h>
Public Member Functions | |
ChompOptimizer (ChompTrajectory *trajectory, planning_models::KinematicModel *robot_model, const std::string &planning_group, const ChompParameters *parameters, const ros::Publisher &vis_marker_array_publisher, const ros::Publisher &vis_marker_publisher, collision_proximity::CollisionProximitySpace *collision_space) | |
void | destroy () |
template<typename Derived > | |
void | getJacobian (int trajectoryPoint, Vector3d &collision_point_pos, string &jointName, MatrixBase< Derived > &jacobian) const |
void | optimize () |
virtual | ~ChompOptimizer () |
Private Member Functions | |
void | addIncrementsToTrajectory () |
void | animateEndeffector () |
void | animatePath () |
void | calculateCollisionIncrements () |
void | calculatePseudoInverse () |
void | calculateSmoothnessIncrements () |
void | calculateTotalIncrements () |
bool | checkCurrentIterValidity () |
void | computeJointProperties (int trajectoryPoint) |
void | debugCost () |
double | getCollisionCost () |
template<typename Derived > | |
void | getJacobian (int trajectoryPoint, Eigen::Vector3d &collision_point_pos, std::string &jointName, Eigen::MatrixBase< Derived > &jacobian) const |
double | getPotential (double field_distance, double radius, double clearence) |
void | getRandomMomentum () |
void | getRandomState (const planning_models::KinematicState *currentState, const std::string &groupName, Eigen::VectorXd &state_vec) |
double | getSmoothnessCost () |
double | getTrajectoryCost () |
void | handleJointLimits () |
void | initialize () |
bool | isParent (const std::string &childLink, const std::string &parentLink) const |
void | performForwardKinematics () |
void | perturbTrajectory () |
void | registerParents (const planning_models::KinematicModel::JointModel *model) |
void | setRobotStateFromPoint (ChompTrajectory &group_trajectory, int i) |
void | updateFullTrajectory () |
void | updateMomentum () |
void | updatePositionFromMomentum () |
void | visualizeState (int index) |
Private Attributes | |
Eigen::MatrixXd | best_group_trajectory_ |
double | best_group_trajectory_cost_ |
int | collision_free_iteration_ |
Eigen::MatrixXd | collision_increments_ |
std::vector< std::vector < Eigen::Vector3d > > | collision_point_acc_eigen_ |
std::vector< std::vector < std::string > > | collision_point_joint_names_ |
std::vector< std::vector < Eigen::Vector3d > > | collision_point_pos_eigen_ |
std::vector< std::vector < double > > | collision_point_potential_ |
std::vector< std::vector < Eigen::Vector3d > > | collision_point_potential_gradient_ |
std::vector< std::vector < Eigen::Vector3d > > | collision_point_vel_eigen_ |
std::vector< std::vector < double > > | collision_point_vel_mag_ |
collision_proximity::CollisionProximitySpace * | collision_space_ |
Eigen::MatrixXd | final_increments_ |
int | free_vars_end_ |
int | free_vars_start_ |
ChompTrajectory * | full_trajectory_ |
ChompTrajectory | group_trajectory_ |
Eigen::MatrixXd | group_trajectory_backup_ |
bool | is_collision_free_ |
int | iteration_ |
Eigen::MatrixXd | jacobian_ |
Eigen::MatrixXd | jacobian_jacobian_tranpose_ |
Eigen::MatrixXd | jacobian_pseudo_inverse_ |
std::vector< std::vector < btVector3 > > | joint_axes_ |
std::vector< ChompCost > | joint_costs_ |
std::vector< std::string > | joint_names_ |
std::map< std::string, std::map< std::string, bool > > | joint_parent_map_ |
std::vector< std::vector < btVector3 > > | joint_positions_ |
Eigen::VectorXd | joint_state_velocities_ |
int | last_improvement_iteration_ |
Eigen::MatrixXd | momentum_ |
std::vector< MultivariateGaussian > | multivariate_gaussian_ |
int | num_collision_points_ |
int | num_joints_ |
int | num_vars_all_ |
int | num_vars_free_ |
const ChompParameters * | parameters_ |
const std::string & | planning_group_ |
std::vector< std::vector< int > > | point_is_in_collision_ |
Eigen::VectorXd | random_joint_momentum_ |
Eigen::MatrixXd | random_momentum_ |
Eigen::VectorXd | random_state_ |
planning_models::KinematicModel * | robot_model_ |
planning_models::KinematicState * | robot_state_ |
Eigen::VectorXd | smoothness_derivative_ |
Eigen::MatrixXd | smoothness_increments_ |
std::vector< int > | state_is_in_collision_ |
double | stochasticity_factor_ |
ros::Publisher | vis_marker_array_pub_ |
ros::Publisher | vis_marker_pub_ |
double | worst_collision_cost_state_ |
Definition at line 54 of file chomp_optimizer.h.
chomp::ChompOptimizer::ChompOptimizer | ( | ChompTrajectory * | trajectory, | |
planning_models::KinematicModel * | robot_model, | |||
const std::string & | planning_group, | |||
const ChompParameters * | parameters, | |||
const ros::Publisher & | vis_marker_array_publisher, | |||
const ros::Publisher & | vis_marker_publisher, | |||
collision_proximity::CollisionProximitySpace * | collision_space | |||
) |
chomp::ChompOptimizer::~ChompOptimizer | ( | ) | [virtual] |
Definition at line 253 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::addIncrementsToTrajectory | ( | ) | [private] |
Definition at line 623 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::animateEndeffector | ( | ) | [private] |
Definition at line 1044 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::animatePath | ( | ) | [private] |
Definition at line 1034 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::calculateCollisionIncrements | ( | ) | [private] |
Definition at line 529 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::calculatePseudoInverse | ( | ) | [private] |
Definition at line 605 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::calculateSmoothnessIncrements | ( | ) | [private] |
Definition at line 519 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::calculateTotalIncrements | ( | ) | [private] |
Definition at line 612 of file chomp_optimizer.cpp.
bool chomp::ChompOptimizer::checkCurrentIterValidity | ( | ) | [private] |
Definition at line 487 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::computeJointProperties | ( | int | trajectoryPoint | ) | [private] |
Definition at line 701 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::debugCost | ( | ) | [private] |
Definition at line 652 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::destroy | ( | ) | [inline] |
Definition at line 66 of file chomp_optimizer.h.
double chomp::ChompOptimizer::getCollisionCost | ( | ) | [private] |
Definition at line 675 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::getJacobian | ( | int | trajectoryPoint, | |
Vector3d & | collision_point_pos, | |||
string & | jointName, | |||
MatrixBase< Derived > & | jacobian | |||
) | const [inline] |
Definition at line 741 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::getJacobian | ( | int | trajectoryPoint, | |
Eigen::Vector3d & | collision_point_pos, | |||
std::string & | jointName, | |||
Eigen::MatrixBase< Derived > & | jacobian | |||
) | const [inline, private] |
double chomp::ChompOptimizer::getPotential | ( | double | field_distance, | |
double | radius, | |||
double | clearence | |||
) | [inline, private] |
Definition at line 72 of file chomp_optimizer.h.
void chomp::ChompOptimizer::getRandomMomentum | ( | ) | [private] |
Definition at line 1005 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::getRandomState | ( | const planning_models::KinematicState * | currentState, | |
const std::string & | groupName, | |||
Eigen::VectorXd & | state_vec | |||
) | [private] |
double chomp::ChompOptimizer::getSmoothnessCost | ( | ) | [private] |
Definition at line 665 of file chomp_optimizer.cpp.
double chomp::ChompOptimizer::getTrajectoryCost | ( | ) | [private] |
Definition at line 660 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::handleJointLimits | ( | ) | [private] |
Definition at line 766 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::initialize | ( | ) | [private] |
Definition at line 68 of file chomp_optimizer.cpp.
bool chomp::ChompOptimizer::isParent | ( | const std::string & | childLink, | |
const std::string & | parentLink | |||
) | const [inline, private] |
Definition at line 166 of file chomp_optimizer.h.
void chomp::ChompOptimizer::optimize | ( | ) |
Definition at line 282 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::performForwardKinematics | ( | ) | [private] |
Definition at line 848 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::perturbTrajectory | ( | ) | [private] |
Definition at line 943 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::registerParents | ( | const planning_models::KinematicModel::JointModel * | model | ) | [private] |
Definition at line 258 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::setRobotStateFromPoint | ( | ChompTrajectory & | group_trajectory, | |
int | i | |||
) | [private] |
Definition at line 926 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::updateFullTrajectory | ( | ) | [private] |
Definition at line 647 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::updateMomentum | ( | ) | [private] |
Definition at line 1017 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::updatePositionFromMomentum | ( | ) | [private] |
Definition at line 1028 of file chomp_optimizer.cpp.
void chomp::ChompOptimizer::visualizeState | ( | int | index | ) | [private] |
Definition at line 1076 of file chomp_optimizer.cpp.
Eigen::MatrixXd chomp::ChompOptimizer::best_group_trajectory_ [private] |
Definition at line 132 of file chomp_optimizer.h.
double chomp::ChompOptimizer::best_group_trajectory_cost_ [private] |
Definition at line 133 of file chomp_optimizer.h.
int chomp::ChompOptimizer::collision_free_iteration_ [private] |
Definition at line 112 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::collision_increments_ [private] |
Definition at line 149 of file chomp_optimizer.h.
std::vector<std::vector<Eigen::Vector3d > > chomp::ChompOptimizer::collision_point_acc_eigen_ [private] |
Definition at line 125 of file chomp_optimizer.h.
std::vector<std::vector<std::string> > chomp::ChompOptimizer::collision_point_joint_names_ [private] |
Definition at line 122 of file chomp_optimizer.h.
std::vector<std::vector<Eigen::Vector3d > > chomp::ChompOptimizer::collision_point_pos_eigen_ [private] |
Definition at line 123 of file chomp_optimizer.h.
std::vector<std::vector<double> > chomp::ChompOptimizer::collision_point_potential_ [private] |
Definition at line 126 of file chomp_optimizer.h.
std::vector<std::vector<Eigen::Vector3d> > chomp::ChompOptimizer::collision_point_potential_gradient_ [private] |
Definition at line 128 of file chomp_optimizer.h.
std::vector<std::vector<Eigen::Vector3d > > chomp::ChompOptimizer::collision_point_vel_eigen_ [private] |
Definition at line 124 of file chomp_optimizer.h.
std::vector<std::vector<double> > chomp::ChompOptimizer::collision_point_vel_mag_ [private] |
Definition at line 127 of file chomp_optimizer.h.
Definition at line 118 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::final_increments_ [private] |
Definition at line 150 of file chomp_optimizer.h.
int chomp::ChompOptimizer::free_vars_end_ [private] |
Definition at line 110 of file chomp_optimizer.h.
int chomp::ChompOptimizer::free_vars_start_ [private] |
Definition at line 109 of file chomp_optimizer.h.
Definition at line 113 of file chomp_optimizer.h.
Definition at line 119 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::group_trajectory_backup_ [private] |
Definition at line 131 of file chomp_optimizer.h.
bool chomp::ChompOptimizer::is_collision_free_ [private] |
Definition at line 145 of file chomp_optimizer.h.
int chomp::ChompOptimizer::iteration_ [private] |
Definition at line 111 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::jacobian_ [private] |
Definition at line 154 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::jacobian_jacobian_tranpose_ [private] |
Definition at line 156 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::jacobian_pseudo_inverse_ [private] |
Definition at line 155 of file chomp_optimizer.h.
std::vector<std::vector<btVector3> > chomp::ChompOptimizer::joint_axes_ [private] |
Definition at line 129 of file chomp_optimizer.h.
std::vector<ChompCost> chomp::ChompOptimizer::joint_costs_ [private] |
Definition at line 120 of file chomp_optimizer.h.
std::vector<std::string> chomp::ChompOptimizer::joint_names_ [private] |
Definition at line 163 of file chomp_optimizer.h.
std::map<std::string, std::map<std::string, bool> > chomp::ChompOptimizer::joint_parent_map_ [private] |
Definition at line 164 of file chomp_optimizer.h.
std::vector<std::vector<btVector3> > chomp::ChompOptimizer::joint_positions_ [private] |
Definition at line 130 of file chomp_optimizer.h.
Eigen::VectorXd chomp::ChompOptimizer::joint_state_velocities_ [private] |
Definition at line 158 of file chomp_optimizer.h.
int chomp::ChompOptimizer::last_improvement_iteration_ [private] |
Definition at line 134 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::momentum_ [private] |
Definition at line 137 of file chomp_optimizer.h.
std::vector<MultivariateGaussian> chomp::ChompOptimizer::multivariate_gaussian_ [private] |
Definition at line 140 of file chomp_optimizer.h.
int chomp::ChompOptimizer::num_collision_points_ [private] |
Definition at line 108 of file chomp_optimizer.h.
int chomp::ChompOptimizer::num_joints_ [private] |
Definition at line 105 of file chomp_optimizer.h.
int chomp::ChompOptimizer::num_vars_all_ [private] |
Definition at line 107 of file chomp_optimizer.h.
int chomp::ChompOptimizer::num_vars_free_ [private] |
Definition at line 106 of file chomp_optimizer.h.
const ChompParameters* chomp::ChompOptimizer::parameters_ [private] |
Definition at line 117 of file chomp_optimizer.h.
const std::string& chomp::ChompOptimizer::planning_group_ [private] |
Definition at line 116 of file chomp_optimizer.h.
std::vector<std::vector<int> > chomp::ChompOptimizer::point_is_in_collision_ [private] |
Definition at line 144 of file chomp_optimizer.h.
Eigen::VectorXd chomp::ChompOptimizer::random_joint_momentum_ [private] |
Definition at line 139 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::random_momentum_ [private] |
Definition at line 138 of file chomp_optimizer.h.
Eigen::VectorXd chomp::ChompOptimizer::random_state_ [private] |
Definition at line 157 of file chomp_optimizer.h.
Definition at line 114 of file chomp_optimizer.h.
Definition at line 115 of file chomp_optimizer.h.
Eigen::VectorXd chomp::ChompOptimizer::smoothness_derivative_ [private] |
Definition at line 153 of file chomp_optimizer.h.
Eigen::MatrixXd chomp::ChompOptimizer::smoothness_increments_ [private] |
Definition at line 148 of file chomp_optimizer.h.
std::vector<int> chomp::ChompOptimizer::state_is_in_collision_ [private] |
Array containing a boolean about collision info for each point in the trajectory
Definition at line 143 of file chomp_optimizer.h.
double chomp::ChompOptimizer::stochasticity_factor_ [private] |
Definition at line 141 of file chomp_optimizer.h.
Definition at line 160 of file chomp_optimizer.h.
Definition at line 161 of file chomp_optimizer.h.
double chomp::ChompOptimizer::worst_collision_cost_state_ [private] |
Definition at line 146 of file chomp_optimizer.h.