SLAM mobile robot related technologies (concept version)

Important note: This article is compiled from online information. It only records the blogger's process of learning relevant knowledge points and has not been deleted.

1. Reference materials

Finally, someone explained clearly the question of how to learn SLAM.

2. Hardware structure of SLAM mobile robot

If the computer program is the soul of the robot, then the hardware itself is the torso of the robot.

0. Overall structure of mobile robot

The hardware construction of a typical ROS mobile robot includes: reduction motor with encoder, motor driver board, IMU module, lidar, ROS host, microphone, camera, speaker, etc. Reduced motors with encoders, motor drive boards, IMU modules, and laser radar should be the standard hardware for SLAM navigation and obstacle avoidance. The ROS host is the computing center of the robot (running the SLAM navigation algorithm), and the microphone, camera, and speaker are used to complete language interaction. and image perception required.
Insert image description here

1. Motor

According to the power supply type of the motor, it can be divided into DC motor and AC motor; according to the commutation method of the motor, it can be divided into brush motor and brushless motor; according to the structure of the motor rotor, it can be divided into inner rotor motor and outer rotor motor.
Insert image description here

In actual use, motors are often used together with reduction gearboxes to improve output torque and load-carrying performance. Reduction gearboxes include ordinary reduction gearboxes and planetary reduction gearboxes. The advantage of planetary reduction gearboxes is that they are smaller in size under the same reduction ratio conditions.

The motor encoder is an important component for measuring motor speed feedback, including Hall encoder, photoelectric encoder, carbon brush encoder, etc.

The ESC generates the phase signal required by the motor, and adjusts the motor speed through PWM and other methods. For some low-power brushed DC motors, the ESC is an H full-bridge circuit. The PWM signal controls the four arms of the H-bridge to control the motor speed and steering. For some high-power brushless DC motors, the structure of the ESC is relatively complex. The ESC needs to realize multi-phase control signal generation, electronic commutation, protection, etc.
Insert image description here

The motor is the power core of a mobile robot, and it is very important to choose a suitable motor for a mobile robot. The selection of the motor should not only consider the parameter performance, such as: speed, torque, load, volume, but also consider the cost, safety, and realizability. If it is a small mobile robot with a load of 10KG, you can choose a DC 12V DC brushed geared motor with encoding. If the mobile robot has a load of 30KG and above, it is necessary to choose a brushless motor with higher power and efficiency. The power and reduction gearbox parameters of the brushless motor can be selected based on the actual load and movement speed of the robot.
Insert image description here

2. Motor drive

The motor drive requires PID control, so the motor drive board is mainly used to implement PID control. At the same time, the motor drive board is also responsible for communicating with the host computer, analyzing the speed instructions sent by the host computer in real time, and feeding back the motor speed information to the host computer. Motor drive boards generally use embedded MCU boards such as STM32 or Android microcontrollers.

Why not just use the host computer (the host computer is usually a computer or a RAM host equipped with an operating system) to control the motor? First of all, motor control PID is a real-time algorithm, that is, strict real-time clock driven logic. General host computer systems cannot meet this high real-time requirement; in addition, due to system decoupling and modular design considerations, it cannot be used alone An inexpensive MCU to implement motor control.

Another important function of the motor driver board is to communicate with the host computer. With the ROS driver program of the host computer, ROS can be used to control the motor and obtain the odometer information fed back by the motor encoder. In other words, the motor drive board + ESC + motor form an integral hardware that can be used as a sensor for the ROS robot. You only need to start the corresponding ROS driver program on the host computer, and you can directly control the motor and obtain odometer information in ROS.
Insert image description here

3. Chassis drive method

The ground drive method is how the wheels are arranged and the speed is combined to allow the robot to walk flexibly. According to whether the speed output of each wheel is constrained, that is, whether one wheel can output speed independently without considering the output speed constraints of other wheels. Constrained ground drive methods include: differential drive, Ackermann drive, and synchronous drive. Non-holonomic constraint ground drive methods include: omnidirectional drive and leg-foot drive.
Insert image description here

