Kinematics in Robotics

Kinematics in Robotics

by Bharath Kumar P. Last updated on 30/Sep/2021

Posted on 30/Sep/2021

Kinematics pertains to the motion of bodies in a robotic mechanism without regard to the forces/torques that cause the motion. Since robotic mechanisms are by their very essence designed for motion, kinematics is the most fundamental aspect of robot design, analysis, control, and simulation. The robotics community has focused on efficiently applying different representations of position and orientation and their derivatives with respect to time to solve foundational kinematics problems.

Forward Kinematics:

Forward kinematics is the process of calculating the frames of a robot's links, given a configuration and the robot's kinematic structure as input. The forward kinematics of a robot can be mathematically derived in closed form, which is useful for further analysis during mechanism design, or it can be computed in a software library in microseconds for tasks like motion prediction, collision detection, or rendering.

No alt text provided for this image

Image Credits: springer

No alt text provided for this image

Image Credits: roboticscasual

Inverse Kinematics:

As opposed to forward kinematics, which computes the workspace coordinates of the robot given a configuration as input, inverse kinematics (IK) is essentially the reverse operation: computing configuration(s) to reach the desired workspace coordinate. This operation is essential to many robotics tasks, like moving a tool along a specified path, manipulating objects, and observing scenes from the desired vantage point.

No alt text provided for this image

Image Credits: motion cs Illinois

Robot Arm Kinematics:

A robotic arm is a type of mechanical arm, usually programmable, with similar functions to a human arm; the arm may be the sum total of the mechanism or may be part of a more complex robot. The links of such a manipulator are connected by joints allowing either rotational motion or translational (linear) displacement. The links of the manipulator can be considered to form a kinematic chain. The terminus of the kinematic chain of the manipulator is called the end effector and it is analogous to the human hand.

No alt text provided for this image

Image Credits: robocademy

Link:

A link is defined as a single part which can be a resistant body or a combination of resistant bodies having inflexible connections and having a relative motion with respect to other parts of the machine.

There are different divisions of links in robots.

  1. Rigid link: In this type of link, there will not be any deformation while transmitting the motion. For example, the industrial robotic arm is having rigid links, there will not be any deformation while moving the arm.
  2. Flexible link: In this type of link, there will be a partial deformation while transmitting the motion. One of the examples of flexible links is belt drives.
  3. Fluid link: In this type of link, motion is transmitted with the help of fluid pressure. Hydraulic actuators, brakes are an example of a fluid link.

Joint :

A joint is a connection between two or more links, which allows some motion, or potential motion, between the connected links. Joints are also called Kinematic pairs.

No alt text provided for this image

Image Credits: linearmotiontips

Mobile Robot Kinematics:

Wheeled Mobile Robots (WMR) constitute a class of mechanical systems characterized by kinematics constraints that are not integrable and cannot, therefore, be eliminated from the model equations. Many mobile robots use a drive mechanism known as differential drive. It consists of 2 drive wheels mounted on a common axis, and each wheel can independently be driven either forward or backward. By varying the velocities of the two wheels, we can vary the trajectories that the robot takes.

No alt text provided for this image

Image Credits:?ieeexplore

While we can vary the velocity of each wheel, for the robot to perform the rolling motion, the robot must rotate about a point that lies along their common left and right wheel axis. The point that the robot rotates about is known as the ICC - Instantaneous Center of Curvature.

No alt text provided for this image

Image Credits: Columbia

By varying the velocities of the two wheels, we can vary the trajectories that the robot takes. Because the rate of rotation ω about the ICC must be the same for both wheels, we can write the following equations:

No alt text provided for this image

where l is the distance between the centers of the two wheels, Vr, Vl is the right and left wheel velocities along the ground, and R is the signed distance from the ICC to the midpoint between the wheels. At any instance in time we can solve for R and ω:

No alt text provided for this image

Forward Kinematics:

Assume the robot is at some position (x, y), headed in a direction making an angle θ with the X-axis. We assume the robot is centered at a point midway along the wheel axle. By manipulating the control parameters Vl, Vr, we can get the robot to move to different positions and orientations.

Knowing velocities Vl, Vr, we can find the ICC location

No alt text provided for this image

and at time t + δt the robot’s pose will be:

No alt text provided for this image

Image Credits: Columbia

Inverse Kinematics:

In general, we can describe the position of a robot capable of moving in a particular direction Θt at a given velocity V (t) as:

No alt text provided for this image

A differential drive robot imposes what is called non-holonomic constraints on establishing its position. For example, the robot cannot move laterally along its axle. A similar non-holonomic constraint is a car that can only turn its front wheels. It cannot move directly sidewise, as parallel parking a car requires a more complicated set of steering maneuvers. So we cannot simply specify an arbitrary robot pose (x, y, θ) and find the velocities that will get us there.

For the special cases of VL = VR = v (robot moving in a straight line) the motion equations become:

No alt text provided for this image

Image Credits: Columbia

The detailed approach for robotics is taught in these courses by the Decibels lab.

The detailed approach for building robots using python and ROS is taught in this course by the Decibels lab.

References:

要查看或添加评论,请登录

Decibels Lab的更多文章