pinocchio  2.4.0-dirty
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
model.hpp
1 //
2 // Copyright (c) 2019 INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_model_serialization_hpp__
6 #define __pinocchio_multibody_model_serialization_hpp__
7 
8 #include <boost/serialization/string.hpp>
9 #include <boost/serialization/variant.hpp>
10 #include <boost/serialization/vector.hpp>
11 #include <boost/serialization/map.hpp>
12 
13 #include "pinocchio/serialization/aligned-vector.hpp"
14 #include "pinocchio/serialization/spatial.hpp"
15 #include "pinocchio/serialization/eigen.hpp"
16 #include "pinocchio/serialization/joints.hpp"
17 #include "pinocchio/serialization/frame.hpp"
18 
19 namespace boost
20 {
21  namespace serialization
22  {
23  template<class Archive, typename Scalar, int Options, template<typename,int> class JointCollectionTpl>
24  void serialize(Archive & ar,
26  const unsigned int /*version*/)
27  {
28  ar & make_nvp("nq",model.nq);
29  ar & make_nvp("nqs",model.nqs);
30  ar & make_nvp("idx_qs",model.idx_qs);
31  ar & make_nvp("nv",model.nv);
32  ar & make_nvp("nvs",model.nvs);
33  ar & make_nvp("idx_vs",model.idx_vs);
34  ar & make_nvp("njoints",model.njoints);
35  ar & make_nvp("nbodies",model.nbodies);
36  ar & make_nvp("nframes",model.nframes);
37  ar & make_nvp("parents",model.parents);
38  ar & make_nvp("names",model.names);
39  ar & make_nvp("supports",model.supports);
40  ar & make_nvp("subtrees",model.subtrees);
41  ar & make_nvp("gravity",model.gravity);
42  ar & make_nvp("name",model.name);
43 
44  ar & make_nvp("referenceConfigurations",model.referenceConfigurations);
45  ar & make_nvp("rotorInertia",model.rotorInertia);
46  ar & make_nvp("rotorGearRatio",model.rotorGearRatio);
47  ar & make_nvp("effortLimit",model.effortLimit);
48  ar & make_nvp("velocityLimit",model.velocityLimit);
49  ar & make_nvp("lowerPositionLimit",model.lowerPositionLimit);
50  ar & make_nvp("upperPositionLimit",model.upperPositionLimit);
51 
52  ar & make_nvp("inertias",model.inertias);
53  ar & make_nvp("jointPlacements",model.jointPlacements);
54 
55  ar & make_nvp("joints",model.joints);
56  ar & make_nvp("frames",model.frames);
57  }
58 
59  } // namespace serialization
60 } // namespace boost
61 
62 #endif // ifndef __pinocchio_multibody_model_serialization_hpp__
std::vector< int > idx_vs
Starting index of the joint i in the tangent configuration space.
Definition: model.hpp:105
JointModelVector joints
Model of joint i, encapsulated in a JointModelAccessor.
Definition: model.hpp:96
Definition: casadi.hpp:15
int njoints
Number of joints.
Definition: model.hpp:81
ConfigVectorMap referenceConfigurations
Map of reference configurations, indexed by user given names.
Definition: model.hpp:117
int nv
Dimension of the velocity vector space.
Definition: model.hpp:78
std::vector< IndexVector > supports
Vector of joint supports. supports[j] corresponds to the collection of all joints located on the path...
Definition: model.hpp:143
Motion gravity
Spatial gravity of the model.
Definition: model.hpp:151
std::vector< std::string > names
Name of joint i
Definition: model.hpp:114
VectorXs upperPositionLimit
Upper joint configuration limit.
Definition: model.hpp:135
FrameVector frames
Vector of operational frames registered on the model.
Definition: model.hpp:138
VectorXs rotorInertia
Vector of rotor inertia parameters.
Definition: model.hpp:120
std::vector< IndexVector > subtrees
Vector of joint subtrees. subtree[j] corresponds to the subtree supported by the joint j...
Definition: model.hpp:148
TangentVectorType effortLimit
Vector of maximal joint torques.
Definition: model.hpp:126
std::vector< int > nqs
Dimension of the joint i configuration subspace.
Definition: model.hpp:102
VectorXs lowerPositionLimit
Lower joint configuration limit.
Definition: model.hpp:132
int nframes
Number of operational frames.
Definition: model.hpp:87
VectorXs rotorGearRatio
Vector of rotor gear ratio parameters.
Definition: model.hpp:123
std::string name
Model name;.
Definition: model.hpp:157
std::vector< JointIndex > parents
Joint parent of joint i, denoted li (li==parents[i]).
Definition: model.hpp:111
std::vector< int > nvs
Dimension of the joint i tangent subspace.
Definition: model.hpp:108
TangentVectorType velocityLimit
Vector of maximal joint velocities.
Definition: model.hpp:129
int nbodies
Number of bodies.
Definition: model.hpp:84
int nq
Dimension of the configuration vector representation.
Definition: model.hpp:75
std::vector< int > idx_qs
Starting index of the joint i in the configuration space.
Definition: model.hpp:99