Control Techniques for Robot Manipulators

Sampling based Motion Planners

Motion Planning in Robotics

Visual SLAM - An Introduction

Simulataneous Localization and Mapping - An Introduction


Robots have come a long way from being used via teleoperation or pre-programmed motion sequences. Increasing demand for autonomy in operation and intelligent behavior makes it incumbent upon researchers and developers to enhance perception capabilities of the robot. Robots today need to accomodate environment uncertainties, unpredictable hardware and umpteen inaccuracies in modeling, sensing and action and also the errring human inputs.

Sensing capabilities are thus needed to autonomous state estimation, better feedback of environment while doing tasks and real-time operations. Autonomous operation need the robots to understand the environment, derive a computational representation of the same and then implement required control/behavior on the robot to perform a task. Autonomous sorting task for manipulators that are supposed to segregate objects based on color is a very standard industry task involving color sensing, real-time grasping and motion planning.

A PR2 robot using stereovision and color recognition for object depth
estimation and object selection respectively


Radical advancements in electronics and computational technology as well as MEMS manufacturing has thrown a plethora of high-fidelity, accuracy and performance sensors in the industry. The most common sensors used in robotics today include cameras, lidars and radars, IMUs and force/torque sensors among others.

Of all exteroceptive sensors used to understand the robot environment, cameras have been in use since the longest. Advanced research in computer vision and image processing have opened unprecedented opportunities in robotics. Coupled with deep learning, computer vision is used for all kinds of autonomous monitoring, autonomous driving technologies and even state estimation.

The scope of this article is to explore the concepts and applications of computer vision to manipulator arms and leverage the sensing for autonomous tasks. In involves robot state estimation, real-time motion planning, object detection and recognition.

A simple computer-vision based robotic-manipulation task for the scope of this article shall be object detection and recognition, pose estimation of the same in global and local reference frames and pick-and-place operation thereafter.


Industrial manipulators have largely been revolute joints powered by electric rotary actuators, aka servos. These servos comprise of a motor, a transmission unit and a feedback element. Position and torque values are the feedback measurements used when controlling the servo in position or torque mode respectively. Essentially, closed-loop control is the basic template for any control-system to abide by desired physical values.

The performance of position-controlled systems depends on the resolution, accuracy and speed of the position information provided by the encoder while feedback for torque-controlled systems depends on the motor current feedback.


Proportional-integral-derivate control is the most traditional control technique that has been effective towards efficient servo control. PID control basically modifies the control input signal depending upon how strongly does it drive the controlled output parameter (position/torque/velocity) of the actuator to desired values. The PID controller is ideally meant for set-point tracking but fairly useful during continuous motion in robots as well. For servos used in manipulators, the setpoint(controlled parameter) could be position or velocity or torque but is generally a position-controlled loop.

A continuous-time PID control loop

The P(proportional) component is responsible for maginifying the error(difference between desired and actual values) in tracking and can cause oscillations about the desired value in case of error changing directions.

The I(integral) component is responsible to accumulate the error over time and modify the input signal to overcome the same. While it is useful to improve steady-state performance, it can be a source of induced oscillations in real-time dynamic systems like servos.

The D(derivative) component is responsible to estimate the rate of change of error and manipulate the volatility in input signal that is needed to reduce the error. The D term is essentially a damping component and subdues the impulsive nature of the P component. It improves stability and reduces settling time as well as aggressive nature of the controller.

PID Controller based Servo Simulator

I created a PID-control based servo simulator some time back!


Cascaded controllers are multi-level PID controllers that control multiple parameters related directly/indirectly to the reference control parameters. For example, position-control cascaded loop generally have an internal velocity loop.

Internal velocity loop allows controls the impulsive behavior of the change in position

Given the advantages of the basic RRT algorithm, several enhancements like Bidirectional RRT, RRT*, RRT-Connect and RRT*-Smart among others have been used to optimize the solutions and get better performance.

Recently, lots of efforts have been put into using RRT with better hardware (like GPUs), using other search algorithms in conjunction and hand-crafted optimizations for certain operational constraints/desires have fetched roboticists enhanced performance and usage.


In theory, gain scheduling for non-linear systems is manipulation of the control hyperparameters depending upon the variations in several observable parameters. Observable parameters of a system are those dynamic values that suggest change in operational regions of the non-linear system and generally define the linearizable zones of the same.

Often linearization of non-linear systems derives parameters that do not suffice for linearity over the complete operational range of the system. Thus, the control parameters do not have acceptable performance outside those regions.

Specifically in terms of PID control, observable parameters could be the velocity of rotation or temperature. This is because the plant model changes with these changes and to respond accordingly, the PID tuning parameters are also required to be modified.

Intuitively, it can be understood that a rise in temperature reduces the viscous friction and other resistive forces in the motor and thereby reducing the torque needed for a comparable motion at lower temperature. Thus, the P component of the PID control could be reduced to avoid oscillations.

Similarly, increasing velocity increases the nature of impulsive response and reducing the control values could better the dynamic performance of the actuator.

Gain Scheduling based on different observable parameters


Feed forward control is a term generally used for systems where the control signal is transmitted from the plant, with known response to an unmodelled load component in the system that eventually manipulates the desired. With reference to a motor/actuator, feed-forward control is when the motor is expected to respond to the input in a predictable way but because a load is connected to the motor, it can cause unexpected behavioral changes.

A DC motor system model

Classical motor control theory defines a transfer function that relates the input values to the output. The transfer function for a DC motor is given as the relationship between the input voltage and the output rotational speed. Integral of the rotational speed gives the position of the rotor shaft. This is a very rudimentary example of a DC motor transfer function and exploring the different DC motors and their different transfer functons is beyond the scope of the article.

Feedforward control determines this value of control voltage signal to obtain desired position/velocity of the actuator shaft.

There are several other advanced algorithms for robot control, some also applicable for actuator level control like the model predictive control and the sliding mode controller which is beyond the scope of this article and is discussed as a separate article here.


A robot manipulator is a multi-input multi-output(MIMO) system. It is a complex system where kinematics and dynamics of the system are all related along the complete chain. The interactions between the individual actuators and the robot with the environment may/may not result in plenty of unprecedented behavior.

Thus, for the robot to be a high-fidelity and high-performance system, the complete physical system is modeled and so is the interaction with the environment. Often, control algorithms are designed to be adaptive to the uncertainties in the model and be functional over an aniticipated range of variations.

Euler-Lagrangian approach derives the dynamic model of the robot that relates the actuator position, velocity and acceleration to the various torques at all joints of the kinematic chain. Actuator dynamic parameters induce several centrifugal and centripetal forces, mass loads propogation and reactive forces on the different joints and computed torque control accounts for all of these using the mass matrix, coriolis matrix and the gravity matrix.

This equation lays the foundation for all model-based control techniques for robot manipulators and with certain modifications is enhanced to support several performance and operational requirements.

Where M = Mass matrix; C = Coriolis effect matrix; G = Gravity matrix

The broad categories of robot control are feedback control + feedforward compensation, robust control, adaptive control and intelligent/learning based control.


The robot equation above relates the robot joints' position, velocity and acceleration to the torque required via the dynamics of the system. Computed torque control is also called inverse dynamic control where the desired joint variables are used to compute the joint torques.


Copyright @Akshay Kumar | Last Updated on 05/25/2019