For the engineer robot, a custom controller is advised to act as the physical twin for the arm on the actual robot. Therefore, I was tasked to overlook the general design of the custom controller and was also responsible for writing all the control code from scratch.
GITHUB link to the code: GitHub - yammmyu/Engineer_Custom_ControllerÂ
This code is a very lightweight and clean control code that is capable of the following:
Triple Loop Cascade PID Control
Individual Angle, Speed and Torque control
Integral overaccumulation Protection
0 to 2pi jump protection
CAN communication, retrieve and send
Pack and send Angle reading data to DJI software
The drawing below is by me, which gave the general idea of how I want the custom controller to look like. The idea behind this design is to create something that fits human ergonomics instead of an actual physical twin that we need to adapt to.
The CAD work was done by my teammate, and thus I will not go into detail about.