Public Member Functions | Private Member Functions | Private Attributes
chomp::ChompOptimizer Class Reference

#include <chomp_optimizer.h>

List of all members.

Public Member Functions

 ChompOptimizer (ChompTrajectory *trajectory, const planning_scene::PlanningSceneConstPtr &planning_scene, const std::string &planning_group, const ChompParameters *parameters, const planning_models::RobotState &start_state)
void destroy ()
bool isInitialized () const
void optimize ()
virtual ~ChompOptimizer ()

Private Member Functions

void addIncrementsToTrajectory ()
void calculateCollisionIncrements ()
void calculatePseudoInverse ()
void calculateSmoothnessIncrements ()
void calculateTotalIncrements ()
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 ()
double getSmoothnessCost ()
double getTrajectoryCost ()
void handleJointLimits ()
void initialize ()
bool isCurrentTrajectoryMeshToMeshCollisionFree () const
bool isParent (const std::string &childLink, const std::string &parentLink) const
void performForwardKinematics ()
void perturbTrajectory ()
void registerParents (const planning_models::RobotModel::JointModel *model)
void setRobotStateFromPoint (ChompTrajectory &group_trajectory, int i)
void updateFullTrajectory ()
void updateMomentum ()
void updatePositionFromMomentum ()

Private Attributes

Eigen::MatrixXd best_group_trajectory_
double best_group_trajectory_cost_
unsigned 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_
Eigen::MatrixXd final_increments_
int free_vars_end_
int free_vars_start_
ChompTrajectoryfull_trajectory_
ChompTrajectory group_trajectory_
Eigen::MatrixXd group_trajectory_backup_
boost::shared_ptr
< collision_detection::GroupStateRepresentation > 
gsr_
const
collision_detection::CollisionRobotHybrid * 
hy_robot_
const
collision_detection::CollisionWorldHybrid * 
hy_world_
bool initialized_
bool is_collision_free_
int iteration_
Eigen::MatrixXd jacobian_
Eigen::MatrixXd jacobian_jacobian_tranpose_
Eigen::MatrixXd jacobian_pseudo_inverse_
std::vector< std::vector
< Eigen::Vector3d > > 
joint_axes_
std::vector< ChompCostjoint_costs_
const
planning_models::RobotModel::JointModelGroup * 
joint_model_group_
std::vector< std::string > joint_names_
std::map< std::string,
std::map< std::string, bool > > 
joint_parent_map_
std::vector< std::vector
< Eigen::Vector3d > > 
joint_positions_
Eigen::VectorXd joint_state_velocities_
const
planning_models::RobotModelConstPtr
kmodel_
int last_improvement_iteration_
Eigen::MatrixXd momentum_
std::vector< MultivariateGaussianmultivariate_gaussian_
unsigned int num_collision_free_iterations_
int num_collision_points_
int num_joints_
int num_vars_all_
int num_vars_free_
const ChompParametersparameters_
std::string planning_group_
planning_scene::PlanningSceneConstPtr planning_scene_
std::vector< std::vector< int > > point_is_in_collision_
Eigen::VectorXd random_joint_momentum_
Eigen::MatrixXd random_momentum_
Eigen::VectorXd random_state_
Eigen::VectorXd smoothness_derivative_
Eigen::MatrixXd smoothness_increments_
planning_models::RobotState * start_state_
planning_models::RobotState * state_
std::vector< int > state_is_in_collision_
double stochasticity_factor_
double worst_collision_cost_state_

Detailed Description

Definition at line 57 of file chomp_optimizer.h.


Constructor & Destructor Documentation

chomp::ChompOptimizer::ChompOptimizer ( ChompTrajectory trajectory,
const planning_scene::PlanningSceneConstPtr planning_scene,
const std::string &  planning_group,
const ChompParameters parameters,
const planning_models::RobotState &  start_state 
)

Definition at line 52 of file chomp_optimizer.cpp.

Definition at line 269 of file chomp_optimizer.cpp.


Member Function Documentation

Definition at line 684 of file chomp_optimizer.cpp.

Definition at line 590 of file chomp_optimizer.cpp.

