| Sweeping robots are increasingly favored by many families,but most sweeping robots in China are not capable of autonomous navigation and the technology is outdated.Few robots with navigation ability are using laser radar technique,which cost impressively.In contrast,some foreign advanced sweeping robots are using visual navigation technique,so there is a big gap between China and the foreign products in visual navigation technology.This thesis designs and implements a vision-based autonomous navigation system on a low cost hardware platform.The main works of the thesis are as follows:1.The functional requirement of sweeping robot's autonomous navigation system is analyzed.Four requisite modules of a complete autonomous navigation system are summarized.These modules are:environmental observation and mapping module,localization module,path planning module,motion control module.The overall design of vision-based sweeping robot's navigation system is accomplished.Ceiling visual locating technique and visual distance detection technique which studied by other group members are applicated in this system.The system is implemented in a dual-processor architecture.ARM processor handles complex tasks such as visual computing,high-level modeling and path planning.STM32 processor handles simple tasks such as sensor data capture and process,motion command execution.2.The motion model of the robot is established firstly,and then the theoretical derivation and the design of each sub-module are accomplished.The localization module uses inertial localization combined with visual localization.Visual localization is used to correct the cumulative error of the inertial localization.This solution takes both the advantages of the high independent,good real-time performance of inertial localization and small error of visual localization.The environmental information acquired by visual distance detection sensor and infrared distance detection sensor is used to construct the gird map.Local planning and global planning are adopted to realize complete coverage of the robot's work environment.The motion control problem is simplified by the method of decomposition.Motion control module is divided into two parts:path following in ARM subsystem and motion command execution in STM32 subsystem.3.The software of STM32 subsystem is programed.The implementation of sensor data acquisition and processing,motion command execution,serial communication in STM32 subsystem is described.The processing methods of the abnormal data of hall encoder and infrared distance detection sensor are illustrated.The work flow of motion command execution is introduced in detail and the PID controller is described.4.On the Linux operating system with OpenCV library,in order to make each functional module work asynchronously,a multi-threads software structure of ARM subsystem is designed and implemented.The implementation of ARM terminal serial communication,inertial localization,mapping and high-level motion control are expounded.In addition,an improved connected domain tagging algorithm is designed.Based on this algorithm,the searching task of target area in path planning is realized.Unit tests and system experiments are executed on the sweeping robot prototype.The results show that the system meets the requirements,and the indoor environment can be completely covered. |