1#ifndef ROBOTOC_CONTACT_STATUS_HPP_
2#define ROBOTOC_CONTACT_STATUS_HPP_
6#include <unordered_map>
42 const std::vector<std::string>& contact_frame_names,
43 const double default_friction_coefficient=0.7);
208 const Eigen::Vector3d& contact_position);
221 const Eigen::Vector3d& contact_position);
234 const Eigen::Vector3d& contact_position,
235 const Eigen::Matrix3d& contact_rotation);
248 const Eigen::Vector3d& contact_position,
249 const Eigen::Matrix3d& contact_rotation);
261 const
SE3& contact_placement);
273 const
SE3& contact_placement);
283 const std::vector<Eigen::Vector3d>& contact_positions);
293 const std::unordered_map<std::
string, Eigen::Vector3d>& contact_positions);
303 const std::vector<Eigen::Vector3d>& contact_positions,
304 const std::vector<Eigen::Matrix3d>& contact_rotations);
314 const std::unordered_map<std::
string, Eigen::Vector3d>& contact_positions,
315 const std::unordered_map<std::
string, Eigen::Matrix3d>& contact_rotations);
359 const std::
string& contact_frame_name) const;
374 const std::
string& contact_frame_name) const;
400 const
double friction_coefficient);
408 const
double friction_coefficient);
423 const std::unordered_map<std::
string,
double>& friction_coefficients);
460 void disp(std::ostream& os) const;
462 friend std::ostream& operator<<(std::ostream& os,
465 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
469 std::vector<std::
string> contact_frame_names_;
470 std::vector<
bool> is_contact_active_;
472 std::vector<Eigen::Vector3d> contact_positions_;
473 std::vector<Eigen::Matrix3d> contact_rotations_;
474 std::vector<
double> friction_coefficients_;
475 int dimf_, max_contacts_, max_num_contacts_;
476 bool has_active_contacts_;
478 void setHasActiveContacts();
484#include "robotoc/robot/contact_status.hxx"
Definition: constraint_component_base.hpp:17
ContactType
Types of contacts.
Definition: contact_status.hpp:22
std::vector< T, Eigen::aligned_allocator< T > > aligned_vector
std vector with Eigen::aligned_allocator.
Definition: aligned_vector.hpp:14
std::unordered_map< Key, T, std::hash< Key >, std::equal_to< Key >, Eigen::aligned_allocator< std::pair< Key, T > > > aligned_unordered_map
std unordered_map with Eigen::aligned_allocator.
Definition: aligned_unordered_map.hpp:15
pinocchio::SE3 SE3
Using pinocchio::SE3 without its namespace.
Definition: se3.hpp:15