The TtlManager class manages the different motor drivers connected on the TTL bus it is used by ttl_interface_core to send or receive data to the ttl bus it also manages the lifecycle of all motors driver (do we need to add also the end effector driver in it ?) More...
#include <ttl_manager.hpp>

Classes | |
| class | CalibrationMachineState |
| struct | GetJointsStepperDriverResult |
Public Member Functions | |
| int | addHardwareComponent (std::shared_ptr< common::model::AbstractHardwareState > &&state) override |
| TtlManager::addHardwareComponent add hardware component like joint, ee, tool... to ttl manager. More... | |
| int | changeId (common::model::EHardwareType motor_type, uint8_t old_id, uint8_t new_id) |
| TtlManager::changeId. More... | |
| bool | changeTool (int value, std::string &message, int &status) |
| TtlManager::changeTool. More... | |
| void | executeJointTrajectoryCmd (std::vector< std::pair< uint8_t, uint32_t >> cmd_vec) |
| TtlManager::executeJointTrajectoryCmd. More... | |
| int | getAllIdsOnBus (std::vector< uint8_t > &id_list) |
| TtlManager::getAllIdsOnDxlBus. More... | |
| void | getBusState (bool &connection_state, std::vector< uint8_t > &motor_id, std::string &debug_msg) const override |
| TtlManager::getBusState. More... | |
| int32_t | getCalibrationResult (uint8_t id) const override |
| TtlManager::getCalibrationResult. More... | |
| common::model::EStepperCalibrationStatus | getCalibrationStatus () const override |
| TtlManager::getCalibrationStatus. More... | |
| bool | getCollisionStatus () const |
| TtlManager::getCollisionStatus. More... | |
| std::vector< std::shared_ptr< common::model::ConveyorState > > | getConveyorsStates () const |
| std::string | getErrorMessage () const override |
| TtlManager::getErrorMessage. More... | |
| std::shared_ptr< common::model::AbstractHardwareState > | getHardwareState (uint8_t motor_id) const |
| TtlManager::getHardwareState. More... | |
| int | getLedState () const |
| std::vector< std::shared_ptr< common::model::JointState > > | getMotorsStates () const |
| TtlManager::getMotorsStates. More... | |
| size_t | getNbMotors () const override |
| TtlManager::getNbMotors. More... | |
| uint32_t | getPosition (const common::model::JointState &motor_state) |
| TtlManager::getPosition. More... | |
| std::vector< uint8_t > | getRemovedMotorList () const override |
| TtlManager::getRemovedMotorList. More... | |
| bool | hasEndEffector () const |
| TtlManager::hasEndEffector. More... | |
| bool | init (ros::NodeHandle &nh) override |
| TtlManager::init. More... | |
| bool | isCalibrationInProgress () const |
| TtlManager::isCalibrationInProgress. More... | |
| bool | isConnectionOk () const override |
| TtlManager::isConnectionOk. More... | |
| bool | needCalibration () const |
| TtlManager::needCalibration. More... | |
| TtlManager & | operator= (const TtlManager &)=delete |
| TtlManager & | operator= (TtlManager &&)=delete |
| bool | ping (uint8_t id) override |
| TtlManager::ping. More... | |
| bool | readCollisionStatus () |
| TtlManager::readCollisionStatus. More... | |
| int | readControlMode (uint8_t id, uint8_t &control_mode) |
| TtlManager::readControlMode. More... | |
| int | readCustomCommand (uint8_t id, int32_t reg_address, int &value, int byte_number) |
| TtlManager::readCustomCommand. More... | |
| bool | readEndEffectorStatus () |
| TtlManager::readEndEffectorStatus. More... | |
| bool | readHardwareStatus () |
| TtlManager::readHardwareStatus. More... | |
| bool | readHomingAbsPosition () |
| bool | readJointsStatus () |
| TtlManager::readJointsStatus. More... | |
| int | readMotorPID (uint8_t id, uint16_t &pos_p_gain, uint16_t &pos_i_gain, uint16_t &pos_d_gain, uint16_t &vel_p_gain, uint16_t &vel_i_gain, uint16_t &ff1_gain, uint16_t &ff2_gain) |
| TtlManager::readMotorPID. More... | |
| int | readMoving (uint8_t id, uint8_t &status) |
| TtlManager::readMoving. More... | |
| uint8_t | readNed3ProSteppersStatus () |
| uint8_t | readSteppersStatus () |
| TtlManager::readCalibrationStatus : reads specific steppers related information (ned2 only) More... | |
| int | readVelocityProfile (uint8_t id, uint32_t &v_start, uint32_t &a_1, uint32_t &v_1, uint32_t &a_max, uint32_t &v_max, uint32_t &d_max, uint32_t &d_1, uint32_t &v_stop) |
| TtlManager::readVelocityProfile. More... | |
| int | rebootHardware (uint8_t id) |
| TtlManager::rebootHardware. More... | |
| void | removeHardwareComponent (uint8_t id) override |
| TtlManager::removeHardwareComponent. More... | |
| void | resetCalibration () override |
| TtlManager::resetCalibration. More... | |
| void | resetTorques () |
| TtlManager::resetTorques. More... | |
| int | scanAndCheck () override |
| TtlManager::scanAndCheck. More... | |
| int | sendCustomCommand (uint8_t id, int reg_address, int value, int byte_number) |
| TtlManager::sendCustomCommand. More... | |
| int | setLeds (int led) |
| TtlManager::setLeds. More... | |
| void | startCalibration () override |
| TtlManager::startCalibration. More... | |
| TtlManager ()=delete | |
| TtlManager (const TtlManager &)=delete | |
| TtlManager (ros::NodeHandle &nh) | |
| TtlManager::TtlManager. More... | |
| TtlManager (TtlManager &&)=delete | |
| int | writeSingleCommand (std::unique_ptr< common::model::AbstractTtlSingleMotorCmd > &&cmd) |
| TtlManager::writeSingleCommand. More... | |
| int | writeSynchronizeCommand (std::unique_ptr< common::model::AbstractTtlSynchronizeMotorCmd > &&cmd) |
| TtlManager::writeSynchronizeCommand. More... | |
| ~TtlManager () override | |
| TtlManager::~TtlManager. More... | |
Private Member Functions | |
| void | addHardwareDriver (common::model::EHardwareType hardware_type) override |
| TtlManager::addHardwareDriver. More... | |
| bool | checkCollision () |
| TtlManager::checkCollision. More... | |
| GetJointsStepperDriverResult | getJointsStepperDriver () |
| : Return the driver of the joints More... | |
| bool | isMotorType (common::model::EHardwareType type) |
| TtlManager::isMotorType. More... | |
| void | readFakeConfig (bool use_simu_gripper, bool use_simu_conveyor) |
| TtlManager::readFakeConfig. More... | |
| template<typename Reg > | |
| void | retrieveFakeMotorData (const std::string ¤t_ns, std::map< uint8_t, Reg > &fake_params, std::vector< int > hw_ids={}) |
| TtlManager::retrieveFakeMotorData. More... | |
| int | setupCommunication () override |
| TtlManager::setupCommunication. More... | |
Private Attributes | |
| std::vector< uint8_t > | _all_ids_connected |
| std::vector< int > | _available_tools |
| int | _baudrate { 1000000 } |
| CalibrationMachineState | _calib_machine_state |
| common::model::EStepperCalibrationStatus | _calibration_status { common::model::EStepperCalibrationStatus::OK } |
| ros::Publisher | _calibration_status_publisher |
| bool | _collision_status { false } |
| std::vector< uint8_t > | _conveyor_list |
| uint32_t | _current_tool_id { 0 } |
| std::vector< int > | _current_tool_vector |
| std::string | _debug_error_message |
| std::shared_ptr< ttl_driver::AbstractTtlDriver > | _default_ttl_driver |
| std::string | _device_name |
| std::map< common::model::EHardwareType, std::shared_ptr< ttl_driver::AbstractTtlDriver > > | _driver_map |
| std::map< common::model::EHardwareType, std::shared_ptr< ttl_driver::AbstractEndEffectorDriver > > | _end_effector_driver_map |
| uint32_t | _end_effector_fail_counter_read { 0 } |
| std::map< uint8_t, std::shared_ptr< common::model::EndEffectorState > > | _end_effector_state_map |
| std::shared_ptr< FakeTtlData > | _fake_data |
| uint32_t | _hw_fail_counter_read { 0 } |
| std::map< common::model::EHardwareType, std::vector< uint8_t > > | _ids_map |
| bool | _is_connection_ok { false } |
| bool | _isRealCollision { true } |
| bool | _isWrongAction { false } |
| double | _last_collision_detection_activating { 0.0 } |
| std::string | _led_motor_type_cfg |
| int | _led_state = 0 |
| std::map< common::model::EHardwareType, std::shared_ptr< ttl_driver::AbstractMotorDriver > > | _motor_driver_map |
| std::map< uint8_t, std::shared_ptr< common::model::AbstractMotorState > > | _motor_state_map |
| ros::NodeHandle | _nh |
| std::shared_ptr< dynamixel::PacketHandler > | _packetHandler |
| std::shared_ptr< dynamixel::PortHandler > | _portHandler |
| std::vector< uint8_t > | _position_goal_ids |
| std::vector< uint32_t > | _position_goal_params |
| std::vector< uint32_t > | _position_list |
| std::vector< uint8_t > | _removed_motor_id_list |
| bool | _simulation_mode { false } |
| std::map< uint8_t, std::shared_ptr< common::model::AbstractHardwareState > > | _state_map |
| std::mutex | _sync_mutex |
Static Private Attributes | |
| static constexpr uint32_t | MAX_HW_FAILURE = 150 |
| static constexpr uint32_t | MAX_READ_EE_FAILURE = 150 |
The TtlManager class manages the different motor drivers connected on the TTL bus it is used by ttl_interface_core to send or receive data to the ttl bus it also manages the lifecycle of all motors driver (do we need to add also the end effector driver in it ?)
Parameters for Stepper
Definition at line 84 of file ttl_manager.hpp.
|
delete |
| ttl_driver::TtlManager::TtlManager | ( | ros::NodeHandle & | nh | ) |
Definition at line 80 of file ttl_manager.cpp.
|
override |
Definition at line 94 of file ttl_manager.cpp.
|
delete |
|
delete |
|
override |
TtlManager::addHardwareComponent add hardware component like joint, ee, tool... to ttl manager.
| state |
Definition at line 272 of file ttl_manager.cpp.
|
overrideprivate |
TtlManager::addHardwareDriver.
| hardware_type |
Definition at line 2260 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::changeId | ( | common::model::EHardwareType | motor_type, |
| uint8_t | old_id, | ||
| uint8_t | new_id | ||
| ) |
| bool ttl_driver::TtlManager::changeTool | ( | int | value, |
| std::string & | message, | ||
| int & | status | ||
| ) |
|
private |
Definition at line 989 of file ttl_manager.cpp.
| void ttl_driver::TtlManager::executeJointTrajectoryCmd | ( | std::vector< std::pair< uint8_t, uint32_t >> | cmd_vec | ) |
TtlManager::executeJointTrajectoryCmd.
| cmd_vec |
Definition at line 2074 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::getAllIdsOnBus | ( | std::vector< uint8_t > & | id_list | ) |
TtlManager::getAllIdsOnDxlBus.
| id_list |
Definition at line 1532 of file ttl_manager.cpp.
|
override |
| connection_state | |
| motor_id | |
| debug_msg |
Definition at line 2199 of file ttl_manager.cpp.
|
override |
TtlManager::getCalibrationResult.
| motor_id |
Definition at line 2181 of file ttl_manager.cpp.
|
inlineoverride |
|
inline |
| std::vector< std::shared_ptr< ConveyorState > > ttl_driver::TtlManager::getConveyorsStates | ( | ) | const |
Definition at line 2225 of file ttl_manager.cpp.
|
inlineoverride |
| std::shared_ptr< common::model::AbstractHardwareState > ttl_driver::TtlManager::getHardwareState | ( | uint8_t | motor_id | ) | const |
|
private |
: Return the driver of the joints
All stepper joints should have the same type of driver
Definition at line 2427 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::getLedState | ( | ) | const |
| std::vector< std::shared_ptr< JointState > > ttl_driver::TtlManager::getMotorsStates | ( | ) | const |
Definition at line 2210 of file ttl_manager.cpp.
|
inlineoverride |
| uint32_t ttl_driver::TtlManager::getPosition | ( | const common::model::JointState & | motor_state | ) |
|
inlineoverride |
|
inline |
|
override |
|
inline |
|
inlineoverride |
|
private |
|
inline |
|
delete |
|
delete |
|
override |
| id |
Definition at line 556 of file ttl_manager.cpp.
| bool ttl_driver::TtlManager::readCollisionStatus | ( | ) |
| int ttl_driver::TtlManager::readControlMode | ( | uint8_t | id, |
| uint8_t & | control_mode | ||
| ) |
| int ttl_driver::TtlManager::readCustomCommand | ( | uint8_t | id, |
| int32_t | reg_address, | ||
| int & | value, | ||
| int | byte_number | ||
| ) |
TtlManager::readCustomCommand.
| id | |
| reg_address | |
| value | |
| byte_number |
Definition at line 1700 of file ttl_manager.cpp.
| bool ttl_driver::TtlManager::readEndEffectorStatus | ( | ) |
|
private |
Definition at line 2360 of file ttl_manager.cpp.
| bool ttl_driver::TtlManager::readHardwareStatus | ( | ) |
TtlManager::readHardwareStatus.
Definition at line 1140 of file ttl_manager.cpp.
| bool ttl_driver::TtlManager::readHomingAbsPosition | ( | ) |
Definition at line 691 of file ttl_manager.cpp.
| bool ttl_driver::TtlManager::readJointsStatus | ( | ) |
| int ttl_driver::TtlManager::readMotorPID | ( | uint8_t | id, |
| uint16_t & | pos_p_gain, | ||
| uint16_t & | pos_i_gain, | ||
| uint16_t & | pos_d_gain, | ||
| uint16_t & | vel_p_gain, | ||
| uint16_t & | vel_i_gain, | ||
| uint16_t & | ff1_gain, | ||
| uint16_t & | ff2_gain | ||
| ) |
| id | |
| pos_p_gain | |
| pos_i_gain | |
| pos_d_gain | |
| vel_p_gain | |
| vel_i_gain | |
| ff1_gain | |
| ff2_gain |
Definition at line 1753 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::readMoving | ( | uint8_t | id, |
| uint8_t & | status | ||
| ) |
| uint8_t ttl_driver::TtlManager::readNed3ProSteppersStatus | ( | ) |
Definition at line 1432 of file ttl_manager.cpp.
| uint8_t ttl_driver::TtlManager::readSteppersStatus | ( | ) |
TtlManager::readCalibrationStatus : reads specific steppers related information (ned2 only)
Definition at line 1263 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::readVelocityProfile | ( | uint8_t | id, |
| uint32_t & | v_start, | ||
| uint32_t & | a_1, | ||
| uint32_t & | v_1, | ||
| uint32_t & | a_max, | ||
| uint32_t & | v_max, | ||
| uint32_t & | d_max, | ||
| uint32_t & | d_1, | ||
| uint32_t & | v_stop | ||
| ) |
TtlManager::readVelocityProfile.
| id | |
| v_start | |
| a_1 | |
| v_1 | |
| a_max | |
| v_max | |
| d_max | |
| d_1 | |
| v_stop |
Definition at line 1818 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::rebootHardware | ( | uint8_t | hw_id | ) |
|
override |
|
override |
Definition at line 2148 of file ttl_manager.cpp.
| void ttl_driver::TtlManager::resetTorques | ( | ) |
|
private |
TtlManager::retrieveFakeMotorData.
| current_ns | |
| fake_params |
Definition at line 405 of file ttl_manager.hpp.
|
override |
| int ttl_driver::TtlManager::sendCustomCommand | ( | uint8_t | id, |
| int | reg_address, | ||
| int | value, | ||
| int | byte_number | ||
| ) |
TtlManager::sendCustomCommand.
| id | |
| reg_address | |
| value | |
| byte_number |
Definition at line 1645 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::setLeds | ( | int | led | ) |
|
overrideprivate |
|
override |
Definition at line 2109 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::writeSingleCommand | ( | std::unique_ptr< common::model::AbstractTtlSingleMotorCmd > && | cmd | ) |
TtlManager::writeSingleCommand.
| cmd |
Definition at line 2021 of file ttl_manager.cpp.
| int ttl_driver::TtlManager::writeSynchronizeCommand | ( | std::unique_ptr< common::model::AbstractTtlSynchronizeMotorCmd > && | cmd | ) |
TtlManager::writeSynchronizeCommand.
| cmd |
Definition at line 1952 of file ttl_manager.cpp.
|
private |
Definition at line 209 of file ttl_manager.hpp.
|
private |
Definition at line 265 of file ttl_manager.hpp.
|
private |
Definition at line 207 of file ttl_manager.hpp.
|
private |
Definition at line 319 of file ttl_manager.hpp.
|
private |
Definition at line 248 of file ttl_manager.hpp.
|
private |
Definition at line 260 of file ttl_manager.hpp.
|
private |
Definition at line 255 of file ttl_manager.hpp.
|
private |
Definition at line 229 of file ttl_manager.hpp.
|
private |
Definition at line 236 of file ttl_manager.hpp.
|
private |
Definition at line 266 of file ttl_manager.hpp.
|
private |
Definition at line 233 of file ttl_manager.hpp.
|
private |
Definition at line 225 of file ttl_manager.hpp.
|
private |
Definition at line 206 of file ttl_manager.hpp.
|
private |
Definition at line 219 of file ttl_manager.hpp.
|
private |
Definition at line 222 of file ttl_manager.hpp.
|
private |
Definition at line 239 of file ttl_manager.hpp.
|
private |
Definition at line 215 of file ttl_manager.hpp.
|
private |
Definition at line 251 of file ttl_manager.hpp.
|
private |
Definition at line 238 of file ttl_manager.hpp.
|
private |
Definition at line 217 of file ttl_manager.hpp.
|
private |
Definition at line 232 of file ttl_manager.hpp.
|
private |
Definition at line 257 of file ttl_manager.hpp.
|
private |
Definition at line 258 of file ttl_manager.hpp.
|
private |
Definition at line 256 of file ttl_manager.hpp.
|
private |
Definition at line 242 of file ttl_manager.hpp.
|
private |
Definition at line 241 of file ttl_manager.hpp.
|
private |
Definition at line 220 of file ttl_manager.hpp.
|
private |
Definition at line 214 of file ttl_manager.hpp.
|
private |
Definition at line 200 of file ttl_manager.hpp.
|
private |
Definition at line 202 of file ttl_manager.hpp.
|
private |
Definition at line 201 of file ttl_manager.hpp.
|
private |
Definition at line 263 of file ttl_manager.hpp.
|
private |
Definition at line 264 of file ttl_manager.hpp.
|
private |
Definition at line 262 of file ttl_manager.hpp.
|
private |
Definition at line 210 of file ttl_manager.hpp.
|
private |
Definition at line 252 of file ttl_manager.hpp.
|
private |
Definition at line 213 of file ttl_manager.hpp.
|
mutableprivate |
Definition at line 204 of file ttl_manager.hpp.
|
staticconstexprprivate |
Definition at line 244 of file ttl_manager.hpp.
|
staticconstexprprivate |
Definition at line 245 of file ttl_manager.hpp.