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);
26 };
27
28 interface Device
29 {
31
32 string name () raises (Error);
33
35
37
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
83 //->currentConfiguration
84
85 boolean setCurrentConfiguration (in floatSeq configuration) raises (Error);
86 //->currentConfiguration
87
89 //->currentVelocity
90
91 boolean setCurrentVelocity (in floatSeq velocity) raises (Error);
92 //->currentVelocity
93
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
106
108
110
111 frame_index getFrameByName (in string name) raises (Error);
112 //* return (frame_index) getT()->getFrameByName(name).index();
113
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
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
#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
floatSeqSeq getFrameJacobian(in frame_index frame_id)
void saturate(in floatSeq qin, out floatSeq qout, out boolSeq saturation)
void computeForwardKinematics(in short computationFlag)
frame_index getFrameByName(in string name)
void integrate(in floatSeq config_in, in floatSeq velocity, out floatSeq result)
Transform_ getFramePosition(in frame_index frame_id)
void controlComputation(in short flag)
boolean setCurrentVelocity(in floatSeq velocity)
floatSeq getCurrentConfiguration()
boolean setCurrentConfiguration(in floatSeq configuration)
void difference(in floatSeq q1, in floatSeq q2, out floatSeq result)
boolean setCurrentAcceleration(in floatSeq acceleration)
void replaceGeometryByConvexHull(in Names_t geometryNames)
void removeJoints(in Names_t joints, in floatSeq refConfig)
void interpolate(in floatSeq q1, in floatSeq q2, in float u, out floatSeq result)
Implement CORBA interface `‘Obstacle’'.
Definition client.hh:46
sequence< boolean > boolSeq
Definition common.idl:30
long long size_type
Definition common.idl:19
sequence< double > floatSeq
Robot configuration is defined by a sequence of dof value.
Definition common.idl:34
double Transform_[7]
Element of SE(3) represented by a vector and a unit quaternion.
Definition common.idl:38
sequence< floatSeq > floatSeqSeq
Definition common.idl:35
sequence< string > Names_t
Sequence of names.
Definition common.idl:23
unsigned long frame_index
Definition common.idl:20
double value_type
Definition common.idl:18