smp_about_words

Computer vision systems for mobile robot

Machine Vision in Mobile Robots Guidance

DSC_0837

The Rovers S5 mobile robot can be automatically guided using computer vision systems. Peculiarities of robot’s application require moving along the route with high accuracy. The patrol area may sometimes be unfavorable for receiving signals from satellite navigation systems. Therefore, it is impossible to use differential SNS, which is widely used in parallel driving systems in precision agriculture. LIDARs installed in unmanned vehicles are very expensive. Multibeam laser scanners require extensive electric power, as do high-capacity calculating machines processing data received from them.

At the same time, machine vision systems are widely used in industrial robotics. The engineering community has gained extensive experience in creating reliable machine vision systems for operation under conditions of artificial illumination. Using existing achievements, SMP Robotics has developed a number of solutions to be applied outdoors under conditions of unstable natural illumination.

Due to the application of machine vision systems, the price of a motion-control system has become accessible, even while using six built-in computers. As the computing power of microprocessors grows, the quantity of built-in calculating machines will be reduced. The cost of control systems will be lower, while the maximum speed of robots’ movements will be substantially higher.

Recognizing Obstacles and Driving Around Them

DSC_6362

A pair of cameras building up a stereo system is used to recognize obstacles and drive around them. The algorithm of machine vision system compares identical elements of pictures obtained from both cameras and then produces a 3D image of the space located in front of the cameras. This allows creating a depth map and calculating distance to obstacles that came into camera’s view. Such a stereo base defines the distance from the stereocamera pair, at which point it is possible to get reliable and valid data. The Rover S5 Robot’s distance comprises 4.4–5.5 yards. Significantly improving the accuracy and depth of produced disparity map is possible by increasing the stereo base and the resolution of video cameras included into the machine vision system.

Moving forward, the robot builds up a 3D map of its surrounding space. In autopilot operation, the computer makes a route and plans movement of the robot according to this map.

Driving Path Adjustment

DSC_6777

Generally, the Rover S5 Robot is designed for moving along paved territories, asphalt paths, or other hard-surface roads. Hence, it is necessary to avoid robot’s exiting the hard surface of the road, for example, driving out into the lawn through which the road travels. In some cases, the width of the path is only 4–8 inches larger than robot’s wheel track, which is why programming requirements for the accuracy of the motion-control system are quite high.

Moving along a narrow path with surface coating becomes possible due to the robot’s machine vision system. Data is received from the camera, which is faced forward and downward. Pictures taken from this camera shows the road in front of the robot, its borders, and the surface outside the asphalt coating. Using the original algorithm to compare underlying surface textures, the road camera’s computer adjusts robot’s moving direction in case the surface of preferred route is visually different in color or texture from the rest of the surface.

Rover S5’s Autonomous Image Navigation

DSC_6789

To successfully drive along the patrolling route in automatic mode, coping with the task of navigation becomes necessary to locate the current position of a robot. In spite of the fact that the robot is equipped with a satellite navigation system receiver, the accuracy of positioning it provides will not allow driving along the route with an acceptable level of accuracy. Moreover, reliability of data arrival from SNS greatly depends on receiving conditions, such as location of the receiving antenna relative to buildings and trees.

Projected navigation is implemented with the help of the machine vision system that depends on the image obtained from the forward looking video camera. The processing algorithm stores images captured during test driving along the patrolling route in the manual control mode. Later, on driving in automatic mode, the system compares stored images with the ones taken while driving. Having found differences, it adjusts its driving route in order to make the current path as close as possible to the path it had run previously. Implementation of the present solution allows locating current the position with an accuracy level of less than one yard.

Inertial Navigation and BINS in the Robot Control System

Robot embedded computers with Inertial Messurment Unit module

During those moments of the robot’s movement when the navigation system’s image does not contain enough marks and guides, the robot continues moving based on processing data received from built-in BINS (Block of Inertial Navigation System). The block contains relatively cheap micro-mechanical systems (MEMS), gyroscopes, and tilt meters. Drift of micro-mechanical instruments used in this block is filtered. This allows restoring the robot’s movement routine for several dozens of yards accurately enough until valid data arrives from its visual navigation system.

Implementation of Machine Vision Algorithms

DSC_6759

Algorithms for processing video data obtained from the robot’s machine vision system are implemented in onboard computers that are built based on Cortex A9 processors. The Rover S5 Robot model uses five computers that are interconnected with a high-speed local area network. All of them work under control of a Linux operating system. They provide data flow to another computer, ‘Autopilot’, allowing it to automatically guide the robot. ‘Autopilot’ processes data received from sensors and machine vision systems as well as gives commands to operating mechanisms and drives in real-time mode. As another feature of the system’s dependable performance, ‘Autopilot’ does not use an operating system.