Lynxmotion arm is a 5R serial robot manipulator with 2 spherical and 3 revolute joints. This work presents the forward and inverse kinematics of the arm in implementing a task of drawing a letter "W". This was experimented in Matlab using the Robotics Toolbox.
Robotics Toolbox provides tools and algorithms for designing, simulating, and testing manipulators, mobile robots, and humanoid robots.
Forward kinematics deals with computing the end-effector position with the provided joint angles. This problem can be solved in two ways
- Homogeneous transformations between successive frames.
- DH Notation approach.
DH notation is the fastest way of computing the end-effector position.
This approach attaches a coordinate frame at each joint and specifies four parameters known as DH parameters for each link. Using DH parameters, DH table is created to obtain the transformation matrix between coordinate frames.
- You must have at least one more frame than there are joints - one frame must be on the end effector
- All axes must be drawn either up, down, right, left or in the first or third quadrant.
- The Z-axis must be the axis of revolution or the direction of motion
- The X-axis must be perpendicular to the Z-axis of the frame before it.
- The Y-axis must be drawn so the whole frame follows the right-hand rule.
Frame(i) | θ | 𝜶 | r | d |
---|---|---|---|---|
1 | θ1 | 90 | 0 | L1 |
2 | θ2 | 0 | L2 | 0 |
3 | θ3 | 0 | L3 | 0 |
4 | θ4 + 90 | -90 | L4 | 0 |
5 | θ5 | 0 | 0 | L5 |
A really important consideration with any robot is the set of all possible points that it can reach and we refer to this volume as workspace of the robot. It also shows the volume around the body where it cannot reach either. And this is due to mechanical limits on the range of motion of particular joints.Here we plot the workspace of the Lynx motion robot with all possible joint angles within their corresponding joint limits. Script for plotting workspace can be found in WorkSpace.m file.
Inverse Kinematics (IK) is defined as the problem of determining a set of appropriate joint configurations for which the end effector move to desired positions as smoothly, rapidly, and as accurately as possible.
In comparison to forward kinematics, computing inverse kinematics is computationally intensive. There exist many methods for solving this problem. a) Jacobian Inverse Methods b) Algebraic approach c) Geometrical approach d) Decoupling technique e) Inverse transformation technique
We use RObotics Toolbox to solve the inverse kinematics problem.
Motion planning includes four steps.
- Task planning (for eg. movement from positions A to B)
- Path Planning (generating a set of points that will take me close to B from A)
- Trajectory planning (build a trajectory with the set of points while avoiding collisions)
- Controller actuation to complete the action
For example, a welding robot that welds the joints. Here, besides the initial and final positions, the path of the end effector has the significance to make the correct welding.
This task is achieved using the Robotics ToolBox developed by Petercorke.
Algorithm for planning the trajectory:
- Identify spatial coordinates of the shape/trajectory. Here it is ‘W’.
- Calculate the transformation matrices of all the points with respect to base frame.
- Now compute the inverse kinematics and find out the joint angles.
- Use ‘mstraj’ or ‘jtraj’ get the way points and plot them together to form the trajectory.
Script executing this algorithm can be found under PathPlanning.m file in this repository.
@book{Corke17a, Author = {Peter I. Corke}, Note = {ISBN 978-3-319-54413-7}, Edition = {Second}, Publisher = {Springer}, Title = {Robotics, Vision & Control: Fundamental Algorithms in {MATLAB}}, Year = {2017}}
J. Denavit and R. Hartenberg, “A Kinematic Notation for Lower‐Pair Mechanisms Based on Matrices” of Applied Mechanics, pp. 215‐221, 1955
Anon. (n.d.). Robotics Toolbox. [Online]. Available at: http://petercorke.com/wordpress/toolboxes/robotics-toolbox [Accessed: 7 December 2017].
https://www.youtube.com/user/asodemann3/playlists
Happy to support through mail: kavvuripavankumar@gmail.com .............