Hi, I am working on ROS with odrive by CAN bus and I am new to ROS.
def set_home(self):
"""Sets the home position by zeroing the encoder."""
# Switch to torque control
arbitration_id = (0 << 5) | 0x00B # Set control mode
data = list(struct.pack('<i', 1)) # Torque control mode
self.send_can_message(arbitration_id, data)
self.get_logger().info("Switched to torque control mode.")
time.sleep(2) # Wait for user to move robot to calibration position
# Set encoder count to zero (set home)
arbitration_id = (0 << 5) | 0x00D # Set encoder count command
data = list(struct.pack('<i', 0)) # Set linear count to zero
self.send_can_message(arbitration_id, data)
self.get_logger().info("Encoder count set to zero (home).")
Can you help me check if this is correct command?
Thank you