What is Collision Detection?
Robot arms are commonly used in medical applications and are becoming more common. These arms are typically composed of links connected by joints, and the motion of the joints to move the tooling at the end of the arm is calculated by inverse Kinematics algorithms. These algorithms are often based on a model of the physical system, which can provide the ability to detect and prevent the collision of robot links with themselves or the environment.
Why is Collision Detection so Important?
When a person is moving their arm to perform a task, they are actively avoiding other objects, such as picking up a cup of coffee from a crowded table to avoid someone knocking it over and making a mess. The person knows the shape of the cup and of the other obstacles, they know how they are grasping the cup, and where the obstacles are. They also know where their elbow is so they can avoid bumping into anything. This is a low stake example, but imagine a situation where accidental contact could be hazardous, such as a person disarming a bomb, working in a dangerous industrial area, or performing surgery. When developing the controls for a robotic arm system, this response isn’t as automatic as when a human is performing this task. Algorithms are required that must both solve for the motion of the robots tooling correctly, as well as prevent any accidental collisions that would be hazardous or damaging.
At its core, collision detection is incredibly simple: given the state of a system, determine which objects are colliding or how close they are to one another. This is simple for people to do and is performed intuitively by the human brain. However, it is not so simple for a machine or robot. How they detect and avoid collisions remains a hotly researched and debated problem.
In medical robotics, the need for fast and accurate collision detection is especially acute. Without it, robots run the risk of colliding with their environment or themselves which can result in damaging equipment or worse, injuring both patients and medical staff. Most systems in surgical applications have sub-millimeter accuracy requirements during operation and are often near other anatomical structures. Collision avoidance is essential in medical applications and must become a trusted addition, rather than an additional liability.
Collision Avoidance Takes This One Step Further
Collision avoidance takes this concept a step further, to influence the trajectory of the robot. Collision avoidance is when the person in the previous example safely moves the coffee cup around obstacles. When applied to a robotic arm application, this capability allows robotic manipulators to either stop before an anticipated collision or avoid the collision altogether.
To avoid collisions with the environment, the control system makes use of a virtual model of the robot and environment geometry, which includes a set of shapes called bounding volumes. These bounding volumes are primitive shapes wrapped around each robot link and allow for fast distance calculations in simulation. These distances are fed into the control system and affect the motion of the arm. Overall, the robot detects collision when the shapes collide, and stops moving.
How Does Collision Avoidance Benefit Medical Robots?
Collision avoidance can benefit medical robots in many ways, by increasing safety, usability, and performance. When the system has defined keep out zones for the arms, or defined remote centers of motion, it is crucial for safety that the keep out zones are avoided and the other constraints are obeyed. These keep out zones may include an area of the patient that should be avoided, or a virtual zone where the surgeons must have access. Collision avoidance increases usability by expanding the reachable area of the arms. When a system has tools inserted into a patient for example, in a tight working area, it is crucial that the operator not need to worry about the arms on the outside of the patient, they should automatically avoid each other so the operator doesn’t get stuck at a collision, preventing the tools from reaching where they need to go.
How Actin Helps With Collision Detection and Avoidance
The collision detection and optimized collision avoidance that Actin provides is unparalleled. ActinSDK can be used for full control of the robot and environment which is important when detecting and preventing a collision. Having Actin in a robotic system allows for reactive collision avoidance in real-time. For medical applications, Actin can help robots cooperate to avoid and prevent collision with themselves, each other, specified keep out zones, and anything else in the environment. Whether building specialized robots or using off-the-shelf robots for medical procedures, Actin can enable collision-free applications.
If you would like to learn more about collision detection and avoidance for medical robots, you can reach the author of this blog, Ryan Penning, here.