Open
Description
My servo drive is a 1-to-3 type, with one ECAT slave controlling three servo motors. Currently, the ROS2 EtherCAT driver I configured can read all joints state_interface but cannot write to the command_interface. What could be the issue? This is my Ethercat slave configuration file:
Configuration file for Maxon EPOS3 drive
vendor_id: 0x00000748
product_id: 0x0000000B
assign_activate: 0x0300 # DC Synch register
auto_fault_reset: false # true = automatic fault reset, false = fault reset on rising edge command interface "reset_fault"
auto_state_transitions: true
rpdo: # RxPDO = receive PDO Mapping
- index: 0x1600
channels:- {index: 0x6040, sub_index: 0, type: uint16} # Control word
- {index: 0x607a, sub_index: 0, type: int32, command_interface: position, default: .nan} # Target position
- {index: 0x6060, sub_index: 0, type: int8} # Mode of operation
- {index: 0x27FE, sub_index: 0, type: uint8} # Dummy Byte
- index: 0x1610
channels:- {index: 0x6840, sub_index: 0, type: uint16} # Control word
- {index: 0x687a, sub_index: 0, type: int32, command_interface: position, default: .nan} # Target position
- {index: 0x6860, sub_index: 0, type: int8} # Mode of operation
- {index: 0x2FFE, sub_index: 0, type: uint8} # Dummy Byte
- index: 0x1620
channels:- {index: 0x7040, sub_index: 0, type: uint16} # Control word
- {index: 0x707a, sub_index: 0, type: int32, command_interface: position, default: .nan} # Target position
- {index: 0x7060, sub_index: 0, type: int8} # Mode of operation
- {index: 0x37FE, sub_index: 0, type: uint8} # Dummy Byte
tpdo: # TxPDO = transmit PDO Mapping
- index: 0x1a00
channels:- {index: 0x6041, sub_index: 0, type: uint16} # Status word
- {index: 0x6064, sub_index: 0, type: int32, state_interface: position} # Position actual value
- {index: 0x6077, sub_index: 0, type: int16, state_interface: torque} # Torque actual value
- {index: 0x6061, sub_index: 0, type: int8} # Mode of operation display
- {index: 0x27FF, sub_index: 0, type: uint8} # Dummy Byte
- {index: 0x603F, sub_index: 0, type: uint16, default: 0} # Error Code
- {index: 0x60F4, sub_index: 0, type: int32, default: 0} # Following Error Actual Value
- index: 0x1a10
channels:- {index: 0x6841, sub_index: 0, type: uint16} # Status word
- {index: 0x6864, sub_index: 0, type: int32, state_interface: position} # Position actual value
- {index: 0x6877, sub_index: 0, type: int16, state_interface: torque} # Torque actual value
- {index: 0x6861, sub_index: 0, type: int8} # Mode of operation display
- {index: 0x2FFF, sub_index: 0, type: uint8} # Dummy Byte
- {index: 0x683F, sub_index: 0, type: uint16, default: 0} # Error Code
- {index: 0x68F4, sub_index: 0, type: int32, default: 0} # Following Error Actual Value
- index: 0x1a20
channels:- {index: 0x7041, sub_index: 0, type: uint16} # Status word
- {index: 0x7064, sub_index: 0, type: int32, state_interface: position} # Position actual value
- {index: 0x7077, sub_index: 0, type: int16, state_interface: torque} # Torque actual value
- {index: 0x7061, sub_index: 0, type: int8} # Mode of operation display
- {index: 0x37FF, sub_index: 0, type: uint8} # Dummy Byte
- {index: 0x703F, sub_index: 0, type: uint16, default: 0} # Error Code
- {index: 0x70F4, sub_index: 0, type: int32, default: 0} # Following Error Actual Value
Metadata
Metadata
Assignees
Labels
No labels