Hello, I would be very grateful if someone could do at least some grammar corrections of my article. I'm not posting the whole text as it's against the forum rules and I also don't want to bother you with the whole stuff.
Thank you very much in advance!

Abstract

Control systems of mobile robots controlled remotely by a human operator using only limited visual feedback from camera subsystem can aid the operator in various ways. This paper deals with automatic collision detection for manipulator arm mounted on a mobile robot Ė the goal of the system is to prevent any possible collisions between the arm and the robot or the arm itself. Implementation of the system uses the separating axis algorithm on pairs of oriented bounding boxes enveloping mechanical components of the robot. Practical testing of the whole control system was done on an existing heavy-duty mobile robot called Hardy.


Introduction

Service mobile robots controlled remotely by a human operator are already widely used especially in very important applications related to safety of people during terrorist attacks, fires and chemical accidents, natural disasters etc. The simplest robots are designed purely for reconnaissance and consist only of a mobile subsystem (typically wheeled or tracked) and visual subsystem (one or more cameras). For more complicated tasks, mobile service robots can be equipped with a manipulation arm to extend their applicability also for example to defuse explosives, transfer barrels or containers with dangerous chemical substances, gas bottles, radioactive materials. The more degrees of freedom such an arm has, the more useful it may be, but at the cost of more complex handling required from the operator.

A manipulation arm with strong motors can easily damage itself or some delicate components of the mobile robot (cameras, sensors, communication antennas Ö) situated in the operating area of the arm. When the robot is out of direct sight from operator, the operator has only very limited feedback from the robot in the form of video from robot camera(s). Actual angles of all arm joints usually are not clear from camera view and thus the operator cannot be fully responsible for prevention of collisions and the control system must assist him.

The mobile robot Hardy (Fig. 1) serving as an example of practical application of anti-collision system in vision assisted remote control of a service mobile robot is a heavy-duty tracked mobile robot with 5-degrees-of-freedom manipulation arm and 2 additional significant degrees of freedom in the gripper. Because of very complicated kinematic structure of the arm and the strength of the arm (max. load is 300 kg), automatic anti-collision system was crucial for this robot.


Methods of Collision Detection

For simple arms with about 2 degrees of freedom, it can be sufficient to just properly limit range of motion of individual joints in software control system or even by hardware end limit switches. With increasing complexity of the manipulator, this solution quickly becomes unusable, because the permitted range of movement of one joint will be a function of actual angles of other joints, and the function may be impossible or very hard to explicitly define.

The other extreme is to provide the control system with full 3D model of the whole robot and perform collision checks between individual parts. This solution would be very accurate, but even with a simplified 3D model stripped of insignificant details (see Fig. 2) the computations would require inadequate amount of CPU processing power on the computer running the control system. This is a problem especially because control systems run real-time, usually on small embedded PCs or light notebooks, instead of high-end desktop workstations. Such a system is also hard to implement and, after all, the absolute accuracy is not really necessary in common applications.

Another possible concept is to use radically simplified representations of individual moving parts, built from basic geometric primitives like cylinders, spheres, blocks or lines. These primitives offer much easier ways of mathematical intersection check at the cost of lower collision accuracy, because the real shape of mechanical parts cannot be fully replaced by a reasonable number of basic primitives.