Kinematics is the study of motion without considering the cause of the motion, such as forces and torques. Inverse kinematics is a method that helps define the motion of a robot to reach a desired location. For example, to perform a surgical task, a robotic arm used in a medical surgery needs precise motion from an initial location to a desired location.
Robot kinematics involves deriving equations to describe an analytical relationship between the robot’s joint parameters and the tip or end-effector. There are two ways to derive the equations of motion:
- Forward kinematics. Given the joint angle values, forward kinematics equations calculate the robot’s end-effector location in the coordinate space.
- Inverse kinematics. Given the robot’s end-effector location, inverse kinematics equations calculate the joint angles required to move the end-effector to that location.
Illustration showing a two-link robot arm with a desired end effector location and the angles θ1 and θ2.
Once the robot’s joint angles are calculated using the inverse kinematics equations, a motion profile can be generated using the Jacobian matrix to move the end-effector from the initial to the final location. The Jacobian matrix helps to define a relationship between the robot’s joint parameters and the end-effector velocities.
Using MATLAB® and Symbolic Math Toolbox™, you can:
- Define the robot’s end-effector location and joint parameters symbolically as sine and cosine functions
- Solve inverse kinematics equations for the joint angles and generate motion profiles
- Compute the system Jacobian as a symbolic expression to obtain the relationship between the joints and robot’s velocities
- Convert the derived expressions into MATLAB function blocks and create a Simulink® or Simscape™ model to simulate the robot
- Generate equivalent C code to incorporate with other applications
For more information, see MATLAB and Symbolic Math Toolbox.