Calculation of Forward Kinematics (FK), Inverse Kinematics (IK), Jacobians, Dynamic Modeling (Euler-Lagrange, Newton-Euler), trajectory generation (Joint Space polynomial, Joint Space P2P, Cartesian Space Linear), and geometric calibration for robotic manipulators.
robots
- Folder with IK and FK solutions. Solution descriptions are in.md
filesutils
- Several useful utils likeSymbolicTransformation
orTrajectoryGenerator
that can help with matrix multiplication, planning and other Robotics-related stuffdocs
- Folder with some theoryDynamics.md
- Review of dynamic modeling of robotics manipulatorsFanucJacobians.md
- Review of Jacobian calculation on the example of Fanuc manipulatorGeometricCalibration.md
- Review of geometric parameter calibration on the example of Fanuc manipulatorTrajectoryPlanning.md
- Review of trajectory planning for robotic manipulators
tests
- Unit tests
Here are several useful commands to run:
python rr_robot_dynamics.py
If you want to see how to model RR manipulator with gravity force and make it follow the desired trajectory. Check out docs/Dynamics.md
to see how it is done.
No control signal is applied, just gravity force is acting:
Control signal is applied:
python rrr_robot_planning.py
If you want to see how to perform XYZ Polynomial and Trapezoidal trajectory planning for RRR Robot in Joint and Cartesian Space. Check out docs/TrajectoryPlanning.md
to see how the planning is done.
Sample polynomial trajectory:
Here is how the manipulator will move:
Sample trapezoidal trajectory in joint space:
Here is how the manipulator will move:
Sample trapezoidal trajectory in cartesian space:
Their corresponding joint space plots:
Here is how the manipulator will move:
python fanuc_kinematics.py
If you want to see how to use Fanuc165F forward and inverse kinematics calculation.
Check out robots/FANUC165F.md
for the solution description:
python fanuc_jacobians.py
If you want to see how to calculate Fanuc165F Jacobian matrix using Scew theory and numerical matrix differentiation methods. The singularity analysis is also presented.
Check out docs/FanucJacobians.md
for the solution description:
python fanuc_calibration.py
If you want to see how it is possible to calibrate a robotic manipulator.
Check out docs/GeometricCalibration.md
for the solution description
Distance RMS (mm): 13.154
Max Distance diff (mm): 18.49
Distance RMS (mm): 0.531
Max Distance diff (mm): 1.32
python jacobian_calculation.py
If you want to see how to use the JacobianCalculator
class:
python symbolic_calculation.py
If you want to see how to use the SymbolicTransformation
class:
python -m unittest discover
If you want to run all unit tests: