41 const etools::Vector3& b,
42 const double step_height)
44 HUMOTO_ASSERT(b(2) <= (a(2) + step_height),
"final z position greater than step height.")
45 x_.initialize( a(0), b(0));
46 y_.initialize( a(1), b(1));
47 z1_.initialize(a(2), a(2) + step_height);
48 z2_.initialize(step_height + a(2), b(2));
62 void initialize(
const etools::Vector3& a,
const etools::Vector3& adot,
63 const etools::Vector3& b,
const etools::Vector3& bdot,
64 const double step_height)
66 HUMOTO_ASSERT(b(2) <= (a(2) + step_height),
"final z position greater than step height.")
67 x_.initialize( a(0), adot(0), b(0), bdot(0));
68 y_.initialize( a(1), adot(1), b(1), bdot(1));
69 z1_.initialize(a(2), adot(2), a(2) + step_height, 0.0);
70 z2_.initialize(step_height + a(2), 0.0, b(2), bdot(2));
84 const double step_height)
104 return (x_.eval(t, trajectory_type));
114 return (y_.eval(t, trajectory_type));
126 return (z1_.eval(t*2, trajectory_type));
130 return (z2_.eval((t-0.5)*2, trajectory_type));
143 etools::Vector3
eval(
const double t,
146 etools::Vector3 result;
148 result(0) = evalx(t, trajectory_type);
149 result(1) = evaly(t, trajectory_type);
150 result(2) = evalz(t, trajectory_type);
163 const double t)
const
Class that groups together parameters related to a robot foot.
etools::Vector3 position_
#define HUMOTO_ASSERT(condition, message)
Class interpolating simple 1D cubic polynomial between two 1D points. Use this class to build more co...
etools::Vector3 velocity_
etools::Vector3 acceleration_
The root namespace of HuMoTo.
Class that groups together parmeters related to a robot foot.