robotoc
robotoc - efficient ROBOT Optimal Control solvers
Loading...
Searching...
No Matches
robot_model_info.hpp
Go to the documentation of this file.
1#ifndef ROBOTOC_ROBOT_MODEL_INFO_HPP_
2#define ROBOTOC_ROBOT_MODEL_INFO_HPP_
3
4#include <string>
5#include <vector>
6
8
9namespace robotoc {
10
15enum class BaseJointType {
18};
19
34 RobotModelInfo(const std::string& urdf_path,
36 const std::vector<ContactModelInfo>& point_contacts,
37 const std::vector<ContactModelInfo>& surface_contacts,
38 const double contact_inv_damping=0.0);
39
43 RobotModelInfo() = default;
44
48 ~RobotModelInfo() = default;
49
53 RobotModelInfo(const RobotModelInfo&) = default;
54
59
63 RobotModelInfo(RobotModelInfo&&) noexcept = default;
64
68 RobotModelInfo& operator=(RobotModelInfo&&) noexcept = default;
69
73 std::string urdf_path;
74
79
84
89
95 double contact_inv_damping = 0.0;
96
101 static RobotModelInfo Manipulator(const std::string& urdf_path);
102
109 const std::string& urdf_path,
110 const std::vector<ContactModelInfo>& point_contacts);
111
118 const std::string& urdf_path,
119 const std::vector<ContactModelInfo>& surface_contacts);
120
121};
122
123} // namespace robotoc
124
125#endif // ROBOTOC_ROBOT_MODEL_INFO_HPP_
Definition: constraint_component_base.hpp:17
BaseJointType
Types of the base joints of robots.
Definition: robot_model_info.hpp:15
Info of a contact model.
Definition: contact_model_info.hpp:12
Info of a robot model.
Definition: robot_model_info.hpp:24
double contact_inv_damping
Damping paramter in matrix inversion of the contact-consistent forward dynamics. 1e-12 works well for...
Definition: robot_model_info.hpp:95
static RobotModelInfo Manipulator(const std::string &urdf_path)
Creates a simple robot manipulator model info.
static RobotModelInfo Humanoid(const std::string &urdf_path, const std::vector< ContactModelInfo > &surface_contacts)
Creates a simple humanoid robot model info.
RobotModelInfo(RobotModelInfo &&) noexcept=default
Default move constructor.
static RobotModelInfo Quadruped(const std::string &urdf_path, const std::vector< ContactModelInfo > &point_contacts)
Creates a simple quadrped robot model info.
RobotModelInfo(const std::string &urdf_path, const BaseJointType base_joint_type, const std::vector< ContactModelInfo > &point_contacts, const std::vector< ContactModelInfo > &surface_contacts, const double contact_inv_damping=0.0)
Construct a robot model info.
~RobotModelInfo()=default
Default destructor.
std::vector< ContactModelInfo > point_contacts
Info of point contacts.
Definition: robot_model_info.hpp:83
RobotModelInfo(const RobotModelInfo &)=default
Default copy constructor.
BaseJointType base_joint_type
Type of the base joint. Default is BaseJointType::FixedBase.
Definition: robot_model_info.hpp:78
RobotModelInfo & operator=(const RobotModelInfo &)=default
Default copy assign operator.
std::vector< ContactModelInfo > surface_contacts
Info of surface contacts.
Definition: robot_model_info.hpp:88
RobotModelInfo()=default
Default constructor.
std::string urdf_path
Path to the URDF file.
Definition: robot_model_info.hpp:73