This repo is for our CMPUT312 Final Project. It contains code for Forward Kinematics and Inverse Kinematics for a 4DOF Robot Arm.
Forward Kinematics is used to calculate the position of the robot arm's end-effector given the joint angles of the arm.
Inverse Kinematics is used to calculate the joint angles given a position in 3D cartesian space.
It also contains code for interfacing with the Lynxmotion 4DOF Robot Arm, as well as to connect to the render engine server.
Main file: control.py
- Contains code for demos: interpolation, and real-time tracking.
Denavit-Hartenberg Parameters
Joint | d | a | offset | ||
---|---|---|---|---|---|
1 | q1 | 4.13 | 0 | 0 | |
2 | q2 | 0 | 5.61 | 0 | |
3 | q3 | 0 | 6.39 | 0 | |
4 | q4 | 0 | 4.52 | 0 | 0 |
Robot parameters visualized using the Robotics Toolbox [1]
Jacobian Matrix [2]
Thanks to Geraldine and Eduardo for providing the logic to control the LSS servos and the measurements for the arm.
[1] P. I. Corke, Robotics, Vision & Control: Fundamental Algorithms in MATLAB, Second. Springer, 2017.
[2] A. Addison, “The Ultimate Guide to Jacobian Matrices for Robotics – Automatic Addison.” https://automaticaddison.com/the-ultimate-guide-to-jacobian-matrices-for-robotics/ (accessed Nov. 11, 2021).