Definition at line 666 of file chomp_optimizer.cpp.

Definition at line 580 of file chomp_optimizer.cpp.

Definition at line 673 of file chomp_optimizer.cpp.

void chomp::ChompOptimizer::computeJointProperties ( int  trajectoryPoint) [private]

Definition at line 758 of file chomp_optimizer.cpp.

Definition at line 709 of file chomp_optimizer.cpp.

void chomp::ChompOptimizer::destroy ( ) [inline]

Definition at line 70 of file chomp_optimizer.h.

Definition at line 732 of file chomp_optimizer.cpp.

template<typename Derived >
void chomp::ChompOptimizer::getJacobian ( int  trajectoryPoint,
Eigen::Vector3d &  collision_point_pos,
std::string &  jointName,
Eigen::MatrixBase< Derived > &  jacobian 
) const [private]

Definition at line 800 of file chomp_optimizer.cpp.

double chomp::ChompOptimizer::getPotential ( double  field_distance,
double  radius,
double  clearence 
) [inline, private]

Definition at line 81 of file chomp_optimizer.h.

Definition at line 1094 of file chomp_optimizer.cpp.

Definition at line 722 of file chomp_optimizer.cpp.

Definition at line 717 of file chomp_optimizer.cpp.

Definition at line 827 of file chomp_optimizer.cpp.

Definition at line 83 of file chomp_optimizer.cpp.

Definition at line 534 of file chomp_optimizer.cpp.

bool chomp::ChompOptimizer::isInitialized ( ) const [inline]

Definition at line 75 of file chomp_optimizer.h.

bool chomp::ChompOptimizer::isParent ( const std::string &  childLink,
const std::string &  parentLink 
) const [inline, private]

Definition at line 186 of file chomp_optimizer.h.

Definition at line 306 of file chomp_optimizer.cpp.

Definition at line 906 of file chomp_optimizer.cpp.

Definition at line 1020 of file chomp_optimizer.cpp.

void chomp::ChompOptimizer::registerParents ( const planning_models::RobotModel::JointModel *  model) [private]

Definition at line 274 of file chomp_optimizer.cpp.

void chomp::ChompOptimizer::setRobotStateFromPoint ( ChompTrajectory group_trajectory,
int  i 
) [private]

Definition at line 1004 of file chomp_optimizer.cpp.

Definition at line 704 of file chomp_optimizer.cpp.

Definition at line 1106 of file chomp_optimizer.cpp.

Definition at line 1117 of file chomp_optimizer.cpp.


Member Data Documentation

Definition at line 154 of file chomp_optimizer.h.

Definition at line 155 of file chomp_optimizer.h.

Definition at line 126 of file chomp_optimizer.h.

Definition at line 172 of file chomp_optimizer.h.

std::vector<std::vector<Eigen::Vector3d > > chomp::ChompOptimizer::collision_point_acc_eigen_ [private]

Definition at line 147 of file chomp_optimizer.h.

std::vector<std::vector<std::string> > chomp::ChompOptimizer::collision_point_joint_names_ [private]

Definition at line 144 of file chomp_optimizer.h.

std::vector<std::vector<Eigen::Vector3d > > chomp::ChompOptimizer::collision_point_pos_eigen_ [private]

Definition at line 145 of file chomp_optimizer.h.

std::vector<std::vector<double> > chomp::ChompOptimizer::collision_point_potential_ [private]

Definition at line 148 of file chomp_optimizer.h.

std::vector<std::vector<Eigen::Vector3d> > chomp::ChompOptimizer::collision_point_potential_gradient_ [private]

Definition at line 150 of file chomp_optimizer.h.

std::vector<std::vector<Eigen::Vector3d > > chomp::ChompOptimizer::collision_point_vel_eigen_ [private]

Definition at line 146 of file chomp_optimizer.h.

std::vector<std::vector<double> > chomp::ChompOptimizer::collision_point_vel_mag_ [private]

Definition at line 149 of file chomp_optimizer.h.

Eigen::MatrixXd chomp::ChompOptimizer::final_increments_ [private]

Definition at line 173 of file chomp_optimizer.h.

