make J5 and J6 move together on a custom robot while keeping the kinematics accurate
Hi Chris, Hi everyone
I am currently designing a robot that has bevel gear for j6, the issue is that the bevel gear creates a differential relationship between the joint angles (j5 and j6). When j5 moves, j6 will move also.
Can you please help with a modified code Chris. How difficult it is to modify the Arduino IDE code?
Thanks.
Hi,
Yes, this should be possible. With your bevel gear arrangement, J5 and J6 are mechanically coupled, so you would need to determine the exact relationship between the two axes based on the bevel gear ratio. The basic approach would be to calculate the required J6 motor movement as a combination of the commanded J6 angle and a compensation value based on the J5 angle/movement.
For example, conceptually it would be something along the lines of:
J6 motor position = commanded J6 position + (J5 position × coupling ratio)
The sign and ratio would depend on your particular gear arrangement.
The complication is that this compensation would need to remain consistent throughout the motion code, including jogging, coordinated moves, calibration and position tracking. So I don't think this would be a simple Arduino parameter change.
I would recommend first working out the mathematical relationship between J5 rotation, J6 rotation and the two motor positions. Once you have that transformation defined, you can work through the Teensy/Arduino source and apply that relationship wherever J5/J6 motor positions are calculated.
Unfortunately, with the amount of development work I currently have, I can't take on modifying and testing custom firmware right now, but hopefully this gives you a direction to start.
Best regards,
Chris
Chris Annin gear ratio for j5 and j6 is the same, bevel gear ratio is 1:1
Thanks a lot Chris