Motion control is the software component of a robotic system that dictates how a robot should move to do tasks that have already been defined. Robot arms move through the action of rotating and sliding joints, while mobile robots move through locomotion and steering.
Robot tasks, on the other hand, are done with tools (end effectors) on the robot. Tasks may be manipulative, as when using a gripper, or they may be sensory, as when positioning a camera. These two concepts – movement and tasks – are key to addressing advanced applications for robotics.
Tools do the work, but joints are controlled
The heart of the motion control problem, as illustrated in Figure 1, is that tools do the work, but it is the joints that are controlled. And the relationship between the two is complex. An equation describing the placement of a probe held by a robot arm can take pages and pages of trigonometric functions. And this is the easy direction. Going the other way – calculating the control solution of how to place the joints to get a desired tool position – may not even have an equation. It may only be solvable iteratively.
Some robots, like the one shown in Figure 2, have more actuators than the minimum needed for a task (such as grasping a screwdriver). This redundancy empowers a robot but complicates motion control. Think of the human body. With our extra joints, there are many ways to take that old pizza out of the refrigerator – an infinite number in fact – and exploiting the redundancy lets us reach around milk cartons, balance, and move smoothly to reduce joint stress and avoid joint limits. But this takes lots of brainpower. Robots with redundancy benefit from having the potential to move with the same smooth, efficient control, but it takes lots of processing power.
Whenever there is more than one way to do something with a robot, the chosen way should have special qualities – maximizing distance from a collision, for example. A path can also improve strength, minimize time, avoid workspace limits, reduce power consumption, and improve accuracy. In practice, the best motion will usually be a combination of these – and other – pure qualities.
Motion control must also incorporate constraints. Robot joints have speed and acceleration limits. Actuators have maximum torque or force. Physical parts of the robot cannot overlap in space, and joint limits cannot be exceeded. These are constraints imposed by the physical reality of the robot and the world. The desired tasks, constraints, and optimizations combine to make robot motion control a challenge.
Complexity of control techniques requires real-time processing
A variety of mathematical techniques, though, have been developed to address the challenge. Sometimes special-purpose equations are used, but a common technique is to use the so-called manipulator Jacobian. The Jacobian is a mathematical object that describes tool velocity as a function of joint velocity in a simplified way. It sidesteps the complicated direct calculation of positions. Because it has a simplified form, it is easier to invert to solve the control problem, the only drawback being that it works with velocities rather than positions. Positioning using the Jacobian requires algorithmic feedback techniques.
Though the Jacobian can almost always be defined, calculated, and inverted for control, challenges remain. The first is how to select and integrate desired optimizations, both locally and globally. Global control relates to large movements with flexibility in the path so long as the endpoints are correct, while local control relates to precisely defined, usually small, movements. Many robot tasks are performed using a combination of global and local control, and how the optimizations are selected and implemented is an open area.
Managing higher derivatives is also an area for continued improvement, especially for online control. Many robots today generate full paths offline before motion starts. Offline path generation allows the use of the future states of the robot in calculations about earlier states. This helps in limiting the higher derivatives of motion (such as jerk, the derivative of acceleration) that can cause vibration. The drawback, though, is that knowledge is incomplete before motion begins, and once the robot starts on a pre-calculated path, it cannot respond to environmental and user-input changes. More work is needed to optimally control higher derivatives in real time.
Playing into this tradeoff is the speed of calculation of the control algorithms. When applied in real time, speed is critical. A powerful algorithmic approach is to explore multiple alternatives – time step by time step – and choose the best. Faster implementations allow more alternatives and improved control.
There is a chasm between algorithm existence on paper or in demonstration and its practical use because making an algorithm usable is itself difficult. Implementations must be robust. Even rare problems need to be addressed. The implementation must accommodate inevitable deviations in the robot type, the environment, and tasks. And it must easily integrate with other software.
Motion control for practical robotic systems
Addressing these needs today are multiple free, open-source and commercial software packages. Energid Technologies’ Actin, illustrated in Figure 3, is a commercial example. It controls arms in areas such as manufacturing, medical, and energy applications. A prominent example of the use of Actin is in bin picking, where one part at a time must be removed from a random pile of parts. Bin picking requires motion control that is fast and smooth while avoiding collisions with the bin holding the parts and with other parts in the bin. Advanced motion control enables robotic bin picking to be practical.
About the Author
James English is President and Chief Technical Officer of Energid Technologies. He leads project teams in the development of complex robotic, machine vision, and simulation systems. James’ specialty is automatic remote robotics.
Prior to founding Energid, his background was in software development in the engineering and aerospace industries where he held key R&D positions with Raytheon and MAK Technologies. He has authored many journal and conference papers and multiple patents related to the control and simulation of robotic systems. James holds a Ph.D. in Electrical Engineering from Purdue University.