Differential drive chassis, is the most common form. The famous turtlebot robot, pioneer robot, and home sweeping robot all use this driving method. Differential drive means that the left and right driving wheels output power. The robot relies on the speed difference between the left and right wheels to turn. This is also the origin of the name differential drive. By controlling the left and right wheels to generate different differential speeds, the robot can move at different linear and angular speeds . Usually, the differential drive chassis is also equipped with a universal driven wheel for support.

Ackermann driven chassis, is the most common form in automobiles, and most automobile chassis are Ackermann driven. The two rear wheels of the Ackermann model provide power output. The two rear wheels distribute speed through a differential to produce differential speeds of different turning radii. The front wheels are controlled by the steering wheel and are responsible for turning. The key to the Ackermann model is the rear wheel differential. In a car, the differential is a special gear combination structure that can automatically distribute the engine's output speed to the two wheels according to the real-time turning radius of the car body. on . On robots, since the drive wheels are usually directly connected to the motor, the differential is replaced by an electronic speed regulator.

Synchronized drive chassis, the most common is a tracked vehicle. The reason why it is called synchronous drive is that the speed of the front and rear wheels on the same side is the same . The synchronously driven chassis has four wheels, so it has a larger load capacity and is more stable. However, compared to the differential drive chassis, the accuracy of the wheel odometer is not that high. Because when the synchronously driven chassis turns on a flat road, the car body will vibrate to varying degrees. Therefore, the synchronous drive chassis is not good at turning, and it is more difficult to turn.

Omni-directional drive chassis, the movement of the chassis is unrestrained. To put it simply, you can walk sideways or straight without turning the direction of the car, just move in any direction. Omnidirectional wheels have greatly improved the moving efficiency of robots, especially in large freight warehouses. AGV automatic logistics handling trolleys move in omnidirectional ways, which can greatly save time. The omnidirectional wheel is a key component. The omnidirectional wheel is also called the Mecanum wheel . The structure is very sophisticated, but the structure is expensive and does not run smoothly on uneven roads.

4. IMU module

In mobile robots, IMU modules are commonly used sensors. IMUs are usually used to integrate with wheel odometry, or directly participate in SLAM mapping. IMU is the abbreviation of inertial measurement unit, which is used to measure the three-axis attitude angle (roll, pitch, yaw), three-axis acceleration (acc_x, acc_y, acc_z), three-axis angular velocity (w_x, w_y, w_z), etc. of the object. There are six-axis IMU, nine-axis IMU, ten-axis IMU, etc.
Insert image description here

5. LiDAR

In mobile robots, lidar can obtain the outline shape of obstacles and the environment around the robot. Using the scanned obstacle information, the robot can use SLAM to build a map and perform obstacle avoidance and autonomous navigation. Mainstream lidar is based on two principles: one is triangulation method, and the other is time-of-flight (TOF) ranging method.
Insert image description here

There are single-line lidar and multi-line lidar, with different application scenarios and huge price differences. Indoor mobile robots generally use single-line lidar, and the price ranges from a few hundred to several thousand. The earliest domestic single-line lidar manufacturers include Shanghai Silan's rplidar radar, and rising stars include Shenzhen Leishen Intelligent's LS series radar, Han's Laser's Sugawa series radar, Shenzhen Wanzhi Technology's EAI radar, etc., and the old foreign brands of radar are Japan's HOKUYO radar and Germany's SICK radar are both very famous.

Outdoor driverless cars are generally equipped with multi-line lidar, usually 16 lines, 32 lines, 64 lines, 128 lines, etc. The more lines the lidar has, the more information it scans, and the more expensive it is. Velodyne is a well-known multi-line lidar manufacturer in the United States. Its VL series of multi-line lidars are also very famous, with prices ranging from tens of thousands to hundreds of thousands. Domestic manufacturers of multi-line lidar include Sagitar and Leishen.

6. Camera

The robot is equipped with a camera, which can be used for video remote monitoring, face recognition and tracking, visual SLAM, etc. There are monocular (mono), binocular (stereo) and depth (RGBD) cameras to choose from.
Insert image description here

The advantages of the monocular camera are simple structure and low cost. The disadvantage is that the true size of an object cannot be determined in a single picture. It may be a large but far away object, or it may be a very close but small object. Parallax is formed by the movement of the camera, and the relative depth of objects can be measured. However, the trajectory and map estimated by monocular SLAM will differ from the real trajectory and map by a scale factor, which is the scale. The real scale cannot be determined by the image alone, so it is called scale uncertainty.

