hpp-corbaserver  4.9.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  {
30  string name () raises (Error);
31 
32  void integrate(in floatSeq config_in, in floatSeq velocity, out floatSeq result) raises (Error);
33  //* hpp::pinocchio::DevicePtr_t d = getT();
34  //* hpp::pinocchio::Configuration_t res (d->configSize());
35  //* hpp::pinocchio::integrate<false, hpp::pinocchio::DefaultLieGroupMap> (d,
36  //* floatSeqToVector(config_in, d->configSize()),
37  //* floatSeqToVector(velocity , d->numberDof()),
38  //* res);
39  //* result = vectorToFloatSeq (res);
40 
41  void difference(in floatSeq q1, in floatSeq q2, out floatSeq result) raises (Error);
42  //* hpp::pinocchio::DevicePtr_t d = getT();
43  //* hpp::pinocchio::Configuration_t res (d->numberDof());
44  //* hpp::pinocchio::difference<hpp::pinocchio::DefaultLieGroupMap> (d,
45  //* floatSeqToVector(q1, d->configSize()),
46  //* floatSeqToVector(q2, d->configSize()),
47  //* res);
48  //* result = vectorToFloatSeq (res);
49 
50  void interpolate(in floatSeq q1, in floatSeq q2, in float u, out floatSeq result) raises (Error);
51  //* hpp::pinocchio::DevicePtr_t d = getT();
52  //* hpp::pinocchio::Configuration_t res (d->configSize());
53  //* hpp::pinocchio::interpolate<hpp::pinocchio::DefaultLieGroupMap> (d,
54  //* floatSeqToVector(q1, d->configSize()),
55  //* floatSeqToVector(q2, d->configSize()),
56  //* u,
57  //* res);
58  //* result = vectorToFloatSeq (res);
59 
60  void saturate(in floatSeq qin, out floatSeq qout, out boolSeq saturation) raises (Error);
61  //* hpp::pinocchio::DevicePtr_t d = getT();
62  //* hpp::pinocchio::Configuration_t q (floatSeqToVector(qin));
63  //* hpp::pinocchio::ArrayXb sat (d->numberDof());
64  //* hpp::pinocchio::saturate (d, q, sat);
65  //* qout = vectorToFloatSeq (q);
66  //* saturation = toBoolSeq(sat.data(), sat.data()+sat.size());
67  };
68 
69  }; // module pinocchio_idl
70 }; // module hpp
71 //* #include <hpp/pinocchio/device.hh>
72 //* #include <hpp/pinocchio/configuration.hh>
73 //* #include <hpp/pinocchio/liegroup.hh>
74 //* #include <hpp/pinocchio/center-of-mass-computation.hh>
75 
76 #endif // HPP_CORE_PATHS_IDL
Definition: robots.idl:28
Implement CORBA interface ``Obstacle&#39;&#39;.
double value_type
Definition: common.idl:18
sequence< floatSeq > floatSeqSeq
Definition: common.idl:33
Corba exception travelling through the Corba channel.
Definition: common.idl:24
void saturate(const DevicePtr_t &robot, ConfigurationOut_t configuration)
sequence< boolean > boolSeq
Definition: common.idl:28
#define HPP_EXPOSE_MEMORY_DEALLOCATION
Definition: common.idl:14
static void interpolate(const Splines_t &a, const Splines_t &b, const value_type &alpha, Splines_t &res)
sequence< double > floatSeq
Robot configuration is defined by a sequence of dof value.
Definition: common.idl:32