This class describe the EtherCAT driver for Sensodrive sensojoint actuator. It allows to communicate with a "Sensodrive Sensojoint actuator" through an ethercat bus managed by an ethercatcpp master.
More...
|
| virtual bool | profile_mode () const override |
| |
| virtual bool | cyclic_mode () const override |
| |
| virtual bool | position_mode () const override |
| |
| virtual bool | velocity_mode () const override |
| |
| virtual bool | torque_mode () const override |
| |
| virtual bool | profile_mode_queried () const override |
| |
| virtual bool | cyclic_mode_queried () const override |
| |
| virtual bool | position_mode_queried () const override |
| |
| virtual bool | velocity_mode_queried () const override |
| |
| virtual bool | torque_mode_queried () const override |
| |
| | SensoJoint (const Model &model) |
| | Constructor of SensoJoint class. More...
|
| |
| | SensoJoint (const Model &model, const Options &options) |
| |
| | SensoJoint (const SensoJoint &)=delete |
| |
| | SensoJoint (SensoJoint &&)=delete |
| |
| SensoJoint & | operator= (const SensoJoint &)=delete |
| |
| SensoJoint & | operator= (SensoJoint &&)=delete |
| |
| virtual | ~SensoJoint () |
| |
| void | set_target_position (double target_position) |
| | Function used to set the target position when device is command in position mode. More...
|
| |
| void | set_target_velocity (double target_velocity) |
| | Function used to set the target velocity when device is command in velocity mode. More...
|
| |
| void | set_target_output_torque (double target_torque) |
| | Function used to set the target torque on output shaft when device is command in output or basic torque modes. More...
|
| |
| void | set_target_motor_torque (double target_torque) |
| | Function used to set the target motor torque when device is command in basic torque mode. More...
|
| |
| void | set_motor_torque_feedforward (double torque_offset) |
| | Function used to set the motor torque offset. More...
|
| |
| void | set_output_torque_feedforward (double torque_offset) |
| | Function used to set the output torque offset. More...
|
| |
| void | set_external_load_torque_offset (double offset) |
| | Set value of external load torque offset (gravity) More...
|
| |
| void | set_velocity_feedforward (double velocity_offset) |
| | Function used to set the velocity offset. More...
|
| |
| bool | set_control_mode (control_mode_t control_mode) |
| | Select the desired control mode. More...
|
| |
| control_mode_t | control_mode () const |
| | Get current control mode used inside device. More...
|
| |
| std::string_view | control_mode_str () const |
| | Get current control mode used inside device as a string. More...
|
| |
| double | position () const |
| | Get actual motor position in radians. More...
|
| |
| double | velocity () const |
| | Get actual motor velocity in radians per second. More...
|
| |
| double | motor_torque () const |
| | Get actual motor torque in newton meter. More...
|
| |
| double | motor_current () const |
| | Get actual motor current in A. More...
|
| |
| double | output_torque () const |
| | Get actual output torque in newton meter (Nm). More...
|
| |
| double | friction_torque () const |
| | Get actual friction torque in newton meter (Nm). More...
|
| |
| double | motor_temperature () const |
| | Get actual motor temperature in degrees celsius (°C). More...
|
| |
| double | drive_temperature () const |
| | Get actual drive temperature in degrees celsius (°C). More...
|
| |
| double | sensor_temperature () const |
| | Get actual torque sensor temperature in degrees celsius (°C). More...
|
| |
| bool | following_error () const |
| | In profile modes tell whether there is a following error. More...
|
| |
| bool | standstill () const |
| | In profile velocity modes tell whether the motor is standstill. More...
|
| |
| bool | sto_active () const |
| | Check whether STO(Safe torque off) security has been triggerred. More...
|
| |
| bool | sbc_active () const |
| | Check whether SBC(Safe braque control) security has been triggerred. More...
|
| |
| bool | brake_applied () const |
| | Tell whether Sensojoint brake is applied. More...
|
| |
| const Options & | options () const |
| | Get options used in the Sensojoint. More...
|
| |
| const std::string & | fault () const |
| | Get last fault description. More...
|
| |
| uint16_t | error_code () const |
| | Get last error code. More...
|
| |
| bool | warning () const |
| | check if a warning is currently emitted. More...
|
| |
| void | set_spring (double neutral_position, double stiffness, double damping) |
| | Set value of spring haptics effect parameters in advanced torque controller. More...
|
| |
| void | set_digital_outputs (uint8_t outputs) |
| | Set value of digital outputs. More...
|
| |
| uint8_t | digital_inputs () const |
| | Get value of digital inputs. More...
|
| |
| double | initial_position () const |
| | Get the theoric initial position from drive configuration. More...
|
| |
| | CIA402Device (uint16_t &control_word, uint16_t &status_word, int8_t &mode_set, int8_t &mode_read) |
| |
| | CIA402Device () |
| |
| virtual | ~CIA402Device () |
| |
| state_t | operation_state () const |
| | get current state of the device. More...
|
| |
| std::string_view | operation_state_str () const |
| | get string representation of current state of the device. More...
|
| |
| void | acknowledge_fault () |
| | Acknowledge fault and reset faulty status. More...
|
| |
| void | quick_stop () |
| | Launch the quick stop procedure. More...
|
| |
| bool | voltage_enabled () const |
| | Tell whether device is powered with high voltage. More...
|
| |
| bool | fault_alert () const |
| | Tell whether device reports an error. More...
|
| |
| bool | warning_alert () const |
| | Tell whether device reports a warning. More...
|
| |
| bool | is_configurable () const |
| | Tell whether the sensojoint can be immediately configured. More...
|
| |
| bool | process_state () |
| | Perform adequate operations depending on state. More...
|
| |
| void | startup () |
| | Make sensojoint controlable and control mode cannot be changed. More...
|
| |
| void | finish () |
| | Put the sensojoint is a safe, configuration possible, state. More...
|
| |
| void | pause (bool doit) |
| | State transition is paused/unpaused. More...
|
| |
| bool | active () const |
| | Tell whether the sensojoint is active (is running or will run commands) or not (is or will be in a safe state, where control mode can be configured) More...
|
| |
| bool | paused () const |
| | Tell whether the device state transition is paused. More...
|
| |
| bool | target_reached () const |
| | Tell whether the target given by a profile mode has been reached. More...
|
| |
| bool | manage_new_setpoint () |
| | Make the controller manage a new setpoint (e.g. value of target position). Only in profile mode. More...
|
| |
| bool | motion_halted () const |
| | Tell whether motion generated by a profile mode is halted. More...
|
| |
| void | halt_motion (bool choice) |
| | Halt motor axle, only in profile mode. More...
|
| |
| bool | new_setpoint_following () const |
| | Tell whether a new set point is tracked. Only in profile position mode. More...
|
| |
| bool | internal_limit () const |
| | In profile modes tell whether there is an internal limit has been reached. More...
|
| |
| void | reset_fault () |
| | Reset fault so that the device can start again. More...
|
| |
| | SlaveDevice () |
| | Constructor of SlaveDevice class. More...
|
| |
| virtual | ~SlaveDevice () |
| |
| void | set_serial_number (uint32_t serial_number) |
| | Set the serial number of the device. More...
|
| |
| uint32_t | eep_manufacturer () const |
| | Get EtherCAT device manufacturer id. More...
|
| |
| uint32_t | eep_device () const |
| | Get EtherCAT device id. More...
|
| |
| uint32_t | serial_number () const |
| | Get device serial number. More...
|
| |
| | Device () |
| |
| virtual | ~Device () |
| |
|
| static constexpr const uint16_t | controlword_addr = 0x6040 |
| |
| static constexpr const uint16_t | statusword_addr = 0x6041 |
| |
| static constexpr const uint16_t | set_modes_of_operation_addr = 0x6060 |
| |
| static constexpr const uint16_t | get_modes_of_operation_addr = 0x6061 |
| |
| static constexpr const uint16_t | not_ready_to_switch_on_code = 0x0000 |
| |
| static constexpr const uint16_t | switch_on_disabled_code = 0x0040 |
| |
| static constexpr const uint16_t | ready_to_switch_on_code = 0x0021 |
| |
| static constexpr const uint16_t | switched_on_code = 0x0023 |
| |
| static constexpr const uint16_t | operation_enabled_code = 0x0027 |
| |
| static constexpr const uint16_t | quick_stop_active_code = 0x0007 |
| |
| static constexpr const uint16_t | fault_reaction_active_code = 0x000F |
| |
| static constexpr const uint16_t | fault_code = 0x0008 |
| |
| static constexpr const int8_t | monitor_mode = 0 |
| |
| static constexpr const int8_t | PP_mode = 1 |
| | Profile position. More...
|
| |
| static constexpr const int8_t | PV_mode = 3 |
| | Profile velocity. More...
|
| |
| static constexpr const int8_t | PT_mode = 4 |
| | Profile torque. More...
|
| |
| static constexpr const int8_t | HOMING_mode = 6 |
| | Homing. More...
|
| |
| static constexpr const int8_t | IP_mode = 7 |
| | Profile interpolated. More...
|
| |
| static constexpr const int8_t | CSP_mode = 8 |
| | Cyclic synchronous position. More...
|
| |
| static constexpr const int8_t | CSV_mode = 9 |
| | Cyclic synchronous velocity. More...
|
| |
| static constexpr const int8_t | CST_mode = 10 |
| | Cyclic synchronous torque. More...
|
| |
| static const std::map< state_t, std::string_view > | device_state_decode_ |
| |
| void | set_operation_state (control_t state) |
| | Function used to change the state of device. More...
|
| |
| void | set_quick_stop_reaction (std::function< void()> reaction) |
| | Set the quick stop reaction function called when a quick stop procedure starts. More...
|
| |
| void | set_leaving_enable_requires_quick_stop (std::function< bool()> check_quick_stop) |
| | Set the check function called when device leaves the operation enabled state. More...
|
| |
| void | set_entering_enable_reaction (std::function< bool()> reaction) |
| | Set the reaction function called when device enters the operation enabled state. More...
|
| |
| void | set_entering_switchon_reaction (std::function< void()> reaction) |
| | Set the reaction function called when device enters the switched on state. More...
|
| |
| void | set_entering_disabled_reaction (std::function< void()> reaction) |
| | Set the reaction function called when device enters the switched on disabled state. More...
|
| |
| void | initialize_state_variables (uint16_t &control_word, uint16_t &status_word, int8_t &mode_set, int8_t &mode_read) |
| | Set the variables used to control the state machine. More...
|
| |
| void | initialize_state_variables (uint16_t *control_word, uint16_t *status_word, int8_t *mode_set, int8_t *mode_read) |
| | Set the variables used to control the state machine. More...
|
| |
| void | initialize_state_variables (uint8_t *control_word_addr, uint8_t *status_word_addr, uint8_t *mode_set_addr, uint8_t *mode_read_addr) |
| | Set the variables used to control the state machine. More...
|
| |
| int8_t | current_control_mode () const |
| | Utility function for implementing the control_mode() function of derived classes. More...
|
| |
| void | device_state_termination () |
| | Performs operations supposed to put the device in a safe state. More...
|
| |
| void | device_state_initialization () |
| | Performs operations supposed to put the device in a safe state. More...
|
| |
| void | managed_set_point () |
| | Ask the device to take into account the new set point given. Only in profile position modes. More...
|
| |
| template<typename T , typename... U> |
| void | define_physical_buffer (syncmanager_buffer_t type, uint16_t start_addr, uint32_t flags) |
| | Define a physical buffer (EtherCAT syncManager buffer). More...
|
| |
| void | define_physical_buffer (syncmanager_buffer_t type, uint16_t start_addr, uint32_t flags, uint16_t length) |
| | Define a physical buffer (EtherCAT syncManager buffer). More...
|
| |
| template<typename T > |
| T * | input_buffer (uint16_t start_addr) |
| | Get data of input physical buffer. More...
|
| |
| template<typename T , typename U , typename... Other> |
| std::tuple< T *, U *, Other *... > | input_buffer (uint16_t start_addr) |
| |
| uint8_t * | input_buffer (uint16_t start_addr) |
| | Get data of input physical buffer. More...
|
| |
| template<typename T > |
| T * | output_buffer (uint16_t start_addr) |
| | Get data of output physical buffer. More...
|
| |
| template<typename T , typename U , typename... Other> |
| std::tuple< T *, U *, Other *... > | output_buffer (uint16_t start_addr) |
| |
| uint8_t * | output_buffer (uint16_t start_addr) |
| | Get data of output physical buffer. More...
|
| |
| void | add_run_step (std::function< void()> &&pre, std::function< void()> &&post) |
| | Add a run step and define pre_function and post_function run step. More...
|
| |
| void | add_init_step (std::function< void()> &&pre, std::function< void()> &&post) |
| | Add a init step and define pre_function and post_function for this init step. More...
|
| |
| void | add_end_step (std::function< void()> &&pre, std::function< void()> &&post) |
| | Add a end step and define pre_function and post_function for this end step. More...
|
| |
| void | set_id (const std::string &name, uint32_t manufacturer, uint32_t model) |
| | Set a specific ID to the slave. More...
|
| |
| void | define_distributed_clock (bool have_dc) |
| | Define if the slave have a distributed clock. More...
|
| |
| void | define_period_for_non_cyclic_steps (int period) |
| | Define the period between two non cyclic steps. More...
|
| |
| void | configure_at_init (std::function< void()> &&func) |
| | Define the function that configures the slave in PREOP state at initialization of the ethercat bus (Master::init()) . More...
|
| |
| void | configure_at_end (std::function< void()> &&func) |
| | Define the function that performs configuration actions in PREOP state at termination of the ethercat bus. (Master::end()). More...
|
| |
| int | write_sdo (uint16_t index, uint8_t sub_index, int buffer_size, void *buffer) const |
| | write a SDO capable object field More...
|
| |
| int | read_sdo (uint16_t index, uint8_t sub_index, int buffer_size, void *buffer) const |
| | read a SDO capable object field More...
|
| |
| template<typename T > |
| int | write_sdo (uint16_t index, uint8_t sub_index, T &value) const |
| | Send a CoE write SDO packet to the slave. More...
|
| |
| template<typename T > |
| int | read_sdo (uint16_t index, uint8_t sub_index, T &value) const |
| | Send a CoE read SDO packet to the slave. More...
|
| |
| template<typename T > |
| bool | start_command_pdo_mapping () |
| | Start the definition of the command PDO mapping. More...
|
| |
| template<typename T > |
| bool | add_command_pdo_mapping (uint16_t pdo_address) |
| | Add a new command PDO map link. More...
|
| |
| template<typename T > |
| bool | end_command_pdo_mapping () |
| | Finish the definition of the command PDO mapping. More...
|
| |
| template<typename T > |
| bool | start_status_pdo_mapping () |
| | Start definition of the status PDO mapping. More...
|
| |
| template<typename T > |
| bool | add_status_pdo_mapping (uint16_t pdo_address) |
| | Add a new STATUS PDO map link. More...
|
| |
| template<typename T > |
| bool | end_status_pdo_mapping () |
| | Finish definition of the status PDO mapping. More...
|
| |
| void | configure_dc_sync0 (uint32_t cycle_time_0, int32_t cycle_shift) const |
| | Define DC synchro signal 0. More...
|
| |
| void | configure_dc_sync0_1 (uint32_t cycle_time_0, uint32_t cycle_time_1, int32_t cycle_shift) const |
| | Define DC synchro signals 0 and 1. More...
|
| |
| int32_t | read_file (std::string_view filename, uint32_t password, int32_t size, uint8_t *buffer) const |
| |
| bool | write_file (std::string_view filename, uint32_t password, int32_t size, uint8_t *buffer) const |
| |
| bool | read_sercos (uint8_t drive, uint8_t flags, uint16_t idn, int32_t size, uint8_t *buffer) const |
| |
| bool | write_sercos (uint8_t drive, uint8_t flags, uint16_t idn, int32_t size, uint8_t *buffer) const |
| |
| static const std::map< int8_t, std::string_view > | std_control_mode_str |
| |
This class describe the EtherCAT driver for Sensodrive sensojoint actuator. It allows to communicate with a "Sensodrive Sensojoint actuator" through an ethercat bus managed by an ethercatcpp master.