The advantage of the binocular camera is that the greater the baseline distance, the farther the distance it can measure. It can be used indoors and outdoors and is highly robust. The disadvantage is that the configuration and calibration are more complex, and the depth range and accuracy are limited by the binocular baseline and resolution. ,Disparity calculation consumes a lot of computing resources and ,requires GPU/FPGA device acceleration.

The advantage of the depth camera is to measure the depth information of objects through the physical method of structured light or TOF (time of fly), typically represented by Kinect, xtion pro, and RealSense. The disadvantages are narrow measurement range, high noise, small field of view, susceptible to sunlight interference, inability to measure projection materials, etc. It is mainly used indoors and is difficult to apply outdoors.

7. ROS host

The processing core of the robot is usually a computer host running the ROS system. Some more complex robots will have several computer hosts. For example, one is used to carry the ROS system and run various robot algorithms; the other is used to carry the Andriod system and run User interaction interface. For the ROS computer host mounted on the robot, programming, installation and power consumption issues need to be considered.

Among low-end and mid-range robots, the most widely used one is the Raspberry Pi, especially the Raspberry Pi 3B model which is the most popular. The Raspberry Pi is an extremely cost-effective board. The 200 yuan board is equipped with a Cortex-A53 processor and 1GB of memory. It officially supports the ubuntu-mate system and is very suitable for beginners.

Among mid-to-high-end robots, the board corresponding to the domestic Rockchip RK3399 is priced at around 1,000 yuan. It is equipped with a dual-core Cortex-A72+quad-core Cortex-A53 processor and 2GB/4GB memory, and is equipped with a cropped version of the Ubuntu system.

Among high-end robots, NVIDIA’s Jetson-tx2 board is said to be a board that can be mounted on a nuclear bomb and has powerful performance. The board sells for about 4,000 yuan and is equipped with a quad-core Cortex-A57 processor and 8GB of memory. The board has a Pascal architecture GPU with 256 CUDA cores, which is very suitable for deep learning and computer vision related applications.
Insert image description here

3. Introduction to SLAM navigation technology

SLAM navigation technology is mainly used to solve problems such as robot positioning, environmental mapping, autonomous navigation, and dynamic obstacle avoidance.

1 Introduction

Individual positioning technologies can be seen everywhere in daily life, such as: GPS positioning technology, WIFI positioning technology, magnetic strip guide rail positioning technology. Separate environmental mapping technology also has many mature applications, such as: CT comprehensive scanning technology of the human body in medicine, scanning and modeling of a three-dimensional object in film production, tunnel exploration and mapping, etc. However, in the face of such a complex application as robots, neither positioning technology nor environment mapping technology alone can solve the problem well, so SLAM technology that combines positioning and mapping emerged.

2. Introduction to robots

A robot is a complex device involving major links such as actuator, perception, and decision-making. Commonly used actuators for robots include: wheeled motion chassis, robotic arms, audio and display screens; commonly used sensing devices for robots include: laser radar, sonar, camera, IMU, wheeled odometer encoding disk, microphone, and touch sensor; Decision-making is the embodiment of robot intelligence. Robots usually use sensing devices to continuously interact with the external environment to obtain the status of the robot and the status of the environment.

3. Uncertainty of robots

There is a lot of unpredictability in the environment where the robot is located. There is noise and interference in the measurements of the sensors in the robot. There is a certain degree of unreliability in actuators such as motors. There are also some uncertainties caused by the robot's software.

To study robot perception and behavior, it is necessary to model these uncertainties, which can be expressed explicitly using probability theory. Moreover, probabilistic algorithms can be used to perform inference calculations on probability distributions, and mathematically and reasonably represent the fuzziness and confidence of the robot. A simple understanding is to express the uncertainty of the robot in a clear and computable manner by modeling the probability of the robot.

4. Robot state estimation

The technology to deal with this uncertainty probability in robots is called probabilistic robotics, and its core is to use sensor data to estimate the robot state.

