hpp-corbaserver 6.0.0
Corba server for Humanoid Path Planner applications
Loading...
Searching...
No Matches
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
15module 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