In the movie “Men of Fire”, there is such a scene that the embers will be investigated after the scene of the fire. Due to the rekindled situation in the manual investigation, this brings great danger to the work of firefighters. I wonder whether there is a robot to replace the human to complete the high-risk work.

The first thing that came to my mind was wheeled and tracked ground robots. However, I found that the scene environment after a fire was always complex, and the ground environment was rugged and difficult to reach, and the room with stairs was difficult to reach.

So the idea of autonomous, fast-moving drones floats in my mind. I started thinking about how I should design my drone, what features I needed, and how to achieve them. I have about two technical routes. The first is to buy ready-made aircraft and add my own modules, but the customization of such drones is not as high as the indoor search effect. The second technical route is to use the open source solution for in-depth development and personalized customization. I chose the latter. There’s a lot of open source flight control, but how do you make an airplane fly autonomously? I found the Prometheus autonomous Drone open source project from Amu LABS. I used several of the larger modules, such as indoor positioning, path planning (obstacle avoidance), control, and Aruco code recognition module.

Among them, the two main modules are path planning and Aruco code recognition module. Next, I will make a brief introduction. Global path planning is divided into global algorithm and local algorithm: Global path planning is in a known environment, a path for robot programming, to obtain the accuracy of the precision of path planning depends on the environment, global path planning can find the optimal solution, but you need to know in advance that the accuracy of the information environment, when the environment changes, such as unknown obstacles, this method is powerless. It is a kind of advance planning, so the real-time computing capability of the robot system is not required. Although the planning result is global and better, it is not robust to the errors and noise of the environment model.

Local path planning is environmental information is completely unknown or some unknown, focus on the robot’s current in local environmental information, let the robot has good capability of obstacle avoidance, through the sensor to detect robot working environment, in order to get the position of the obstacles and the information such as geometry, this kind of planning need to collect environmental data, And the dynamic update of the environment model can be calibrated at any time, local planning method will be in harmony are an organic whole, to the environment modeling and search for robot system has a high speed information processing capacity and computing power, error and noise to the environment have higher robustness, can the planning results are real-time feedback and correction, but because of the lack of global environmental information, Therefore, the planning result may not be optimal, or even the correct path or complete path may not be found. Working together, the robot can better plan the walking path from the starting point to the end point.

Algorithm A: Algorithm A is A global heuristic search algorithm, which is A search strategy based on existing information as far as possible. That is to say, in the search process, we try to make use of currently known information such as the number of iterative steps and the estimated cost from the initial state and current state to the target state.

When selecting the next node to be checked, the A* algorithm considers the cost before coming, and uses the distance to the target as A guide, and the sum of the two as A measure to evaluate the possibility that the node is on the optimal path. In this way, nodes with high probability on the optimal path can be searched first.

The basic idea of algorithm A is as follows: The estimation function f^ of current node J is introduced, and the estimation function of current node J is defined as: F (j) = g (j) + h (j) f ^ (j) = g (j) + h ^ (j) f (j) = g (j) + h (j) of g (j) g (j) g (j) is from starting point to measure the real costs of the current node j, h (j) h ^ (j) h (j) from node j to the end of the minimum consumption estimates, The specific form of H (j)h^(j)h(j) can be selected according to the actual situation. H (j)h^(j)h(j) must meet a requirement: it cannot be higher than the actual minimum cost from node J to the end point. When searching from the start node to the destination node, the smallest node of f(j)f^(j)f(j) is searched every time until the destination node is found.

——- quoted from Amu Laboratories Prometheus-Wiki

Aruco coding module: Aruco is an open source miniature augmented reality library, which is used in addition to augmented reality, but also for some machine vision applications. Boston’s latest humanoid robot Atlas has also used the modified method for visual positioning.

ArUco open source library has several features such as: 1. 2. Depend only on OpenCV (≥2.4.9) and Eigen3. Path planning is used A algorithm, target detection algorithm is used ArUco machine vision algorithm, the next is the indoor search uav demonstration video (click the link at the end of the article) : mp.weixin.qq.com/s?__biz=MzI…

  • End –

With the rapid development of technology, AMu Lab will keep up with the pace of technology and continue to recommend the latest technology and hardware in the robotics industry to you. The greatest value of our training is to see our trainees improve by leaps and bounds. If you are in the robot industry, please follow our official account, we will continue to publish the most valuable information and technology in the robot industry. Amu Lab is committed to the education of cutting-edge IT technology and intelligent equipment to make robot research and development more efficient!