Robots can take many different forms, from industrial material handling robots to autonomous cars. But regardless of the form they take, they are all enabled to convert bytes of data and electrical signals to affect their environment.
Often the first step in effectively deploying a new robot involves calculating forward kinematics. But before we jump right in and go over these five interesting tips to calculating the forward kinematics of a robot, let’s first start by clearly defining the word “kinematics.”
Kinematics, a branch of classical mechanics, is the study of the motion of points, rigid bodies, and groups of objects without considering the driving force that caused the motion or the mass of each object. Kinematic calculations are at the core of robotics engineering.
Sometimes this process can be cumbersome, but it’s vital to robotic arm manipulations. Each joint has to be measured as an angle to achieve seamless rotation on a specific axis. When this is achieved, the end effector can be enabled to reach different points in space.
It’s important to note at this juncture that for each set of angles, there will only be one result. This needs to be calculated without any ambiguity. Furthermore, it’s essential to understand the inputs provided to better interpret how the robotic arm will move.
1. Document Everything with Paper and Pencil
When beginning to work with a robot, it can be tempting to start working on it directly from a computer. However, it can be highly beneficial to document everything with paper and pencil instead.
Even if the robot looks like your standard 6R manipulator, it’s much easier and faster to physically draw the forward kinematic diagram with a pencil. Engaging in this simple activity will help eliminate any potential false assumptions and help you focus on the actual physical configuration of the robot.
This approach can also be effective when it comes to avoiding potential nightmares down the road (when you enter the coding phase of the project). What’s more, regardless of your drawing style, make sure to clearly indicate how each joint will move and in what direction.
2. Draw Out the Axes Onto Each Moveable Joint
When you’re working on your diagram, it will be important to draw out the axes for each movable joint. In fact, you can even assign a different axis to each, but it will be important to ensure that it’s correct.
If you get these wrong, it will be difficult to get your robot working properly. As a rule, it’s best if the x-axis lies on the shortest orthogonal line between the current z-axis and the previous z-axis. The z-axis itself should lie on the axis of rotation for a prismatic joint, the axis of extension, or a revolute joint.
3. Consider How the End Effector Will Operate
When calculating forward kinematics of a robot, you will have to calculate the end effector pose from the position of each joint. Often, these won’t come at a single distance from the final joint, so it’s vital to consider how the end effector will operate.
For example, modern robots with multiple finger adaptive grips are far more complicated and can come with different gripping modes. As a result, there will be a slight difference in how each mode will correspond to the desired end effector pose.
This makes it a key consideration when you’re formulating your forward kinematic model.
4. Carefully Calculate Your Parameters
When entering a robot model into a simulator, you will need to choose the parameters to conduct testing. The most common method for calculating forward kinematics is the Denavit-Hartenberg parameter, or DH parameter.
However, it’s far from perfect and often fails to elegantly handle parallel z-axes. Another option is to apply Screw Theory representations or choose another from a variety of geometric modeling solutions available today.
But regardless of the method you choose to employ, you will first have to ensure that kinematic libraries accept the parameters, so the DH parameter is a reasonable approach to start with.
As the DH parameter is the most common method around, you will findseveral guides that can help you effectively break down each robotic joint into the various parameters. Each of these will refer to the previous joint and will be calculated in reference to the common normal (if the current z-axis and the previous z-axis intersect, the common normal length will be zero).
At this juncture, it’s important to write down each parameter that is related to each joint. This means assigning a value to each joint, which will be a variable that represents the actuated joint.
5. Leverage Kinematic Software Libraries
Many kinematic software libraries are available, and most of them do a lot more than performing basic calculations. Some of the great features on offer include:
Inverse kinematic solvers
These libraries can help quickly transform the parameters into matrices that can then be manipulated to calculate the relationship between joint positions and the end effector pose. If you’re comfortable with coding, you can also easily build your own forward kinematic library.
Great development libraries to consider include:
Matlab Robotics Toolbox (by Peter Corke)
Calculating the forward kinematics of a robot is an important step in setting up a new robotic arm, but achieving actual control will also require some inverse kinematics. It’s best to start with forward kinematics, then dive into inverse kinematics when you feel comfortable.