The robot measures its own state and the state of the environment through sensors. The state of the robot includes: robot posture, motion odometer information, linear speed and angular velocity; the state of the environment includes: the position of objects in the environment, characteristics of objects and other information.

5. Bayesian iterative network

The robot also uses control actions to call actuators and interact with the environment. Control actions include: robot movement, object manipulation, etc. In this way, the robot interacts with the environment through sensor measurement and control actions. During the interaction process, the environment model and robot pose are estimated.The iterative estimation process of the environment model is the environment mapping process; the iterative estimation process of the robot pose is the robot positioning process .

Sensors are used to measure and control actions to estimate the environment model and robot pose, and are completed by iterative calculations based on probability rules. The probability model of control actions is called motion probability model ; the probability model of sensor measurement is called measurement probability model . This iterative calculation process of probability rules is the Bayesian iterative network, as shown in the following figure:
Insert image description here

6. Motion probability model

The motion model refers to the relationship between the posture changes and the motion control amount when the robot moves from one place to another. Since the control quantity acts on the robot, the process of changing the pose of the robot is an uncertain process with errors, so the result after the control quantity acts needs to be described by a probability distribution, which is the motion probability model .

According to the different motion control quantities, it can be divided into speed motion model and odometer motion model. In the speed motion model, the control quantity is the linear velocity and angular velocity; in the odometer motion model, the control quantity is the relative posture of the robot at the front and back moments. In the velocity motion model, both linear velocity and angular velocity are constrained by the robot's territory structure. Experiments show that although the odometry motion model has errors, it has higher accuracy than the speed motion model.
Insert image description here

7. Measurement Probability Model

In the same way, the sensors on the robot have errors during the measurement process, so the measurement results need to be described by a probability distribution. This probability distribution is the measurement probability model .

8. Bayesian filter classification

Bayesian algorithm, also known as Bayesian filtering , is a recursive algorithm used to calculate confidence, that is to say, the confidence at time t is calculated by the confidence at time t-1. Bayesian filtering algorithm has two basic steps, prediction and update.

There are many specific implementation algorithms of Bayesian filtering. According to the different ways of expressing confidence, the specific implementation algorithms of Bayesian filtering can be divided into two types: parametric implementation algorithm and non-parametric implementation algorithm. The parameterized implementation algorithm is to express the confidence distribution with the parameters of the multivariate Gaussian distribution. According to the parameters of different Gaussian distributions, it can be divided into Kalman filtering and information filtering. The non-parametric implementation algorithm is to approximate the confidence distribution with a limited number of specific values. According to the method of approximating different specific values, it can be divided into histogram filter and particle filter.
Insert image description here

9. Mainstream SLAM algorithms

Nowadays, laser SLAM is the most widely used robot. Sweeping robots, service robots, and AGV smart vehicles are generally equipped with single-line lidar SLAM . Driverless cars and outdoor robots are generally equipped with multi-line lidar SLAM .

Another popular research is visual SLAM. Visual SLAM has various forms equipped with monocular, binocular, and depth cameras. According to the different visual feature points used, it can be divided into: direct method, semi-direct method, and sparse method. Then, there are various composite SLAM algorithms, such as SLAM that integrates laser and vision, and visual SLAM that integrates IMU. Finally, there are some of the most novel SLAM algorithms, such as end-to-end SLAM using deep learning and semantic SLAM based on object recognition.
Insert image description here

10. Robot path planning and control strategy

Robot autonomous navigation can be divided into two implementation parts, the first part is path planning, and the second part is control strategy.

Path planning is to use map information to find a global path that can reach the goal . The global path plays an overall strategic guiding role in the robot navigation process. Ideally, the robot moves to the target completely according to the global path, but the actual environment is often changeable and complex, and there will be deviations in the actual control of the robot, so the actual motion control of the robot requires a set of control strategies to ultimately realize it. The control strategy needs to approximate the global path as much as possible, stay away from obstacles as much as possible, and reach the target in the fastest time. These factors can be evaluated by a reward function . In the process of finding the optimal control strategy, the value of the reward function for each action is recursively calculated. In this way, the control strategy can give the best control strategy under the guidance of the reward function, and the control strategy controls the robot to complete the actual movement.
Insert image description here

Guess you like

Origin blog.csdn.net/m0_37605642/article/details/132417317