33 uint16_t step_time = uint16_t(floor(move_time / control_time) + 1.0);
34 move_time = double(step_time - 1) * control_time;
36 Eigen::Matrix3d A = Eigen::Matrix3d::Identity(3, 3);
37 Eigen::Vector3d x = Eigen::Vector3d::Zero();
38 Eigen::Vector3d b = Eigen::Vector3d::Zero();
40 A << pow(move_time, 3), pow(move_time, 4), pow(move_time, 5),
41 3 * pow(move_time, 2), 4 * pow(move_time, 3), 5 * pow(move_time, 4),
42 6 * pow(move_time, 1), 12 * pow(move_time, 2), 20 * pow(move_time, 3);
48 b << (goal.
position -
start.position - (
start.velocity * move_time + 0.5 *
start.acceleration * pow(move_time, 2))),
52 Eigen::ColPivHouseholderQR<Eigen::Matrix3d> dec(A);
73 std::vector<WayPoint> start,
74 std::vector<WayPoint> goal)
76 for (uint8_t index = 0; index <
start.size(); index++)
96 for (uint8_t index = 0; index <
joint_num_; index++)
99 single_joint_way_point.
position = 0.0;
100 single_joint_way_point.
velocity = 0.0;