YARP
Yet Another Robot Platform
fakeMotionControl.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  *
5  * This software may be modified and distributed under the terms of the
6  * BSD-3-Clause license. See the accompanying LICENSE file for details.
7  */
8 
9 /*
10  * The aim of this device is to mimic the expected behaviour of a
11  * real motion control device to help testing the high level software.
12  *
13  * This device is implementing last version of interfaces and it is compatible
14  * with ControlBoardWrapper2 device.
15  *
16  * WIP - it is very basic now, not all interfaces are implemented yet.
17  */
18 
19 #ifndef YARP_DEVICE_FAKE_MOTIONCONTROL
20 #define YARP_DEVICE_FAKE_MOTIONCONTROL
21 
22 #include <yarp/os/Time.h>
23 #include <yarp/os/Bottle.h>
24 #include <yarp/sig/Vector.h>
25 #include <yarp/os/PeriodicThread.h>
26 #include <yarp/dev/DeviceDriver.h>
31 
32 #include <mutex>
33 
34 
36 {
37  double min_stiff;
38  double max_stiff;
39  double min_damp;
40  double max_damp;
41  double param_a;
42  double param_b;
43  double param_c;
44 
45 public:
47  {
48  min_stiff=0;
49  max_stiff=0;
50  min_damp=0;
51  max_damp=0;
52  param_a=0;
53  param_b=0;
54  param_c=0;
55  }
56 
57  double get_min_stiff()
58  {
59  return min_stiff;
60  }
61  double get_max_stiff()
62  {
63  return max_stiff;
64  }
65  double get_min_damp()
66  {
67  return min_damp;
68  }
69  double get_max_damp()
70  {
71  return max_damp;
72  }
73 };
74 
76 {
77  double stiffness;
78  double damping;
81 };
82 
85 // public yarp::dev::DeviceResponder,
92  public yarp::dev::IMotorRaw,
123 {
124 private:
125  enum VerboseLevel
126  {
127  MUTE = 0, // only errors that prevent device from working
128  QUIET = 1, // adds errors that can cause malfunctioning
129  DEFAULT = 2, // adds warnings // DEFAULT // show noisy messages about back-compatible changes
130  CHATTY = 3, // adds info messages
131  VERBOSE = 4, // adds debug messages
132  VERY_VERBOSE = 5, // adds trace of events (shows thread running and catch if they get stuck)
133  VERY_VERY_VERBOSE = 6 // adds messages printed every cycle, so too much verbose for usage, only for deep debugging
134  };
135 
136  std::mutex _mutex;
137  int _njoints;
138  int *_axisMap;
139  double *_angleToEncoder;
140  double *_encodersStamp;
141  double *_ampsToSensor;
142  double *_dutycycleToPWM;
143  float *_DEPRECATED_encoderconversionfactor;
144  float *_DEPRECATED_encoderconversionoffset;
145 // uint8_t *_jointEncoderType; /** joint encoder type*/
146  int *_jointEncoderRes;
147  int *_rotorEncoderRes;
148 // uint8_t *_rotorEncoderType; /** rotor encoder type*/
149  double *_gearbox;
150  bool *_hasHallSensor;
151  bool *_hasTempSensor;
152  bool *_hasRotorEncoder;
153  bool *_hasRotorEncoderIndex;
154  int *_rotorIndexOffset;
155  int *_motorPoles;
156  double *_rotorlimits_max;
157  double *_rotorlimits_min;
158  yarp::dev::Pid *_ppids;
159  yarp::dev::Pid *_tpids;
160  yarp::dev::Pid *_cpids;
161  yarp::dev::Pid *_vpids;
162  bool *_ppids_ena;
163  bool *_tpids_ena;
164  bool *_cpids_ena;
165  bool *_vpids_ena;
166  double *_ppids_lim;
167  double *_tpids_lim;
168  double *_cpids_lim;
169  double *_vpids_lim;
170  double *_ppids_ref;
171  double *_tpids_ref;
172  double *_cpids_ref;
173  double *_vpids_ref;
174 
175  std::string *_axisName;
176  yarp::dev::JointTypeEnum *_jointType;
177 // ImpedanceLimits *_impedance_limits; /** impedance limits */
178  double *_limitsMin;
179  double *_limitsMax;
180  double *_kinematic_mj;
181  //double *_currentLimits; /** current limits */
182 // MotorCurrentLimits *_currentLimits;
183  double *_maxJntCmdVelocity;
184  double *_maxMotorVelocity;
185  int *_velocityShifts;
186  int *_velocityTimeout;
187  double *_kbemf;
188  double *_ktau;
189  int *_kbemf_scale;
190  int *_ktau_scale;
191  int * _filterType;
192  int *_torqueSensorId;
193  int *_torqueSensorChan;
194  double *_maxTorque;
195  double *_newtonsToSensor;
196  bool *checking_motiondone; /* flag telling if I'm already waiting for motion done */
197  double *_last_position_move_time;
198  double *_motorPwmLimits;
199  double *_torques;
201 // ImpedanceParameters *_impedance_params; /** impedance parameters */
202 
203  bool verbosewhenok;
204  bool useRawEncoderData;
205  bool _pwmIsLimited;
206  bool _torqueControlEnabled;
208  enum torqueControlUnitsType {T_MACHINE_UNITS=0, T_METRIC_UNITS=1};
209  torqueControlUnitsType _torqueControlUnits;
210 
211  enum positionControlUnitsType {P_MACHINE_UNITS=0, P_METRIC_UNITS=1};
212  positionControlUnitsType _positionControlUnits;
213 
214  // internal stuff
215  int *_controlModes;
216  int *_interactMode;
217  bool *_enabledAmp; // Middle step toward a full enabled motor controller. Amp (pwm) plus Pid enable command must be sent in order to get the joint into an active state.
218  bool *_enabledPid; // Depends on enabledAmp. When both are set, the joint exits the idle mode and goes into position mode. If one of them is disabled, it falls to idle.
219  bool *_calibrated; // Flag to know if the calibrate function has been called for the joint
220  double *_posCtrl_references; // used for position control.
221  double *_posDir_references; // used for position Direct control.
222  double *_ref_speeds; // used for position control.
223  double *_command_speeds; // used for velocity control.
224  double *_ref_accs; // for velocity control, in position min jerk eq is used.
225  double *_ref_torques; // for torque control.
226  double *_ref_currents;
227  yarp::sig::Vector current, nominalCurrent, maxCurrent, peakCurrent;
228  yarp::sig::Vector pwm, pwmLimit, refpwm, supplyVoltage,last_velocity_command, last_pwm_command;
229  yarp::sig::Vector pos, dpos, vel, speed, acc, loc, amp;
230  double prev_time;
231  bool opened;
232 
233  // debugging
234  VerboseLevel verbose;
235 public:
236 
239 
240  // Device Driver
241  bool open(yarp::os::Searchable &par) override;
242  bool close() override;
243  bool fromConfig(yarp::os::Searchable &config);
244 
245  virtual bool initialised();
246 
250  bool alloc(int njoints);
251 
255  void resizeBuffers();
256 
257  bool threadInit() override;
258  void threadRelease() override;
259 
261  bool setPidRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, const yarp::dev::Pid &pid) override;
262  bool setPidsRaw(const yarp::dev::PidControlTypeEnum& pidtype,const yarp::dev::Pid *pids) override;
263  bool setPidReferenceRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, double ref) override;
264  bool setPidReferencesRaw(const yarp::dev::PidControlTypeEnum& pidtype,const double *refs) override;
265  bool setPidErrorLimitRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, double limit) override;
266  bool setPidErrorLimitsRaw(const yarp::dev::PidControlTypeEnum& pidtype,const double *limits) override;
267  bool getPidErrorRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, double *err) override;
268  bool getPidErrorsRaw(const yarp::dev::PidControlTypeEnum& pidtype, double *errs) override;
269  bool getPidOutputRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, double *out) override;
270  bool getPidOutputsRaw(const yarp::dev::PidControlTypeEnum& pidtype,double *outs) override;
271  bool getPidRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, yarp::dev::Pid *pid) override;
272  bool getPidsRaw(const yarp::dev::PidControlTypeEnum& pidtype, yarp::dev::Pid *pids) override;
273  bool getPidReferenceRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, double *ref) override;
274  bool getPidReferencesRaw(const yarp::dev::PidControlTypeEnum& pidtype,double *refs) override;
275  bool getPidErrorLimitRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, double *limit) override;
276  bool getPidErrorLimitsRaw(const yarp::dev::PidControlTypeEnum& pidtype,double *limits) override;
277  bool resetPidRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j) override;
278  bool disablePidRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j) override;
279  bool enablePidRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j) override;
280  bool setPidOffsetRaw(const yarp::dev::PidControlTypeEnum& pidtype,int j, double v) override;
281  bool isPidEnabledRaw(const yarp::dev::PidControlTypeEnum& pidtype, int j, bool* enabled) override;
282 
283  // POSITION CONTROL INTERFACE RAW
284  bool getAxes(int *ax) override;
285  bool positionMoveRaw(int j, double ref) override;
286  bool positionMoveRaw(const double *refs) override;
287  bool relativeMoveRaw(int j, double delta) override;
288  bool relativeMoveRaw(const double *deltas) override;
289  bool checkMotionDoneRaw(bool *flag) override;
290  bool checkMotionDoneRaw(int j, bool *flag) override;
291  bool setRefSpeedRaw(int j, double sp) override;
292  bool setRefSpeedsRaw(const double *spds) override;
293  bool setRefAccelerationRaw(int j, double acc) override;
294  bool setRefAccelerationsRaw(const double *accs) override;
295  bool getRefSpeedRaw(int j, double *ref) override;
296  bool getRefSpeedsRaw(double *spds) override;
297  bool getRefAccelerationRaw(int j, double *acc) override;
298  bool getRefAccelerationsRaw(double *accs) override;
299  bool stopRaw(int j) override;
300  bool stopRaw() override;
301 
302  // Position Control2 Interface
303  bool positionMoveRaw(const int n_joint, const int *joints, const double *refs) override;
304  bool relativeMoveRaw(const int n_joint, const int *joints, const double *deltas) override;
305  bool checkMotionDoneRaw(const int n_joint, const int *joints, bool *flags) override;
306  bool setRefSpeedsRaw(const int n_joint, const int *joints, const double *spds) override;
307  bool setRefAccelerationsRaw(const int n_joint, const int *joints, const double *accs) override;
308  bool getRefSpeedsRaw(const int n_joint, const int *joints, double *spds) override;
309  bool getRefAccelerationsRaw(const int n_joint, const int *joints, double *accs) override;
310  bool stopRaw(const int n_joint, const int *joints) override;
311  bool getTargetPositionRaw(const int joint, double *ref) override;
312  bool getTargetPositionsRaw(double *refs) override;
313  bool getTargetPositionsRaw(const int n_joint, const int *joints, double *refs) override;
314 
315  // Velocity control interface raw
316  bool velocityMoveRaw(int j, double sp) override;
317  bool velocityMoveRaw(const double *sp) override;
318 
319 
320  // calibration2raw
321  bool setCalibrationParametersRaw(int axis, const yarp::dev::CalibrationParameters& params) override;
322  bool calibrateAxisWithParamsRaw(int axis, unsigned int type, double p1, double p2, double p3) override;
323  bool calibrationDoneRaw(int j) override;
324 
325 
327 
328  // ControlMode
329  bool getControlModeRaw(int j, int *v) override;
330  bool getControlModesRaw(int *v) override;
331 
332  // ControlMode 2
333  bool getControlModesRaw(const int n_joint, const int *joints, int *modes) override;
334  bool setControlModeRaw(const int j, const int mode) override;
335  bool setControlModesRaw(const int n_joint, const int *joints, int *modes) override;
336  bool setControlModesRaw(int *modes) override;
337 
339  bool resetEncoderRaw(int j) override;
340  bool resetEncodersRaw() override;
341  bool setEncoderRaw(int j, double val) override;
342  bool setEncodersRaw(const double *vals) override;
343  bool getEncoderRaw(int j, double *v) override;
344  bool getEncodersRaw(double *encs) override;
345  bool getEncoderSpeedRaw(int j, double *sp) override;
346  bool getEncoderSpeedsRaw(double *spds) override;
347  bool getEncoderAccelerationRaw(int j, double *spds) override;
348  bool getEncoderAccelerationsRaw(double *accs) override;
350 
351  bool getEncodersTimedRaw(double *encs, double *stamps) override;
352  bool getEncoderTimedRaw(int j, double *encs, double *stamp) override;
353 
355  bool getNumberOfMotorEncodersRaw(int * num) override;
356  bool resetMotorEncoderRaw(int m) override;
357  bool resetMotorEncodersRaw() override;
358  bool setMotorEncoderRaw(int m, const double val) override;
359  bool setMotorEncodersRaw(const double *vals) override;
360  bool getMotorEncoderRaw(int m, double *v) override;
361  bool getMotorEncodersRaw(double *encs) override;
362  bool getMotorEncoderSpeedRaw(int m, double *sp) override;
363  bool getMotorEncoderSpeedsRaw(double *spds) override;
364  bool getMotorEncoderAccelerationRaw(int m, double *spds) override;
365  bool getMotorEncoderAccelerationsRaw(double *accs) override;
366  bool getMotorEncodersTimedRaw(double *encs, double *stamps) override;
367  bool getMotorEncoderTimedRaw(int m, double *encs, double *stamp) override;\
368  bool getMotorEncoderCountsPerRevolutionRaw(int m, double *v) override;
369  bool setMotorEncoderCountsPerRevolutionRaw(int m, const double cpr) override;
371 
373  bool getAxisNameRaw(int axis, std::string& name) override;
374  bool getJointTypeRaw(int axis, yarp::dev::JointTypeEnum& type) override;
376 
377  //Internal use, not exposed by Yarp (yet)
378  bool getGearboxRatioRaw(int m, double *gearbox) override;
379  virtual bool getRotorEncoderResolutionRaw(int m, double &rotres);
380  virtual bool getJointEncoderResolutionRaw(int m, double &jntres);
381  virtual bool getJointEncoderTypeRaw(int j, int &type);
382  virtual bool getRotorEncoderTypeRaw(int j, int &type);
383  virtual bool getKinematicMJRaw(int j, double &rotres);
384  virtual bool getHasTempSensorsRaw(int j, int& ret);
385  virtual bool getHasHallSensorRaw(int j, int& ret);
386  virtual bool getHasRotorEncoderRaw(int j, int& ret);
387  virtual bool getHasRotorEncoderIndexRaw(int j, int& ret);
388  virtual bool getMotorPolesRaw(int j, int& poles);
389  virtual bool getRotorIndexOffsetRaw(int j, double& rotorOffset);
390  virtual bool getTorqueControlFilterType(int j, int& type);
391 
393  bool enableAmpRaw(int j) override;
394  bool disableAmpRaw(int j) override;
395  bool getCurrentsRaw(double *vals) override;
396  bool getCurrentRaw(int j, double *val) override;
397  bool getNominalCurrentRaw(int m, double *val) override;
398  bool setNominalCurrentRaw(int m, const double val) override;
399  bool setMaxCurrentRaw(int j, double val) override;
400  bool getMaxCurrentRaw(int j, double *val) override;
401  bool getPeakCurrentRaw(int m, double *val) override;
402  bool setPeakCurrentRaw(int m, const double val) override;
403  bool getAmpStatusRaw(int *st) override;
404  bool getAmpStatusRaw(int j, int *st) override;
405  bool getPWMRaw(int j, double* val) override;
406  bool getPWMLimitRaw(int j, double* val) override;
407  bool setPWMLimitRaw(int j, const double val) override;
408  bool getPowerSupplyVoltageRaw(int j, double* val) override;
410 
411  // Limits
412  bool setLimitsRaw(int axis, double min, double max) override;
413  bool getLimitsRaw(int axis, double *min, double *max) override;
414  // Limits 2
415  bool setVelLimitsRaw(int axis, double min, double max) override;
416  bool getVelLimitsRaw(int axis, double *min, double *max) override;
417 
418  // Torque control
419  bool getTorqueRaw(int j, double *t) override;
420  bool getTorquesRaw(double *t) override;
421  bool getTorqueRangeRaw(int j, double *min, double *max) override;
422  bool getTorqueRangesRaw(double *min, double *max) override;
423  bool setRefTorquesRaw(const double *t) override;
424  bool setRefTorqueRaw(int j, double t) override;
425  bool setRefTorquesRaw(const int n_joint, const int *joints, const double *t) override;
426  bool getRefTorquesRaw(double *t) override;
427  bool getRefTorqueRaw(int j, double *t) override;
428  bool getMotorTorqueParamsRaw(int j, yarp::dev::MotorTorqueParameters *params) override;
429  bool setMotorTorqueParamsRaw(int j, const yarp::dev::MotorTorqueParameters params) override;
430 // int32_t getRefSpeedInTbl(uint8_t boardNum, int j, eOmeas_position_t pos) override;
431 
432  // IVelocityControl2
433  bool velocityMoveRaw(const int n_joint, const int *joints, const double *spds) override;
434  bool getRefVelocityRaw(const int joint, double *ref) override;
435  bool getRefVelocitiesRaw(double *refs) override;
436  bool getRefVelocitiesRaw(const int n_joint, const int *joints, double *refs) override;
437 
438  // Impedance interface
439  bool getImpedanceRaw(int j, double *stiffness, double *damping) override;
440  bool setImpedanceRaw(int j, double stiffness, double damping) override;
441  bool setImpedanceOffsetRaw(int j, double offset) override;
442  bool getImpedanceOffsetRaw(int j, double *offset) override;
443  bool getCurrentImpedanceLimitRaw(int j, double *min_stiff, double *max_stiff, double *min_damp, double *max_damp) override;
444 
445  // PositionDirect Interface
446  bool setPositionRaw(int j, double ref) override;
447  bool setPositionsRaw(const int n_joint, const int *joints, const double *refs) override;
448  bool setPositionsRaw(const double *refs) override;
449  bool getRefPositionRaw(const int joint, double *ref) override;
450  bool getRefPositionsRaw(double *refs) override;
451  bool getRefPositionsRaw(const int n_joint, const int *joints, double *refs) override;
452 
453  // InteractionMode interface
454  bool getInteractionModeRaw(int j, yarp::dev::InteractionModeEnum* _mode) override;
455  bool getInteractionModesRaw(int n_joints, int *joints, yarp::dev::InteractionModeEnum* modes) override;
457  bool setInteractionModeRaw(int j, yarp::dev::InteractionModeEnum _mode) override;
458  bool setInteractionModesRaw(int n_joints, int *joints, yarp::dev::InteractionModeEnum* modes) override;
460 
461  // IMotor interface
462  bool getNumberOfMotorsRaw(int * num) override;
463  bool getTemperatureRaw(int m, double* val) override;
464  bool getTemperaturesRaw(double *vals) override;
465  bool getTemperatureLimitRaw(int m, double *temp) override;
466  bool setTemperatureLimitRaw(int m, const double temp) override;
467 
468  // PWM interface
469  bool setRefDutyCycleRaw(int j, double v) override;
470  bool setRefDutyCyclesRaw(const double *v) override;
471  bool getRefDutyCycleRaw(int j, double *v) override;
472  bool getRefDutyCyclesRaw(double *v) override;
473  bool getDutyCycleRaw(int j, double *v) override;
474  bool getDutyCyclesRaw(double *v) override;
475 
476  // Current interface
477  //bool getAxes(int *ax) override;
478  //bool getCurrentRaw(int j, double *t) override;
479  //bool getCurrentsRaw(double *t) override;
480  bool getCurrentRangeRaw(int j, double *min, double *max) override;
481  bool getCurrentRangesRaw(double *min, double *max) override;
482  bool setRefCurrentsRaw(const double *t) override;
483  bool setRefCurrentRaw(int j, double t) override;
484  bool setRefCurrentsRaw(const int n_joint, const int *joints, const double *t) override;
485  bool getRefCurrentsRaw(double *t) override;
486  bool getRefCurrentRaw(int j, double *t) override;
487 
489  int getVirtualAnalogSensorChannelsRaw() override;
491  bool updateVirtualAnalogSensorMeasureRaw(int ch, double &measure) override;
492 
493  void run() override;
494 private:
495  void cleanup();
496  bool dealloc();
497  bool parsePositionPidsGroup(yarp::os::Bottle& pidsGroup, yarp::dev::Pid myPid[]);
498  bool parseTorquePidsGroup(yarp::os::Bottle& pidsGroup, yarp::dev::Pid myPid[], double kbemf[], double ktau[], int filterType[]);
499  bool parseImpedanceGroup_NewFormat(yarp::os::Bottle& pidsGroup, ImpedanceParameters vals[]);
500 
501  bool extractGroup(yarp::os::Bottle &input, yarp::os::Bottle &out, const std::string &key1, const std::string &txt, int size);
502 };
503 
504 #endif // YARP_DEVICE_FAKE_MOTIONCONTROL
yarp::dev::IMotorEncodersRaw
Definition: IMotorEncoders.h:27
FakeMotionControl::getHasHallSensorRaw
virtual bool getHasHallSensorRaw(int j, int &ret)
Definition: fakeMotionControl.cpp:2664
FakeMotionControl::getTorqueRangesRaw
bool getTorqueRangesRaw(double *min, double *max) override
Get the full scale of the torque sensors of all joints.
Definition: fakeMotionControl.cpp:2751
FakeMotionControl::getPidRaw
bool getPidRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, yarp::dev::Pid *pid) override
Get current pid value for a specific joint.
Definition: fakeMotionControl.cpp:1593
yarp::os::Bottle
A simple collection of objects that can be described and transmitted in a portable way.
Definition: Bottle.h:72
FakeMotionControl::setPositionRaw
bool setPositionRaw(int j, double ref) override
Set new position for a single axis.
Definition: fakeMotionControl.cpp:2841
FakeMotionControl::setPidErrorLimitRaw
bool setPidErrorLimitRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, double limit) override
Set the error limit for the controller on a specific joint.
Definition: fakeMotionControl.cpp:1529
FakeMotionControl::checkMotionDoneRaw
bool checkMotionDoneRaw(bool *flag) override
Check if the current trajectory is terminated.
Definition: fakeMotionControl.cpp:1970
yarp::dev::ImplementMotorEncoders
Definition: ImplementMotorEncoders.h:31
FakeMotionControl::getNominalCurrentRaw
bool getNominalCurrentRaw(int m, double *val) override
Definition: fakeMotionControl.cpp:2574
FakeMotionControl::getMotorEncoderTimedRaw
bool getMotorEncoderTimedRaw(int m, double *encs, double *stamp) override
Read the instantaneous position of a motor encoder.
Definition: fakeMotionControl.cpp:2493
yarp::dev::ImplementCurrentControl
Definition: ImplementCurrentControl.h:32
FakeMotionControl::getEncoderAccelerationRaw
bool getEncoderAccelerationRaw(int j, double *spds) override
Read the instantaneous acceleration of an axis.
Definition: fakeMotionControl.cpp:2355
FakeMotionControl::setEncodersRaw
bool setEncodersRaw(const double *vals) override
Set the value of all encoders.
Definition: fakeMotionControl.cpp:2300
FakeMotionControl::getPidErrorLimitsRaw
bool getPidErrorLimitsRaw(const yarp::dev::PidControlTypeEnum &pidtype, double *limits) override
Get the error limit for all controllers.
Definition: fakeMotionControl.cpp:1686
yarp::os::Searchable
A base class for nested structures that can be searched.
Definition: Searchable.h:68
FakeMotionControl::getRefAccelerationRaw
bool getRefAccelerationRaw(int j, double *acc) override
Get reference acceleration for a joint.
Definition: fakeMotionControl.cpp:2062
FakeMotionControl::getPidErrorRaw
bool getPidErrorRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, double *err) override
Get the current error for a joint.
Definition: fakeMotionControl.cpp:1561
yarp::dev::ImplementControlMode
Definition: ImplementControlMode.h:32
yarp::dev::ImplementPositionControl
Default implementation of the IPositionControl interface.
Definition: ImplementPositionControl.h:38
ImpedanceLimits::min_stiff
double min_stiff
Definition: fakeMotionControl.h:37
FakeMotionControl::getRefDutyCycleRaw
bool getRefDutyCycleRaw(int j, double *v) override
Gets the last reference sent using the setRefDutyCycleRaw function.
Definition: fakeMotionControl.cpp:3079
yarp::dev::ImplementAmplifierControl
Definition: ImplementAmplifierControl.h:23
Vector.h
FakeMotionControl::setMotorEncodersRaw
bool setMotorEncodersRaw(const double *vals) override
Set the value of all motor encoders.
Definition: fakeMotionControl.cpp:2408
FakeMotionControl::setPidReferenceRaw
bool setPidReferenceRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, double ref) override
Set the controller reference for a given axis.
Definition: fakeMotionControl.cpp:1497
t
float t
Definition: FfmpegWriter.cpp:74
FakeMotionControl::resetMotorEncodersRaw
bool resetMotorEncodersRaw() override
Reset motor encoders.
Definition: fakeMotionControl.cpp:2428
FakeMotionControl::setRefCurrentRaw
bool setRefCurrentRaw(int j, double t) override
Set the reference value of the current for a single motor.
Definition: fakeMotionControl.cpp:3150
FakeMotionControl::run
void run() override
Loop function.
Definition: fakeMotionControl.cpp:40
FakeMotionControl::getAxes
bool getAxes(int *ax) override
Get the number of controlled axes.
Definition: fakeMotionControl.cpp:1880
FakeMotionControl::getInteractionModeRaw
bool getInteractionModeRaw(int j, yarp::dev::InteractionModeEnum *_mode) override
Get the current interaction mode of the robot, values can be stiff or compliant.
Definition: fakeMotionControl.cpp:2968
yarp::dev::ImplementInteractionMode
Definition: ImplementInteractionMode.h:40
FakeMotionControl::setPidRaw
bool setPidRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, const yarp::dev::Pid &pid) override
Set new pid value for a joint axis.
Definition: fakeMotionControl.cpp:1464
FakeMotionControl::getAmpStatusRaw
bool getAmpStatusRaw(int *st) override
Definition: fakeMotionControl.cpp:2552
FakeMotionControl::getHasRotorEncoderRaw
virtual bool getHasRotorEncoderRaw(int j, int &ret)
Definition: fakeMotionControl.cpp:2669
FakeMotionControl::setPWMLimitRaw
bool setPWMLimitRaw(int j, const double val) override
Definition: fakeMotionControl.cpp:2598
FakeMotionControl::velocityMoveRaw
bool velocityMoveRaw(int j, double sp) override
Start motion at a given speed, single joint.
Definition: fakeMotionControl.cpp:1827
FakeMotionControl::FakeMotionControl
FakeMotionControl()
Definition: fakeMotionControl.cpp:358
FakeMotionControl::setEncoderRaw
bool setEncoderRaw(int j, double val) override
Set the value of the encoder for a given joint.
Definition: fakeMotionControl.cpp:2295
yarp::dev::MotorTorqueParameters
Definition: ITorqueControl.h:23
FakeMotionControl::getPidErrorLimitRaw
bool getPidErrorLimitRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, double *limit) override
Get the error limit for the controller on a specific joint.
Definition: fakeMotionControl.cpp:1664
FakeMotionControl::~FakeMotionControl
~FakeMotionControl()
Definition: fakeMotionControl.cpp:463
FakeMotionControl::stopRaw
bool stopRaw() override
Stop motion, multiple joints.
Definition: fakeMotionControl.cpp:2079
FakeMotionControl::enablePidRaw
bool enablePidRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j) override
Enable the pid computation for a joint.
Definition: fakeMotionControl.cpp:1723
FakeMotionControl::resetPidRaw
bool resetPidRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j) override
Reset the controller of a given joint, usually sets the current status of the joint as the reference ...
Definition: fakeMotionControl.cpp:1696
yarp::dev::IPWMControlRaw
Interface for controlling an axis, by sending directly a PWM reference signal to a motor.
Definition: IPWMControl.h:87
FakeMotionControl::getCurrentRangeRaw
bool getCurrentRangeRaw(int j, double *min, double *max) override
Get the full scale of the current measurement for a given motor (e.g.
Definition: fakeMotionControl.cpp:3121
FakeMotionControl::getEncoderAccelerationsRaw
bool getEncoderAccelerationsRaw(double *accs) override
Read the instantaneous acceleration of all axes.
Definition: fakeMotionControl.cpp:2363
FakeMotionControl::relativeMoveRaw
bool relativeMoveRaw(int j, double delta) override
Set relative position.
Definition: fakeMotionControl.cpp:1924
yarp::dev::DeviceDriver
Definition: DeviceDriver.h:37
ImpedanceLimits::param_a
double param_a
Definition: fakeMotionControl.h:41
FakeMotionControl::threadInit
bool threadInit() override
Initialization method.
Definition: fakeMotionControl.cpp:474
yarp::dev::ImplementPidControl
Definition: ImplementPidControl.h:31
FakeMotionControl::getCurrentRaw
bool getCurrentRaw(int j, double *val) override
Definition: fakeMotionControl.cpp:2516
yarp::dev::ITorqueControlRaw
Definition: ITorqueControl.h:138
ImpedanceParameters::ImpedanceParameters
ImpedanceParameters()
Definition: fakeMotionControl.h:80
FakeMotionControl::getPeakCurrentRaw
bool getPeakCurrentRaw(int m, double *val) override
Definition: fakeMotionControl.cpp:2562
FakeMotionControl::getPidsRaw
bool getPidsRaw(const yarp::dev::PidControlTypeEnum &pidtype, yarp::dev::Pid *pids) override
Get current pid value for a specific joint.
Definition: fakeMotionControl.cpp:1616
FakeMotionControl::getControlModesRaw
bool getControlModesRaw(int *v) override
Definition: fakeMotionControl.cpp:2223
FakeMotionControl::setPidErrorLimitsRaw
bool setPidErrorLimitsRaw(const yarp::dev::PidControlTypeEnum &pidtype, const double *limits) override
Get the error limit for the controller on all joints.
Definition: fakeMotionControl.cpp:1551
FakeMotionControl::resetEncodersRaw
bool resetEncodersRaw() override
Reset encoders.
Definition: fakeMotionControl.cpp:2310
FakeMotionControl::setRefDutyCycleRaw
bool setRefDutyCycleRaw(int j, double v) override
Sets the reference dutycycle of a single motor.
Definition: fakeMotionControl.cpp:3062
yarp::dev::IMotorRaw
Definition: IMotor.h:28
yarp::dev::IControlCalibrationRaw
Interface for control devices, calibration commands.
Definition: IControlCalibration.h:47
FakeMotionControl::setControlModesRaw
bool setControlModesRaw(const int n_joint, const int *joints, int *modes) override
Definition: fakeMotionControl.cpp:2266
ret
bool ret
Definition: ImplementAxisInfo.cpp:72
FakeMotionControl::getMotorEncodersRaw
bool getMotorEncodersRaw(double *encs) override
Read the position of all motor encoders.
Definition: fakeMotionControl.cpp:2439
yarp::dev::IVirtualAnalogSensorRaw
Definition: IVirtualAnalogSensor.h:83
FakeMotionControl::getVirtualAnalogSensorChannelsRaw
int getVirtualAnalogSensorChannelsRaw() override
Get the number of channels of the virtual sensor.
Definition: fakeMotionControl.cpp:3192
ControlBoardInterfaces.h
FakeMotionControl::getMotorPolesRaw
virtual bool getMotorPolesRaw(int j, int &poles)
Definition: fakeMotionControl.cpp:2679
FakeMotionControl::calibrateAxisWithParamsRaw
bool calibrateAxisWithParamsRaw(int axis, unsigned int type, double p1, double p2, double p3) override
Start calibration, this method is very often platform specific.
Definition: fakeMotionControl.cpp:1863
FakeMotionControl::getTemperaturesRaw
bool getTemperaturesRaw(double *vals) override
Get temperature of all the motors.
Definition: fakeMotionControl.cpp:3041
FakeMotionControl::getRotorEncoderTypeRaw
virtual bool getRotorEncoderTypeRaw(int j, int &type)
Definition: fakeMotionControl.cpp:2648
FakeMotionControl::disableAmpRaw
bool disableAmpRaw(int j) override
Disable the amplifier on a specific joint.
Definition: fakeMotionControl.cpp:2511
FakeMotionControl::setImpedanceRaw
bool setImpedanceRaw(int j, double stiffness, double damping) override
Set current impedance parameters (stiffness,damping) for a specific joint.
Definition: fakeMotionControl.cpp:2789
FakeMotionControl::getNumberOfMotorEncodersRaw
bool getNumberOfMotorEncodersRaw(int *num) override
Get the number of available motor encoders.
Definition: fakeMotionControl.cpp:2397
ImpedanceParameters
Definition: fakeMotionControl.h:75
FakeMotionControl::getEncoderRaw
bool getEncoderRaw(int j, double *v) override
Read the value of an encoder.
Definition: fakeMotionControl.cpp:2315
FakeMotionControl::setLimitsRaw
bool setLimitsRaw(int axis, double min, double max) override
Set the software limits for a particular axis, the behavior of the control card when these limits are...
Definition: fakeMotionControl.cpp:2612
FakeMotionControl::initialised
virtual bool initialised()
Definition: fakeMotionControl.cpp:469
FakeMotionControl::getRotorEncoderResolutionRaw
virtual bool getRotorEncoderResolutionRaw(int m, double &rotres)
Definition: fakeMotionControl.cpp:2633
ImpedanceLimits::get_max_damp
double get_max_damp()
Definition: fakeMotionControl.h:69
FakeMotionControl::setMotorEncoderCountsPerRevolutionRaw
bool setMotorEncoderCountsPerRevolutionRaw(int m, const double cpr) override
Sets number of counts per revolution for motor encoder m.
Definition: fakeMotionControl.cpp:2413
FakeMotionControl::getTemperatureLimitRaw
bool getTemperatureLimitRaw(int m, double *temp) override
Retreives the current temperature limit for a specific motor.
Definition: fakeMotionControl.cpp:3051
FakeMotionControl::getNumberOfMotorsRaw
bool getNumberOfMotorsRaw(int *num) override
Retrieves the number of controlled motors from the current physical interface.
Definition: fakeMotionControl.cpp:3030
yarp::dev::IImpedanceControlRaw
Definition: IImpedanceControl.h:27
FakeMotionControl::setInteractionModesRaw
bool setInteractionModesRaw(int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
Set the interaction mode of the robot for a set of joints, values can be stiff or compliant.
Definition: fakeMotionControl.cpp:3009
FakeMotionControl::getHasTempSensorsRaw
virtual bool getHasTempSensorsRaw(int j, int &ret)
Definition: fakeMotionControl.cpp:2659
yarp::sig::VectorOf< double >
FakeMotionControl::getPidErrorsRaw
bool getPidErrorsRaw(const yarp::dev::PidControlTypeEnum &pidtype, double *errs) override
Get the error of all joints.
Definition: fakeMotionControl.cpp:1583
ImplementVirtualAnalogSensor.h
yarp::dev::ICurrentControlRaw
Interface for control boards implementing current control.
Definition: ICurrentControl.h:113
yarp::dev::ImplementAxisInfo
Definition: ImplementAxisInfo.h:20
FakeMotionControl::getHasRotorEncoderIndexRaw
virtual bool getHasRotorEncoderIndexRaw(int j, int &ret)
Definition: fakeMotionControl.cpp:2674
yarp::dev::IInteractionModeRaw
Definition: IInteractionMode.h:121
yarp::dev::IControlModeRaw
Definition: IControlMode.h:103
FakeMotionControl::getRefTorqueRaw
bool getRefTorqueRaw(int j, double *t) override
Set the reference value of the torque for a given joint.
Definition: fakeMotionControl.cpp:2779
FakeMotionControl::getImpedanceRaw
bool getImpedanceRaw(int j, double *stiffness, double *damping) override
Get current impedance parameters (stiffness,damping,offset) for a specific joint.
Definition: fakeMotionControl.cpp:2784
FakeMotionControl::getJointTypeRaw
bool getJointTypeRaw(int axis, yarp::dev::JointTypeEnum &type) override
Definition: fakeMotionControl.cpp:2703
FakeMotionControl::getDutyCycleRaw
bool getDutyCycleRaw(int j, double *v) override
Gets the current dutycycle of the output of the amplifier (i.e.
Definition: fakeMotionControl.cpp:3094
FakeMotionControl::getRefAccelerationsRaw
bool getRefAccelerationsRaw(double *accs) override
Get reference acceleration of all joints.
Definition: fakeMotionControl.cpp:2068
FakeMotionControl::setInteractionModeRaw
bool setInteractionModeRaw(int j, yarp::dev::InteractionModeEnum _mode) override
Set the interaction mode of the robot, values can be stiff or compliant.
Definition: fakeMotionControl.cpp:2998
yarp::dev::ImplementVirtualAnalogSensor
Definition: ImplementVirtualAnalogSensor.h:23
ImpedanceLimits::param_c
double param_c
Definition: fakeMotionControl.h:43
FakeMotionControl::setPeakCurrentRaw
bool setPeakCurrentRaw(int m, const double val) override
Definition: fakeMotionControl.cpp:2568
FakeMotionControl::setRefSpeedRaw
bool setRefSpeedRaw(int j, double sp) override
Set reference speed for a joint, this is the speed used during the interpolation of the trajectory.
Definition: fakeMotionControl.cpp:1987
FakeMotionControl::updateVirtualAnalogSensorMeasureRaw
bool updateVirtualAnalogSensorMeasureRaw(yarp::sig::Vector &measure) override
Set a vector of torque values for virtual sensor.
Definition: fakeMotionControl.cpp:3197
yarp::dev::ImplementEncodersTimed
Definition: ImplementEncodersTimed.h:31
FakeMotionControl::resetMotorEncoderRaw
bool resetMotorEncoderRaw(int m) override
Reset motor encoder, single motor.
Definition: fakeMotionControl.cpp:2423
ImpedanceLimits::min_damp
double min_damp
Definition: fakeMotionControl.h:39
FakeMotionControl::getTemperatureRaw
bool getTemperatureRaw(int m, double *val) override
Get temperature of a motor.
Definition: fakeMotionControl.cpp:3036
FakeMotionControl::getPidOutputRaw
bool getPidOutputRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, double *out) override
Get the output of the controller (e.g.
Definition: fakeMotionControl.cpp:1790
yarp::dev::PidControlTypeEnum
PidControlTypeEnum
Definition: PidEnums.h:20
ImpedanceLimits::get_min_damp
double get_min_damp()
Definition: fakeMotionControl.h:65
FakeMotionControl::setControlModeRaw
bool setControlModeRaw(const int j, const int mode) override
Definition: fakeMotionControl.cpp:2248
FakeMotionControl::getEncoderTimedRaw
bool getEncoderTimedRaw(int j, double *encs, double *stamp) override
Read the instantaneous acceleration of all axes.
Definition: fakeMotionControl.cpp:2385
FakeMotionControl::fromConfig
bool fromConfig(yarp::os::Searchable &config)
Definition: fakeMotionControl.cpp:854
FakeMotionControl::close
bool close() override
Close the DeviceDriver.
Definition: fakeMotionControl.cpp:1430
yarp::dev::ImplementImpedanceControl
Definition: ImplementImpedanceControl.h:21
FakeMotionControl::setRefAccelerationRaw
bool setRefAccelerationRaw(int j, double acc) override
Set reference acceleration for a joint.
Definition: fakeMotionControl.cpp:2007
FakeMotionControl::getMotorEncoderAccelerationRaw
bool getMotorEncoderAccelerationRaw(int m, double *spds) override
Read the instantaneous acceleration of a motor encoder.
Definition: fakeMotionControl.cpp:2466
yarp::dev::ImplementPWMControl
Definition: ImplementPWMControl.h:34
yarp::dev::IPositionDirectRaw
Definition: IPositionDirect.h:117
yarp::dev::InteractionModeEnum
InteractionModeEnum
Definition: IInteractionMode.h:20
yarp::dev::ImplementControlCalibration::temp
double * temp
Definition: ImplementControlCalibration.h:28
FakeMotionControl::getTargetPositionsRaw
bool getTargetPositionsRaw(double *refs) override
Get the last position reference for all axes.
Definition: fakeMotionControl.cpp:2884
FakeMotionControl::isPidEnabledRaw
bool isPidEnabledRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, bool *enabled) override
Get the current status (enabled/disabled) of the pid controller.
Definition: fakeMotionControl.cpp:1768
FakeMotionControl::positionMoveRaw
bool positionMoveRaw(int j, double ref) override
Set new reference point for a single axis.
Definition: fakeMotionControl.cpp:1887
FakeMotionControl::setPidOffsetRaw
bool setPidOffsetRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, double v) override
Set an offset value on the ourput of pid controller.
Definition: fakeMotionControl.cpp:1745
FakeMotionControl::setPidReferencesRaw
bool setPidReferencesRaw(const yarp::dev::PidControlTypeEnum &pidtype, const double *refs) override
Set the controller reference, multiple axes.
Definition: fakeMotionControl.cpp:1519
FakeMotionControl::getGearboxRatioRaw
bool getGearboxRatioRaw(int m, double *gearbox) override
Get the gearbox ratio for a specific motor.
Definition: fakeMotionControl.cpp:2623
FakeMotionControl::setCalibrationParametersRaw
bool setCalibrationParametersRaw(int axis, const yarp::dev::CalibrationParameters &params) override
Start calibration, this method is very often platform specific.
Definition: fakeMotionControl.cpp:1857
FakeMotionControl::setPidsRaw
bool setPidsRaw(const yarp::dev::PidControlTypeEnum &pidtype, const yarp::dev::Pid *pids) override
Set new pid value on multiple axes.
Definition: fakeMotionControl.cpp:1487
FakeMotionControl::getPidReferencesRaw
bool getPidReferencesRaw(const yarp::dev::PidControlTypeEnum &pidtype, double *refs) override
Get the current reference of all pid controllers.
Definition: fakeMotionControl.cpp:1651
FakeMotionControl::getRefCurrentsRaw
bool getRefCurrentsRaw(double *t) override
Get the reference value of the currents for all motors.
Definition: fakeMotionControl.cpp:3167
FakeMotionControl::getAxisNameRaw
bool getAxisNameRaw(int axis, std::string &name) override
Definition: fakeMotionControl.cpp:2689
FakeMotionControl::getRefDutyCyclesRaw
bool getRefDutyCyclesRaw(double *v) override
Gets the last reference sent using the setRefDutyCyclesRaw function.
Definition: fakeMotionControl.cpp:3085
FakeMotionControl::getEncodersTimedRaw
bool getEncodersTimedRaw(double *encs, double *stamps) override
Read the instantaneous acceleration of all axes.
Definition: fakeMotionControl.cpp:2375
FakeMotionControl::setMotorTorqueParamsRaw
bool setMotorTorqueParamsRaw(int j, const yarp::dev::MotorTorqueParameters params) override
Set the motor parameters.
Definition: fakeMotionControl.cpp:2819
FakeMotionControl::getImpedanceOffsetRaw
bool getImpedanceOffsetRaw(int j, double *offset) override
Get current force Offset for a specific joint.
Definition: fakeMotionControl.cpp:2799
ImpedanceLimits::ImpedanceLimits
ImpedanceLimits()
Definition: fakeMotionControl.h:46
yarp::dev::ImplementMotor
Definition: ImplementMotor.h:32
yarp::dev::IPidControlRaw
Interface for a generic control board device implementing a PID controller.
Definition: IPidControl.h:31
FakeMotionControl::getJointEncoderResolutionRaw
virtual bool getJointEncoderResolutionRaw(int m, double &jntres)
Definition: fakeMotionControl.cpp:2638
FakeMotionControl::getMotorEncoderSpeedsRaw
bool getMotorEncoderSpeedsRaw(double *spds) override
Read the instantaneous speed of all motor encoders.
Definition: fakeMotionControl.cpp:2456
ImpedanceLimits::max_damp
double max_damp
Definition: fakeMotionControl.h:40
FakeMotionControl::getRefVelocitiesRaw
bool getRefVelocitiesRaw(double *refs) override
Get the last reference speed set by velocityMove for all joints.
Definition: fakeMotionControl.cpp:2908
yarp::os::PeriodicThread
Definition: PeriodicThread.h:24
yarp::dev::IControlLimitsRaw
Interface for control devices.
Definition: IControlLimits.h:82
ImpedanceLimits::get_max_stiff
double get_max_stiff()
Definition: fakeMotionControl.h:61
ImpedanceLimits::max_stiff
double max_stiff
Definition: fakeMotionControl.h:38
FakeMotionControl::alloc
bool alloc(int njoints)
Allocated buffers.
Definition: fakeMotionControl.cpp:191
FakeMotionControl::getMotorEncoderRaw
bool getMotorEncoderRaw(int m, double *v) override
Read the value of a motor encoder.
Definition: fakeMotionControl.cpp:2433
PeriodicThread.h
FakeMotionControl::setRefDutyCyclesRaw
bool setRefDutyCyclesRaw(const double *v) override
Sets the reference dutycycle for all motors.
Definition: fakeMotionControl.cpp:3070
FakeMotionControl::setRefTorqueRaw
bool setRefTorqueRaw(int j, double t) override
Set the reference value of the torque for a given joint.
Definition: fakeMotionControl.cpp:2764
FakeMotionControl::getMotorEncoderSpeedRaw
bool getMotorEncoderSpeedRaw(int m, double *sp) override
Read the istantaneous speed of a motor encoder.
Definition: fakeMotionControl.cpp:2450
FakeMotionControl::setVelLimitsRaw
bool setVelLimitsRaw(int axis, double min, double max) override
Set the software speed limits for a particular axis, the behavior of the control card when these limi...
Definition: fakeMotionControl.cpp:2717
FakeMotionControl::getRefPositionsRaw
bool getRefPositionsRaw(double *refs) override
Get the last position reference for all axes.
Definition: fakeMotionControl.cpp:2946
FakeMotionControl::getTargetPositionRaw
bool getTargetPositionRaw(const int joint, double *ref) override
Get the last position reference for the specified axis.
Definition: fakeMotionControl.cpp:2866
yarp::dev::VAS_status
VAS_status
Definition: IVirtualAnalogSensor.h:30
FakeMotionControl::getMaxCurrentRaw
bool getMaxCurrentRaw(int j, double *val) override
Returns the maximum electric current allowed for a given motor.
Definition: fakeMotionControl.cpp:2540
FakeMotionControl::getLimitsRaw
bool getLimitsRaw(int axis, double *min, double *max) override
Get the software limits for a particular axis.
Definition: fakeMotionControl.cpp:2618
FakeMotionControl::resetEncoderRaw
bool resetEncoderRaw(int j) override
Reset encoder, single joint.
Definition: fakeMotionControl.cpp:2305
yarp::dev::IEncodersTimedRaw
Control board, extend encoder raw interface adding timestamps.
Definition: IEncodersTimed.h:27
FakeMotionControl::getRotorIndexOffsetRaw
virtual bool getRotorIndexOffsetRaw(int j, double &rotorOffset)
Definition: fakeMotionControl.cpp:2684
FakeMotionControl::getTorqueRaw
bool getTorqueRaw(int j, double *t) override
Get the value of the torque on a given joint (this is the feedback if you have a torque sensor).
Definition: fakeMotionControl.cpp:2731
FakeMotionControl::getEncoderSpeedsRaw
bool getEncoderSpeedsRaw(double *spds) override
Read the instantaneous acceleration of an axis.
Definition: fakeMotionControl.cpp:2345
FakeMotionControl::getPWMRaw
bool getPWMRaw(int j, double *val) override
Definition: fakeMotionControl.cpp:2586
FakeMotionControl::getVelLimitsRaw
bool getVelLimitsRaw(int axis, double *min, double *max) override
Get the software speed limits for a particular axis.
Definition: fakeMotionControl.cpp:2722
ImpedanceLimits
Definition: fakeMotionControl.h:35
ImpedanceParameters::stiffness
double stiffness
Definition: fakeMotionControl.h:77
FakeMotionControl::setRefCurrentsRaw
bool setRefCurrentsRaw(const double *t) override
Set the reference value of the currents for all motors.
Definition: fakeMotionControl.cpp:3140
FakeMotionControl::enableAmpRaw
bool enableAmpRaw(int j) override
Enable the amplifier on a specific joint.
Definition: fakeMotionControl.cpp:2506
yarp::dev::ImplementVelocityControl
Definition: ImplementVelocityControl.h:34
ImpedanceLimits::param_b
double param_b
Definition: fakeMotionControl.h:42
ImpedanceLimits::get_min_stiff
double get_min_stiff()
Definition: fakeMotionControl.h:57
FakeMotionControl::getKinematicMJRaw
virtual bool getKinematicMJRaw(int j, double &rotres)
Definition: fakeMotionControl.cpp:2653
FakeMotionControl::setMaxCurrentRaw
bool setMaxCurrentRaw(int j, double val) override
Definition: fakeMotionControl.cpp:2534
yarp::dev::IAxisInfoRaw
Interface for getting information about specific axes, if available.
Definition: IAxisInfo.h:68
FakeMotionControl::getJointEncoderTypeRaw
virtual bool getJointEncoderTypeRaw(int j, int &type)
Definition: fakeMotionControl.cpp:2643
yarp::dev::IPositionControlRaw
Definition: IPositionControl.h:29
FakeMotionControl::getRefVelocityRaw
bool getRefVelocityRaw(const int joint, double *ref) override
Get the last reference speed set by velocityMove for single joint.
Definition: fakeMotionControl.cpp:2902
yarp::dev::ImplementControlLimits
Definition: ImplementControlLimits.h:28
ControlBoardInterfacesImpl.h
FakeMotionControl::getEncodersRaw
bool getEncodersRaw(double *encs) override
Read the position of all axes.
Definition: fakeMotionControl.cpp:2326
FakeMotionControl
Definition: fakeMotionControl.h:83
ImpedanceParameters::limits
ImpedanceLimits limits
Definition: fakeMotionControl.h:79
FakeMotionControl::calibrationDoneRaw
bool calibrationDoneRaw(int j) override
Check if the calibration is terminated, on a particular joint.
Definition: fakeMotionControl.cpp:1869
FakeMotionControl::getPidReferenceRaw
bool getPidReferenceRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j, double *ref) override
Get the current reference of the pid controller for a specific joint.
Definition: fakeMotionControl.cpp:1629
FakeMotionControl::getRefSpeedsRaw
bool getRefSpeedsRaw(double *spds) override
Get reference speed of all joints.
Definition: fakeMotionControl.cpp:2056
FakeMotionControl::setRefSpeedsRaw
bool setRefSpeedsRaw(const double *spds) override
Set reference speed on all joints.
Definition: fakeMotionControl.cpp:1996
FakeMotionControl::setTemperatureLimitRaw
bool setTemperatureLimitRaw(int m, const double temp) override
Set the temperature limit for a specific motor.
Definition: fakeMotionControl.cpp:3056
yarp::dev::ImplementControlCalibration
Definition: ImplementControlCalibration.h:23
FakeMotionControl::setRefTorquesRaw
bool setRefTorquesRaw(const double *t) override
Set the reference value of the torque for all joints.
Definition: fakeMotionControl.cpp:2756
yarp::dev::Pid
Contains the parameters for a PID.
Definition: ControlBoardPid.h:28
FakeMotionControl::getInteractionModesRaw
bool getInteractionModesRaw(int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
Get the current interaction mode of the robot for a set of joints, values can be stiff or compliant.
Definition: fakeMotionControl.cpp:2976
Time.h
FakeMotionControl::getRefTorquesRaw
bool getRefTorquesRaw(double *t) override
Get the reference value of the torque for all joints.
Definition: fakeMotionControl.cpp:2774
yarp::dev::CalibrationParameters
Definition: IControlCalibration.h:31
FakeMotionControl::getDutyCyclesRaw
bool getDutyCyclesRaw(double *v) override
Gets the current dutycycle of the output of the amplifier (i.e.
Definition: fakeMotionControl.cpp:3100
FakeMotionControl::getTorqueControlFilterType
virtual bool getTorqueControlFilterType(int j, int &type)
Definition: fakeMotionControl.cpp:2628
FakeMotionControl::getControlModeRaw
bool getControlModeRaw(int j, int *v) override
Definition: fakeMotionControl.cpp:2213
yarp::dev::ImplementTorqueControl
Definition: ImplementTorqueControl.h:32
FakeMotionControl::getMotorEncoderCountsPerRevolutionRaw
bool getMotorEncoderCountsPerRevolutionRaw(int m, double *v) override
Gets number of counts per revolution for motor encoder m.
Definition: fakeMotionControl.cpp:2418
FakeMotionControl::getCurrentRangesRaw
bool getCurrentRangesRaw(double *min, double *max) override
Get the full scale of the current measurements for all motors motor (e.g.
Definition: fakeMotionControl.cpp:3129
FakeMotionControl::getMotorEncoderAccelerationsRaw
bool getMotorEncoderAccelerationsRaw(double *accs) override
Read the instantaneous acceleration of all motor encoders.
Definition: fakeMotionControl.cpp:2472
yarp::dev::IVelocityControlRaw
Definition: IVelocityControl.h:28
FakeMotionControl::getVirtualAnalogSensorStatusRaw
yarp::dev::VAS_status getVirtualAnalogSensorStatusRaw(int ch) override
Check the status of a given channel.
Definition: fakeMotionControl.cpp:3187
FakeMotionControl::getEncoderSpeedRaw
bool getEncoderSpeedRaw(int j, double *sp) override
Read the instantaneous speed of an axis.
Definition: fakeMotionControl.cpp:2338
FakeMotionControl::getTorqueRangeRaw
bool getTorqueRangeRaw(int j, double *min, double *max) override
Get the full scale of the torque sensor of a given joint.
Definition: fakeMotionControl.cpp:2746
yarp::dev::IAmplifierControlRaw
Interface for control devices, amplifier commands.
Definition: IAmplifierControl.h:178
FakeMotionControl::open
bool open(yarp::os::Searchable &par) override
Open the DeviceDriver.
Definition: fakeMotionControl.cpp:499
IVirtualAnalogSensor.h
FakeMotionControl::getCurrentImpedanceLimitRaw
bool getCurrentImpedanceLimitRaw(int j, double *min_stiff, double *max_stiff, double *min_damp, double *max_damp) override
Get the current impedandance limits for a specific joint.
Definition: fakeMotionControl.cpp:2804
FakeMotionControl::getTorquesRaw
bool getTorquesRaw(double *t) override
Get the value of the torque for all joints (this is the feedback if you have torque sensors).
Definition: fakeMotionControl.cpp:2737
FakeMotionControl::getRefCurrentRaw
bool getRefCurrentRaw(int j, double *t) override
Get the reference value of the current for a single motor.
Definition: fakeMotionControl.cpp:3176
FakeMotionControl::getRefPositionRaw
bool getRefPositionRaw(const int joint, double *ref) override
Get the last position reference for the specified axis.
Definition: fakeMotionControl.cpp:2928
FakeMotionControl::getPowerSupplyVoltageRaw
bool getPowerSupplyVoltageRaw(int j, double *val) override
Definition: fakeMotionControl.cpp:2604
FakeMotionControl::setPositionsRaw
bool setPositionsRaw(const int n_joint, const int *joints, const double *refs) override
Set new reference point for all axes.
Definition: fakeMotionControl.cpp:2847
FakeMotionControl::setRefAccelerationsRaw
bool setRefAccelerationsRaw(const double *accs) override
Set reference acceleration on all joints.
Definition: fakeMotionControl.cpp:2028
FakeMotionControl::setImpedanceOffsetRaw
bool setImpedanceOffsetRaw(int j, double offset) override
Set current force Offset for a specific joint.
Definition: fakeMotionControl.cpp:2794
FakeMotionControl::getMotorEncodersTimedRaw
bool getMotorEncodersTimedRaw(double *encs, double *stamps) override
Read the instantaneous position of all motor encoders.
Definition: fakeMotionControl.cpp:2482
FakeMotionControl::disablePidRaw
bool disablePidRaw(const yarp::dev::PidControlTypeEnum &pidtype, int j) override
Disable the pid computation for a joint.
Definition: fakeMotionControl.cpp:1701
FakeMotionControl::threadRelease
void threadRelease() override
Release method.
Definition: fakeMotionControl.cpp:495
FakeMotionControl::getPidOutputsRaw
bool getPidOutputsRaw(const yarp::dev::PidControlTypeEnum &pidtype, double *outs) override
Get the output of the controllers (e.g.
Definition: fakeMotionControl.cpp:1813
yarp::dev::ImplementPositionDirect
Default implementation of the IPositionDirect interface.
Definition: ImplementPositionDirect.h:38
FakeMotionControl::setNominalCurrentRaw
bool setNominalCurrentRaw(int m, const double val) override
Definition: fakeMotionControl.cpp:2580
FakeMotionControl::getCurrentsRaw
bool getCurrentsRaw(double *vals) override
Definition: fakeMotionControl.cpp:2523
yarp::dev::JointTypeEnum
JointTypeEnum
Definition: IAxisInfo.h:28
FakeMotionControl::resizeBuffers
void resizeBuffers()
Resize previously allocated buffers.
Definition: fakeMotionControl.cpp:151
FakeMotionControl::getRefSpeedRaw
bool getRefSpeedRaw(int j, double *ref) override
Get reference speed for a joint.
Definition: fakeMotionControl.cpp:2050
FakeMotionControl::getMotorTorqueParamsRaw
bool getMotorTorqueParamsRaw(int j, yarp::dev::MotorTorqueParameters *params) override
Get the motor parameters.
Definition: fakeMotionControl.cpp:2809
Bottle.h
FakeMotionControl::getPWMLimitRaw
bool getPWMLimitRaw(int j, double *val) override
Definition: fakeMotionControl.cpp:2592
DeviceDriver.h
FakeMotionControl::setMotorEncoderRaw
bool setMotorEncoderRaw(int m, const double val) override
Set the value of the motor encoder for a given motor.
Definition: fakeMotionControl.cpp:2403
ImpedanceParameters::damping
double damping
Definition: fakeMotionControl.h:78