oDrive Middleware

  1. Software Side TODO:

    • Check all dependencies version used in the project, there is a lot of incompatible version issue with LIBC (setup a docker and building environment)

      • UNDERSTANDING the system and setup linux properly

      • SSH configure

      • build pipeline jenkins optional

    • Read through socketCAN and the libusb and send the data over USB

    • Verify the output using a CAN Transceiver? or verify using a logic analyzer

    • read the high level logic of ODRIVE CAN packet with in CAN_HELPER file

    • Integrate into ROS?

  2. QT odrive interface

    • a control bar for changing the odriver motor speed

    • motor calibration(init calibration) and disable force calibration after first time

    • Current feedback

    • Odrive status monitoring

    • External sensor (dynamometer) if we are going to include in the system

    • software ESTOP

    • control loop mode selection -> PID tuning param

    • motion constraint limiting

 

Milestones:

Milestone 1:

DevOps setup:

Check all utils needed can execute the example
Version control

 

Used External Technology

  • SSH into device image-20240928-135455.png

  • ROS

  • QT → Darwin

  • CAN → PCAN MNS

  • PR review

    • functionality test

    • unit test

    • code review → Joe