1#ifndef ROBOTOC_CONTACT_SEQUENCE_HPP_
2#define ROBOTOC_CONTACT_SEQUENCE_HPP_
83 const
bool sto=false);
99 const
double switching_time, const
bool sto=false);
158 const
int contact_phase,
159 const std::vector<Eigen::Vector3d>& contact_positions);
170 const
int contact_phase,
171 const std::vector<Eigen::Vector3d>& contact_positions,
172 const std::vector<Eigen::Matrix3d>& contact_rotations);
191 const std::vector<
double>& friction_coefficients);
198 return contact_statuses_.size();
215 return impact_events_.size();
232 assert(contact_phase >= 0);
234 return contact_statuses_[contact_phase];
243 assert(impact_index >= 0);
245 return impact_events_[impact_index].impactStatus();
253 assert(impact_index >= 0);
255 return impact_time_[impact_index];
263 assert(lift_index >= 0);
265 return lift_time_[lift_index];
275 assert(event_index >= 0);
294 void reserve(
const int reserved_num_discrete_events);
304 void disp(std::ostream& os)
const;
311 const std::shared_ptr<ContactSequence>& contact_sequence);
314 int reserved_num_discrete_events_;
316 std::deque<ContactStatus> contact_statuses_;
317 std::deque<DiscreteEvent> impact_events_;
318 std::deque<int> event_index_impact_, event_index_lift_;
319 std::deque<double> event_time_, impact_time_, lift_time_;
320 std::deque<bool> is_impact_event_, sto_impact_, sto_lift_;
Discrete event composed by impact and lift.
Definition: discrete_event.hpp:26
Impact status of robot model. Wrapper of ContactStatus to treat impacts.
Definition: impact_status.hpp:21
Dynamics and kinematics model of robots. Wraps pinocchio::Model and pinocchio::Data....
Definition: robot.hpp:32
Definition: constraint_component_base.hpp:17
DiscreteEventType
Type of the discrete events.
Definition: discrete_event.hpp:16
std::vector< T, Eigen::aligned_allocator< T > > aligned_vector
std vector with Eigen::aligned_allocator.
Definition: aligned_vector.hpp:14
pinocchio::SE3 SE3
Using pinocchio::SE3 without its namespace.
Definition: se3.hpp:15