space-concordia-robotics/robotics-prototype

[EPIC] Arm Control Refactor

Opened this issue · 0 comments

With new codebase for the CAN bus wheels, the arm control code needs to be rewritten. It is very messy right now, with a mix of code handling the logitech joystick, 3d mouse, and ps4 controller.
It will allow for the following control modes:

  • Wheel control
  • Arm control - forward kinematics (directly set each motor speed)
  • Arm control - IK

Ideally it would support multiple controllers:

  • Logitech joystick
  • PS4 controller

This new code should be composed of the following parts:

  • New message types for joy_mapper (#632)
    There are two other nice to haves:
  • A joy_mapper node which listens to joystick messages and outputs to separate topics for different modes (#633)
  • arm_control, wheel_control nodes which receive values for the arm and wheel motors and send them to the motors (#636 )
  • absenc_node which receives absolute angle values and the control system to set motor angles in IK mode (#636)
  • IKNode which performs IK calculations (#636)
  • Using a PID as control system for motors (#628)

arm-refactor drawio