Definition at line 124 of file chomp_optimizer.h.

Definition at line 123 of file chomp_optimizer.h.

Definition at line 128 of file chomp_optimizer.h.

Definition at line 132 of file chomp_optimizer.h.

Definition at line 153 of file chomp_optimizer.h.

boost::shared_ptr<collision_detection::GroupStateRepresentation> chomp::ChompOptimizer::gsr_ [private]

Definition at line 141 of file chomp_optimizer.h.

const collision_detection::CollisionRobotHybrid* chomp::ChompOptimizer::hy_robot_ [private]

Definition at line 138 of file chomp_optimizer.h.

const collision_detection::CollisionWorldHybrid* chomp::ChompOptimizer::hy_world_ [private]

Definition at line 137 of file chomp_optimizer.h.

Definition at line 142 of file chomp_optimizer.h.

Definition at line 168 of file chomp_optimizer.h.

Definition at line 125 of file chomp_optimizer.h.

Eigen::MatrixXd chomp::ChompOptimizer::jacobian_ [private]

Definition at line 177 of file chomp_optimizer.h.

Definition at line 179 of file chomp_optimizer.h.

Definition at line 178 of file chomp_optimizer.h.

std::vector<std::vector<Eigen::Vector3d> > chomp::ChompOptimizer::joint_axes_ [private]

Definition at line 151 of file chomp_optimizer.h.

Definition at line 140 of file chomp_optimizer.h.

const planning_models::RobotModel::JointModelGroup* chomp::ChompOptimizer::joint_model_group_ [private]

Definition at line 136 of file chomp_optimizer.h.

std::vector<std::string> chomp::ChompOptimizer::joint_names_ [private]

Definition at line 183 of file chomp_optimizer.h.

std::map<std::string, std::map<std::string, bool> > chomp::ChompOptimizer::joint_parent_map_ [private]

Definition at line 184 of file chomp_optimizer.h.

std::vector<std::vector<Eigen::Vector3d> > chomp::ChompOptimizer::joint_positions_ [private]

Definition at line 152 of file chomp_optimizer.h.

Definition at line 181 of file chomp_optimizer.h.

Definition at line 129 of file chomp_optimizer.h.

Definition at line 156 of file chomp_optimizer.h.

Eigen::MatrixXd chomp::ChompOptimizer::momentum_ [private]

Definition at line 160 of file chomp_optimizer.h.

Definition at line 163 of file chomp_optimizer.h.

Definition at line 157 of file chomp_optimizer.h.

Definition at line 122 of file chomp_optimizer.h.

Definition at line 119 of file chomp_optimizer.h.

Definition at line 121 of file chomp_optimizer.h.

Definition at line 120 of file chomp_optimizer.h.

Definition at line 131 of file chomp_optimizer.h.

Definition at line 130 of file chomp_optimizer.h.

Definition at line 133 of file chomp_optimizer.h.

std::vector<std::vector<int> > chomp::ChompOptimizer::point_is_in_collision_ [private]

Definition at line 167 of file chomp_optimizer.h.

Definition at line 162 of file chomp_optimizer.h.

Eigen::MatrixXd chomp::ChompOptimizer::random_momentum_ [private]

Definition at line 161 of file chomp_optimizer.h.

Eigen::VectorXd chomp::ChompOptimizer::random_state_ [private]

Definition at line 180 of file chomp_optimizer.h.

Definition at line 176 of file chomp_optimizer.h.

Definition at line 171 of file chomp_optimizer.h.

planning_models::RobotState* chomp::ChompOptimizer::start_state_ [private]

Definition at line 135 of file chomp_optimizer.h.

planning_models::RobotState* chomp::ChompOptimizer::state_ [private]

Definition at line 134 of file chomp_optimizer.h.

Array containing a boolean about collision info for each point in the trajectory

Definition at line 166 of file chomp_optimizer.h.

Definition at line 164 of file chomp_optimizer.h.

Definition at line 169 of file chomp_optimizer.h.


The documentation for this class was generated from the following files:


chomp_motion_planner
Author(s): Gil Jones
autogenerated on Mon Oct 6 2014 11:12:26