Robotis Manipulator  1.0.0
robotis_manipulator::JointTrajectory Class Reference

The JointTrajectory class. More...

#include <robotis_manipulator_trajectory_generator.h>

Collaboration diagram for robotis_manipulator::JointTrajectory:
Collaboration graph

Public Member Functions

 JointTrajectory ()
 
virtual ~JointTrajectory ()
 
void makeJointTrajectory (double move_time, JointWaypoint start, JointWaypoint goal)
 makeJointTrajectory More...
 
Eigen::MatrixXd getMinimumJerkCoefficient ()
 getMinimumJerkCoefficient More...
 
JointWaypoint getJointWaypoint (double tick)
 getJointWaypoint More...
 

Private Attributes

uint8_t coefficient_size_
 
MinimumJerk minimum_jerk_trajectory_generator_
 
Eigen::MatrixXd minimum_jerk_coefficient_
 

Detailed Description

The JointTrajectory class.

Definition at line 79 of file robotis_manipulator_trajectory_generator.h.

Constructor & Destructor Documentation

JointTrajectory::JointTrajectory ( )

Definition at line 72 of file robotis_manipulator_trajectory_generator.cpp.

73 {}
JointTrajectory::~JointTrajectory ( )
virtual

Definition at line 75 of file robotis_manipulator_trajectory_generator.cpp.

75 {}

Member Function Documentation

JointWaypoint JointTrajectory::getJointWaypoint ( double  tick)

getJointWaypoint

Parameters
tick
Returns

Definition at line 92 of file robotis_manipulator_trajectory_generator.cpp.

93 {
94  JointWaypoint joint_way_point;
95  for (uint8_t index = 0; index < coefficient_size_; index++)
96  {
97  JointValue single_joint_way_point;
98 
99  single_joint_way_point.position = minimum_jerk_coefficient_(0, index) +
100  minimum_jerk_coefficient_(1, index) * pow(tick, 1) +
101  minimum_jerk_coefficient_(2, index) * pow(tick, 2) +
102  minimum_jerk_coefficient_(3, index) * pow(tick, 3) +
103  minimum_jerk_coefficient_(4, index) * pow(tick, 4) +
104  minimum_jerk_coefficient_(5, index) * pow(tick, 5);
105 
106  single_joint_way_point.velocity = minimum_jerk_coefficient_(1, index) +
107  2 * minimum_jerk_coefficient_(2, index) * pow(tick, 1) +
108  3 * minimum_jerk_coefficient_(3, index) * pow(tick, 2) +
109  4 * minimum_jerk_coefficient_(4, index) * pow(tick, 3) +
110  5 * minimum_jerk_coefficient_(5, index) * pow(tick, 4);
111 
112  single_joint_way_point.acceleration = 2 * minimum_jerk_coefficient_(2, index) +
113  6 * minimum_jerk_coefficient_(3, index) * pow(tick, 1) +
114  12 * minimum_jerk_coefficient_(4, index) * pow(tick, 2) +
115  20 * minimum_jerk_coefficient_(5, index) * pow(tick, 3);
116 
117  single_joint_way_point.effort = 0.0;
118 
119  joint_way_point.push_back(single_joint_way_point);
120  }
121 
122  return joint_way_point;
123 }
std::vector< JointValue > JointWaypoint

Here is the caller graph for this function:

Eigen::MatrixXd JointTrajectory::getMinimumJerkCoefficient ( )

getMinimumJerkCoefficient

Returns

Definition at line 125 of file robotis_manipulator_trajectory_generator.cpp.

void JointTrajectory::makeJointTrajectory ( double  move_time,
JointWaypoint  start,
JointWaypoint  goal 
)

makeJointTrajectory

Parameters
move_time
start
goal

Definition at line 77 of file robotis_manipulator_trajectory_generator.cpp.

79 {
80  coefficient_size_ = start.size();
82  for (uint8_t index = 0; index < coefficient_size_; index++)
83  {
85  goal.at(index),
86  move_time);
87 
89  }
90 }
void calcCoefficient(Point start, Point goal, double move_time)
calcCoefficient

Member Data Documentation

uint8_t robotis_manipulator::JointTrajectory::coefficient_size_
private

Definition at line 82 of file robotis_manipulator_trajectory_generator.h.

Eigen::MatrixXd robotis_manipulator::JointTrajectory::minimum_jerk_coefficient_
private

Definition at line 84 of file robotis_manipulator_trajectory_generator.h.

MinimumJerk robotis_manipulator::JointTrajectory::minimum_jerk_trajectory_generator_
private

Definition at line 83 of file robotis_manipulator_trajectory_generator.h.


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