hpp-corbaserver  6.0.0
Corba server for Humanoid Path Planner applications
robots.idl
Go to the documentation of this file.
1 // Copyright (C) 2019 by Joseph Mirabel, LAAS-CNRS.
2 //
3 // This file is part of the hpp-corbaserver.
4 //
5 // This software is provided "as is" without warranty of any kind,
6 // either expressed or implied, including but not limited to the
7 // implied warranties of fitness for a particular purpose.
8 //
9 // See the COPYING file for more information.
10 
11 #ifndef HPP_PINOCCHIO_ROBOTS_IDL
12 #define HPP_PINOCCHIO_ROBOTS_IDL
13 #include <hpp/common.idl>
14 
15 module hpp
16 {
17  module pinocchio_idl {
19  {
21 
22  void compute () raises (Error);
23  floatSeq com () raises (Error);
24  value_type mass () raises (Error);
25  floatSeqSeq jacobian () raises (Error);
26  };
27 
28  interface Device
29  {
31 
32  string name () raises (Error);
33 
34  floatSeq neutralConfiguration () raises (Error);
35 
36  size_type configSize() raises (Error);
37 
38  size_type numberDof() raises (Error);
39 
40  void integrate(in floatSeq config_in, in floatSeq velocity, out floatSeq result) raises (Error);
41  //* hpp::pinocchio::DevicePtr_t d = getT();
42  //* hpp::pinocchio::Configuration_t res (d->configSize());
43  //* hpp::pinocchio::integrate<false, hpp::pinocchio::DefaultLieGroupMap> (d,
44  //* ::hpp::corbaServer::floatSeqToVector(config_in, d->configSize()),
45  //* ::hpp::corbaServer::floatSeqToVector(velocity , d->numberDof()),
46  //* res);
47  //* result = ::hpp::corbaServer::vectorToFloatSeq (res);
48 
49  void difference(in floatSeq q1, in floatSeq q2, out floatSeq result) raises (Error);
50  //* hpp::pinocchio::DevicePtr_t d = getT();
51  //* hpp::pinocchio::Configuration_t res (d->numberDof());
52  //* hpp::pinocchio::difference<hpp::pinocchio::DefaultLieGroupMap> (d,
53  //* ::hpp::corbaServer::floatSeqToVector(q1, d->configSize()),
54  //* ::hpp::corbaServer::floatSeqToVector(q2, d->configSize()),
55  //* res);
56  //* result = ::hpp::corbaServer::vectorToFloatSeq (res);
57 
58  void interpolate(in floatSeq q1, in floatSeq q2, in float u, out floatSeq result) raises (Error);
59  //* hpp::pinocchio::DevicePtr_t d = getT();
60  //* hpp::pinocchio::Configuration_t res (d->configSize());
61  //* hpp::pinocchio::interpolate<hpp::pinocchio::DefaultLieGroupMap> (d,
62  //* ::hpp::corbaServer::floatSeqToVector(q1, d->configSize()),
63  //* ::hpp::corbaServer::floatSeqToVector(q2, d->configSize()),
64  //* u,
65  //* res);
66  //* result = ::hpp::corbaServer::vectorToFloatSeq (res);
67 
68  void saturate(in floatSeq qin, out floatSeq qout, out boolSeq saturation) raises (Error);
69  //* hpp::pinocchio::DevicePtr_t d = getT();
70  //* hpp::pinocchio::Configuration_t q (::hpp::corbaServer::floatSeqToVector(qin));
71  //* hpp::pinocchio::ArrayXb sat (d->numberDof());
72  //* hpp::pinocchio::saturate (d, q, sat);
73  //* qout = ::hpp::corbaServer::vectorToFloatSeq (q);
74  //* saturation = ::hpp::corbaServer::toBoolSeq(sat.data(), sat.data()+sat.size());
75 
76  void replaceGeometryByConvexHull(in Names_t geometryNames) raises (Error);
77  //* hpp::pinocchio::DevicePtr_t d = getT();
78  //* hpp::pinocchio::replaceGeometryByConvexHull(d->geomModel(),
79  //* ::hpp::corbaServer::toStrings<std::vector<std::string> >(geometryNames));
80  //* d->createGeomData();
81 
82  floatSeq getCurrentConfiguration () raises (Error);
83  //->currentConfiguration
84 
85  boolean setCurrentConfiguration (in floatSeq configuration) raises (Error);
86  //->currentConfiguration
87 
88  floatSeq getCurrentVelocity () raises (Error);
89  //->currentVelocity
90 
91  boolean setCurrentVelocity (in floatSeq velocity) raises (Error);
92  //->currentVelocity
93 
94  floatSeq getCurrentAcceleration () raises (Error);
95  //->currentAcceleration
96 
97  boolean setCurrentAcceleration (in floatSeq acceleration) raises (Error);
98  //->currentAcceleration
99 
100  short computationFlag() raises (Error);
101 
102  void controlComputation(in short flag) raises (Error);
103  //* getT()->controlComputation(hpp::pinocchio::Computation_t(flag));
104 
105  void computeForwardKinematics(in short computationFlag) raises (Error);
106 
107  void computeFramesForwardKinematics () raises (Error);
108 
109  void updateGeometryPlacements () raises (Error);
110 
111  frame_index getFrameByName (in string name) raises (Error);
112  //* return (frame_index) getT()->getFrameByName(name).index();
113 
114  Transform_ getFramePosition (in frame_index frame_id) raises (Error);
115  //* if (getT()->model().nframes <= (int)frame_id) throw hpp::Error("Index out of range");
116  //* hpp::pinocchio::Frame frame(getT(), frame_id);
117  //* return hpp::corbaServer::toHppTransform(frame.currentTransformation());
118 
119  floatSeqSeq getFrameJacobian (in frame_index frame_id) raises (Error);
120  //* if (getT()->model().nframes <= (int)frame_id) throw hpp::Error("Index out of range");
121  //* if (!(getT()->computationFlag() & hpp::pinocchio::JACOBIAN))
122  //* throw hpp::Error("Invalid computation flags");
123  //* hpp::pinocchio::Frame frame(getT(), frame_id);
124  //* return hpp::corbaServer::matrixToFloatSeqSeq(frame.jacobian());
125 
127  void removeJoints(in Names_t joints, in floatSeq refConfig) raises (Error);
128  };
129 
130  interface CollisionObject {
132  }; // interface CollisionObject
133 
134  }; // module pinocchio_idl
135 }; // module hpp
136 //* #include <hpp/pinocchio/device.hh>
137 //* #include <hpp/pinocchio/collision-object.hh>
138 //* #include <hpp/pinocchio/configuration.hh>
139 //* #include <hpp/pinocchio/liegroup.hh>
140 //* #include <hpp/pinocchio/center-of-mass-computation.hh>
141 
142 #endif // HPP_CORE_PATHS_IDL
Definition: common-idl.hh:78
Definition: common-idl.hh:347
Definition: common-idl.hh:803
Definition: common-idl.hh:689
::CORBA::Double Transform_[7]
Definition: common-idl.hh:915
#define HPP_EXPOSE_MEMORY_DEALLOCATION(ErrorType)
Definition: common.idl:14
Corba exception travelling through the Corba channel.
Definition: common.idl:27
Definition: robots.idl:130
Definition: robots.idl:29
Implement CORBA interface `‘Obstacle’'.
Definition: client.hh:46
long long size_type
Definition: common.idl:19
unsigned long frame_index
Definition: common.idl:20
double value_type
Definition: common.idl:18