8 #include <almath/types/altransform.h>
9 #include <almath/types/alposition3d.h>
12 #include <qi/macro.hpp>
14 #ifdef alrobotmodel_EXPORTS
15 # define ALROBOTMODEL_API QI_EXPORT_API
16 #elif defined(alrobotmodel_IMPORTS)
17 # define ALROBOTMODEL_API QI_IMPORT_API
19 # define ALROBOTMODEL_API
60 Model(
const std::string& pathToModel);
65 const std::string& name()
const;
70 const std::string& configFile()
const;
75 std::vector<const Joint*> joints()
const;
78 const Joint* joint(
const std::string& jointName)
const;
82 std::vector<const Link*> links()
const;
85 const Link* link(
const std::string& linkName)
const;
89 const Link* rootLink()
const;
93 std::vector<const Actuator*> actuators()
const;
96 const Actuator* actuator(
const std::string& actuatorName)
const;
100 std::vector<const AngleActuator*> angleActuators()
const;
103 const AngleActuator* angleActuator(
const std::string& actuatorName)
const;
107 std::vector<const CoupledActuator*> coupledActuators()
const;
111 const std::string& actuatorName)
const;
115 std::vector<const TorqueActuator*> torqueActuators()
const;
119 const std::string& actuatorName)
const;
123 std::vector<const AngleSpeedActuator*> angleSpeedActuators()
const;
127 const std::string& actuatorName)
const;
131 std::vector<const WheelTorqueActuator*> wheelTorqueActuators()
const;
135 const std::string& actuatorName)
const;
139 std::vector<const WheelVelocityActuator*> wheelVelocityActuators()
const;
143 const std::string& actuatorName)
const;
147 std::vector<const LEDActuator*> ledActuators()
const;
150 const LEDActuator* ledActuator(
const std::string& actuatorName)
const;
154 std::vector<const Sensor*> sensors()
const;
157 const Sensor* sensor(
const std::string& sensorName)
const;
161 std::vector<const AngleSensor*> angleSensors()
const;
164 const AngleSensor* angleSensor(
const std::string& sensorName)
const;
168 std::vector<const CoupledSensor*> coupledSensors()
const;
171 const CoupledSensor* coupledSensor(
const std::string& sensorName)
const;
175 std::vector<const TorqueSensor*> torqueSensors()
const;
178 const TorqueSensor* torqueSensor(
const std::string& sensorName)
const;
182 std::vector<const AngleSpeedSensor*> angleSpeedSensors()
const;
186 const std::string& sensorName)
const;
190 std::vector<const WheelVelocitySensor*> wheelVelocitySensors()
const;
194 const std::string& sensorName)
const;
198 std::vector<const CameraSensor*> cameraSensors()
const;
201 const CameraSensor* cameraSensor(
const std::string& sensorName)
const;
205 std::vector<const FSRSensor*> fsrSensors()
const;
208 const FSRSensor* fsrSensor(
const std::string& sensorName)
const;
212 std::vector<const InertialSensor*> inertialSensors()
const;
215 const InertialSensor* inertialSensor(
const std::string& sensorName)
const;
219 std::vector<const SonarSensor*> sonarSensors()
const;
222 const SonarSensor* sonarSensor(
const std::string& sensorName)
const;
226 std::vector<const BumperSensor*> bumperSensors()
const;
229 const BumperSensor* bumperSensor(
const std::string& sensorName)
const;
233 std::vector<const TactileSensor*> tactileSensors()
const;
236 const TactileSensor* tactileSensor(
const std::string& sensorName)
const;
240 std::vector<const DepthInfraredSensor*> depthInfraredSensors()
const;
244 const std::string& sensorName)
const;
261 const std::string& name()
const;
266 const AL::Math::Transform& position()
const;
268 const Frame* parentFrame()
const;
272 const AL::Math::Transform& localPosition()
const;
277 static AL::Math::Transform globalPosition(
296 const Frame* frame()
const;
298 const std::string& name()
const;
303 const Link* parentLink()
const;
308 const Link* childLink()
const;
317 const std::string& frictionMaterial1,
318 const std::string& frictionMaterial2,
339 const AL::Math::Position3D& CoM()
const;
342 const std::vector<float>& inertiaMatrix()
const;
365 const std::string& meshPath()
const;
368 const AL::Math::Transform& meshTransform()
const;
393 const Frame* frame()
const;
395 const std::string& name()
const;
398 const Joint* parentJoint()
const;
401 const std::vector<const Joint*> childrenJoints()
const;
405 const std::string& frictionMaterial()
const;
409 LinkType type()
const;
440 const Frame* frame()
const;
442 const virtual std::string& name()
const;
447 virtual int bufferSize()
const = 0;
469 bool reflectedSymmetricReversed()
const;
471 double proportionalGain()
const;
474 virtual int bufferSize()
const;
476 float startValue()
const;
478 float minValue()
const;
480 float maxValue()
const;
483 float maxSpeed()
const;
485 const Joint* controlledJoint()
const;
505 bool reflectedSymmetricReversed()
const;
507 double proportionalGain()
const;
510 virtual int bufferSize()
const;
513 float startValue()
const;
516 float minValue()
const;
519 float maxValue()
const;
521 float maxSpeed()
const;
524 std::vector<std::pair<const Joint*, float> >
525 controlledJointAndRatios()
const;
545 bool reflectedSymmetricReversed()
const;
547 double proportionalGain()
const;
549 double derivativeGain()
const;
552 virtual int bufferSize()
const;
555 float startValue()
const;
558 float minValue()
const;
561 float maxValue()
const;
563 const Joint* controlledJoint()
const;
583 bool reflectedSymmetricReversed()
const;
585 double derivativeGain()
const;
588 virtual int bufferSize()
const;
591 float startValue()
const;
594 float minValue()
const;
597 float maxValue()
const;
599 const Joint* controlledJoint()
const;
615 double proportionalGain()
const;
617 double derivativeGain()
const;
620 virtual int bufferSize()
const;
623 float maxTorque()
const;
625 const Joint* controlledJoint()
const;
641 double derivativeGain()
const;
644 virtual int bufferSize()
const;
647 float maxVelocity()
const;
649 const Joint* controlledJoint()
const;
673 virtual int bufferSize()
const;
712 const Frame* frame()
const;
714 virtual const std::string& name()
const;
719 virtual int bufferSize()
const = 0;
738 const std::vector<std::string>& dcmKeys()
const;
741 virtual int bufferSize()
const = 0;
759 virtual int bufferSize()
const;
775 virtual int bufferSize()
const;
792 virtual int bufferSize()
const;
810 virtual int bufferSize()
const;
828 virtual int bufferSize()
const;
844 virtual int bufferSize()
const;
864 virtual int bufferSize()
const;
880 virtual int bufferSize()
const;
896 virtual int bufferSize()
const;
912 virtual int bufferSize()
const;
928 virtual int bufferSize()
const;
944 virtual int bufferSize()
const;
972 #endif // ALROBOTMODEL_H