|
YARP CiA-402 EtherCAT Device 0.6.0
YARP device plugin for EtherCAT CiA-402 drives
|
Classes | |
| struct | ControlModeState |
| struct | Limits |
| struct | PositionProfileState |
| struct | SetPoints |
| struct | VariablesReadFromMotors |
Public Types | |
| enum class | PosSrc { S6064 , Enc1 , Enc2 } |
| enum class | VelSrc { S606C , Enc1 , Enc2 } |
| enum class | Mount { None , Motor , Joint } |
| enum class | SensorSrc { Unknown , Enc1 , Enc2 } |
Public Member Functions | |
| Impl ()=default | |
| ~Impl ()=default | |
| int32_t | jointDegToTargetCounts (size_t j, double jointDeg) const |
| double | targetCountsToJointDeg (size_t j, int32_t counts) const |
| bool | setPositionCountsLimits (int axis, int32_t minCounts, int32_t maxCounts) |
| bool | readEncoderResolutions () |
| bool | readSiVelocityUnits () |
| double | loopCountsToJointDeg (std::size_t j, double counts) const |
| bool | setPositionWindowDeg (int j, double winDeg, double winTime_ms) |
| bool | getPositionControlStrategy (uint16_t &strategyValue) |
| bool | setPositionControlStrategy (uint16_t strategyValue) |
| bool | readSimplePidGains (std::vector< double > &kpNmPerDeg, std::vector< double > &kdNmSecPerDeg) |
| bool | configureSimplePidGains (const std::vector< double > &kpNmPerDeg, const std::vector< double > &kdNmSecPerDeg) |
| bool | readMotorConstants () |
| bool | readGearRatios () |
| bool | readTorqueValues () |
| void | setSDORefSpeed (int j, double spDegS) |
| bool | setSetPoints () |
| bool | readFeedback () |
| int | ciaOpToYarpWithFlavor (int op, int cstFlavor) |
| std::string | describe603F (uint16_t code) |
Static Public Member Functions | |
| static std::tuple< double, double, const char * > | decode60A9 (uint32_t v) |
| static int | yarpToCiaOp (int cm) |
| static int | ciaOpToYarp (int op) |
| static std::string_view | yarpToString (int op) |
Static Public Attributes | |
| static constexpr std::string_view | kClassName = "CiA402MotionControl" |
| static constexpr double | MICROSECONDS_TO_SECONDS = 1e-6 |
| static constexpr uint64_t | TIMESTAMP_WRAP_PERIOD_US = (((uint64_t)1 << 32) - 1) / 100 + 1 |
| static constexpr uint32_t | TIMESTAMP_WRAP_HALF_RANGE = TIMESTAMP_WRAP_PERIOD_US / 2 |
Private implementation holding configuration, runtime state, and helpers. Concurrency:
Definition at line 39 of file CiA402MotionControl.cpp.
|
strong |
| Enumerator | |
|---|---|
| None | |
| Motor | |
| Joint | |
Definition at line 55 of file CiA402MotionControl.cpp.
|
strong |
| Enumerator | |
|---|---|
| S6064 | |
| Enc1 | |
| Enc2 | |
Definition at line 41 of file CiA402MotionControl.cpp.
|
strong |
| Enumerator | |
|---|---|
| Unknown | |
| Enc1 | |
| Enc2 | |
Definition at line 62 of file CiA402MotionControl.cpp.
|
strong |
| Enumerator | |
|---|---|
| S606C | |
| Enc1 | |
| Enc2 | |
Definition at line 48 of file CiA402MotionControl.cpp.
|
default |
|
default |
|
inlinestatic |
Definition at line 1597 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 1588 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 731 of file CiA402MotionControl.cpp.
|
inlinestatic |
Definition at line 472 of file CiA402MotionControl.cpp.
|
inline |
Decode CiA 402 error code (0x603F:00) into a human‑readable string. Includes explicit vendor codes seen in the field and broader family fallbacks.
Definition at line 1647 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 626 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 306 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 536 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 428 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 1284 of file CiA402MotionControl.cpp.
|
inline |
Read the gear-ratio (motor-revs : load-revs) for every axis and cache both the ratio and its inverse.
0x6091:01 numerator (UNSIGNED32, default 1) 0x6091:02 denominator (UNSIGNED32, default 1)
If the object is missing or invalid the code silently falls back to 1:1.
Definition at line 906 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 826 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 678 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 498 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 964 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 649 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 393 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 582 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 1006 of file CiA402MotionControl.cpp.
|
inline |
Push user setpoints into RxPDOs according to the active control mode.
Definition at line 1040 of file CiA402MotionControl.cpp.
|
inline |
Definition at line 349 of file CiA402MotionControl.cpp.
|
inlinestatic |
Definition at line 1563 of file CiA402MotionControl.cpp.
|
inlinestatic |
Definition at line 1619 of file CiA402MotionControl.cpp.
| std::chrono::steady_clock::time_point yarp::dev::CiA402MotionControl::Impl::avgWindowStart {std::chrono::steady_clock::now()} |
Definition at line 293 of file CiA402MotionControl.cpp.
| std::mutex yarp::dev::CiA402MotionControl::Impl::CiA402MotionControlMutex |
Definition at line 76 of file CiA402MotionControl.cpp.
| ControlModeState yarp::dev::CiA402MotionControl::Impl::controlModeState |
Definition at line 180 of file CiA402MotionControl.cpp.
| std::vector<bool> yarp::dev::CiA402MotionControl::Impl::currLatched |
Definition at line 272 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::degSToVel |
Definition at line 111 of file CiA402MotionControl.cpp.
| yarp::dev::InteractionModeEnum yarp::dev::CiA402MotionControl::Impl::dummyInteractionMode |
Dummy interaction mode for all the joints
Definition at line 298 of file CiA402MotionControl.cpp.
| std::vector<Mount> yarp::dev::CiA402MotionControl::Impl::enc1Mount |
Definition at line 105 of file CiA402MotionControl.cpp.
| std::vector<uint32_t> yarp::dev::CiA402MotionControl::Impl::enc1Res |
Definition at line 103 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::enc1ResInv |
Definition at line 104 of file CiA402MotionControl.cpp.
| std::vector<Mount> yarp::dev::CiA402MotionControl::Impl::enc2Mount |
Definition at line 105 of file CiA402MotionControl.cpp.
| std::vector<uint32_t> yarp::dev::CiA402MotionControl::Impl::enc2Res |
Definition at line 103 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::enc2ResInv |
Definition at line 104 of file CiA402MotionControl.cpp.
| ::CiA402::EthercatManager yarp::dev::CiA402MotionControl::Impl::ethercatManager |
Definition at line 73 of file CiA402MotionControl.cpp.
| std::string yarp::dev::CiA402MotionControl::Impl::expectedName {} |
Definition at line 92 of file CiA402MotionControl.cpp.
| int yarp::dev::CiA402MotionControl::Impl::firstSlave {1} |
Definition at line 91 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::gearRatio |
Definition at line 97 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::gearRatioInv |
Definition at line 98 of file CiA402MotionControl.cpp.
| std::vector<bool> yarp::dev::CiA402MotionControl::Impl::invertedMotionSenseDirection |
Definition at line 112 of file CiA402MotionControl.cpp.
|
staticconstexpr |
Definition at line 70 of file CiA402MotionControl.cpp.
| std::vector<int> yarp::dev::CiA402MotionControl::Impl::lastActiveMode |
Definition at line 275 of file CiA402MotionControl.cpp.
| struct yarp::dev::CiA402MotionControl::Impl::Limits yarp::dev::CiA402MotionControl::Impl::limits |
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::maxCurrentsA |
Definition at line 100 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::maxMotorTorqueNm |
Definition at line 102 of file CiA402MotionControl.cpp.
|
staticconstexpr |
Definition at line 79 of file CiA402MotionControl.cpp.
| size_t yarp::dev::CiA402MotionControl::Impl::numAxes {0} |
Definition at line 90 of file CiA402MotionControl.cpp.
| bool yarp::dev::CiA402MotionControl::Impl::opRequested {false} |
Definition at line 290 of file CiA402MotionControl.cpp.
| std::vector<bool> yarp::dev::CiA402MotionControl::Impl::posLatched |
Definition at line 273 of file CiA402MotionControl.cpp.
| std::vector<SensorSrc> yarp::dev::CiA402MotionControl::Impl::posLoopSrc |
Definition at line 108 of file CiA402MotionControl.cpp.
| std::vector<PosSrc> yarp::dev::CiA402MotionControl::Impl::posSrcJoint |
Definition at line 106 of file CiA402MotionControl.cpp.
| std::vector<PosSrc> yarp::dev::CiA402MotionControl::Impl::posSrcMotor |
Definition at line 106 of file CiA402MotionControl.cpp.
| PositionProfileState yarp::dev::CiA402MotionControl::Impl::ppState |
Definition at line 288 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::ratedMotorTorqueNm |
Definition at line 101 of file CiA402MotionControl.cpp.
| double yarp::dev::CiA402MotionControl::Impl::runTimeAccumSec {0.0} |
Definition at line 294 of file CiA402MotionControl.cpp.
| std::size_t yarp::dev::CiA402MotionControl::Impl::runTimeSamples {0} |
Definition at line 295 of file CiA402MotionControl.cpp.
| SetPoints yarp::dev::CiA402MotionControl::Impl::setPoints |
Definition at line 266 of file CiA402MotionControl.cpp.
| std::vector<std::unique_ptr<CiA402::StateMachine> > yarp::dev::CiA402MotionControl::Impl::sm |
Definition at line 269 of file CiA402MotionControl.cpp.
|
staticconstexpr |
Definition at line 87 of file CiA402MotionControl.cpp.
|
staticconstexpr |
Definition at line 83 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::torqueConstants |
Definition at line 99 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::torqueSeedNm |
Definition at line 274 of file CiA402MotionControl.cpp.
| std::vector<bool> yarp::dev::CiA402MotionControl::Impl::trqLatched |
Definition at line 272 of file CiA402MotionControl.cpp.
| std::vector<uint32_t> yarp::dev::CiA402MotionControl::Impl::tsLastRaw |
Definition at line 278 of file CiA402MotionControl.cpp.
| std::vector<uint64_t> yarp::dev::CiA402MotionControl::Impl::tsWraps |
Definition at line 279 of file CiA402MotionControl.cpp.
| VariablesReadFromMotors yarp::dev::CiA402MotionControl::Impl::variables |
Definition at line 162 of file CiA402MotionControl.cpp.
| std::vector<bool> yarp::dev::CiA402MotionControl::Impl::velLatched |
Definition at line 272 of file CiA402MotionControl.cpp.
| std::vector<SensorSrc> yarp::dev::CiA402MotionControl::Impl::velLoopSrc |
Definition at line 109 of file CiA402MotionControl.cpp.
| std::vector<VelSrc> yarp::dev::CiA402MotionControl::Impl::velSrcJoint |
Definition at line 107 of file CiA402MotionControl.cpp.
| std::vector<VelSrc> yarp::dev::CiA402MotionControl::Impl::velSrcMotor |
Definition at line 107 of file CiA402MotionControl.cpp.
| std::vector<double> yarp::dev::CiA402MotionControl::Impl::velToDegS |
Definition at line 110 of file CiA402MotionControl.cpp.