As more medical companies seek robots for increasingly complex tasks such as robotic-assisted surgeries, systems developers tasked with building these robots see an even greater demand for sophisticated robotic control and tasking software. Robot motion control enables articulated arms to move through the action of rotating and sliding joints, and mobile robots to move through locomotion and steering. This controlled motion enables these complex tasks with whatever end effector is appropriate on the robot. Task can be manipulative, as when using a gripper, or sensory, as when positioning and capturing data with a camera.

Movement and tasks are defining — and often difficult to manage — components for using a robot. As Figure 1 illustrates, the end effectors do the work while the joints are controlled, but this creates a highly complex relationship between the two. An equation describing the placement of a probe held by a robotic arm can take pages and pages of trigonometric functions, but still might be the easy direction. Calculating the control solution of how to place the joints to achieve a desired tool position may only be solvable iteratively.

Fig. 1 - The end effectors do the work while the joints are controlled, which creates a highly complex relationship between the two.

Some robots have more degrees of freedom than the minimum required to do a task. These kinematically redundant robots are powerful but can be hard to control. If you consider a surgeon, extra joints enable an infinite number of ways to cut into a chest and then breastbone, and exploiting the redundancy lets us smoothly reach around different organs to reduce joint stress and avoid joint limits. For humans, that movement takes a lot of brainpower. For robot, the redundancy enables the same smooth, efficient control, but it takes a ton of computer processing power.

A robot with multiple ways to carry out a task should choose one or more qualities for the best motion: maximizing distance from a collision, improving strength, minimizing time, avoiding workspace limits, reducing power consumption, or improving accuracy. This motion control should also incorporate constraints, considering robot joints have speed and acceleration limits, and 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.

Real-Time Processing Enables Complex Control Techniques

Mathematical techniques such as the so-called manipulator Jacobian matrix have been developed to address the challenge. The Jacobian matrix describes tool velocity as a function of joint velocity in a simplified way. It sidesteps the complicated direct calculation of positions. It has a simplified form, so it is easier to invert to solve the control problem. However, it works with velocities rather than positions, requiring algorithmic feedback techniques.

Although the Jacobian can almost always be defined, calculated, and inverted for control, there are still some issues. Jacobian-based control is local in nature, and some problems have to be solved 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 — and usually small — movements. Robot tasks are often performed using a combination of global and local control, and how the optimizations are selected and implemented depends on qualities of the robot, its task, and its environment.

Managing higher derivatives of joint position is also important. 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 that can cause vibration, such as jerk, the derivative of acceleration. The drawback of this approach, however, is that knowledge is incomplete before motion begins. Once the robot starts on a precalculated path, it cannot respond to environmental and user-input changes. Sometimes a trade-off must be made, using slower and more cautious motion to control higher derivatives in real time.

Playing into this trade-off is the speed of calculation of the control algorithms. When applied in real time, speed is critical. Exploring multiple alternatives — time step by time step — and choosing the best is a powerful algorithmic approach. 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 need to be robust and 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 Software Brings Robotics to Market Quickly, Cost-Effectively

Addressing these needs are multiple free open-source and commercial software packages that eliminate the years of development time required to create motion control software in house. One commercial example, Energid's Actin, is being used in part to tackle the complex motion-control problem associated with creating surgical robots for a surgeon command center created by SS Innovations (SSI).

This center has two adaptable master hand controllers with an extended range of motion to accommodate any surgeon. Operating the surgical robot requires coordination of many degrees of freedom, application of unique motion constraints, and low-latency response to the surgeon's hand motions. The software simplifies these technical challenges, which will help get these advanced and complex robotics systems to market more quickly and at a lower cost.

This article was submitted by James English of Energid. For more information, visit here.