Basic series planning and navigation of the hottes

  • Detail

Therefore, the basic series of robotics: planning and navigation


the planning and navigation of autonomous mobile robots includes the use of purposeful decision-making and execution to achieve the highest goals of the system. Whether the robot is competent for navigation must be proved by two skills: path planning and obstacle avoidance


1 Path planning

2 Obstacle avoidance

3 In LabVIEW, the algorithm

Path Planning

given the map and destination, path planning refers to the ability of the robot to travel to the destination through trajectory recognition. Path planning is a crucial problem-solving ability, because robots must be able to decide how to travel before reaching their destination

path planning can be divided into two parts: expression and algorithm. Path planners first transform the robot environment into a form suitable for path planning. Some commonly used techniques include generalized Voronoi diagram, rule lattice and quadtree. Path planning algorithms can usually be used to express almost all configuration spaces, although some methods will be more suitable for specific expressions. Figure 1 shows the Voronoi diagram drawn in LabVIEW

Figure 1 Voronoi diagram in LabVIEW

because most expressions can be converted into diagrams, the path between the initial node and the target node can be calculated by the graph search algorithm. Graph search algorithms are well understood by computer science. However, many algorithms require programs to access each node on the graph to determine the shortest path between the initial node and the target node. For loosely connected graphs, accessing each node is easy to calculate, such as Voronoi graphs; However, for leading the development of industry norms in tight connected graphs, the computational cost is rapidly increasing, such as regular grid graphs

obstacle avoidance

path planners only consider environmental obstacles known in advance. In the process of path implementation, Hong Kong may miss an important opportunity to achieve universal suffrage for executive seats due to map accuracy or dynamic environment, resulting in differences between the values of the robot's real sensors and the expected values. Therefore, the robot must be able to change the motion path in real time according to the value of the real sensor. This is the reason why obstacle avoidance ability is important. Some general obstacle avoidance methods include bug algorithm and VFH algorithm

bug algorithm

a direct path planning method is to detour along the contour of each obstacle in the robot's path. In BUG1 algorithm, the robot completely surrounds the contour of the obstacle and separates when it reaches the point closest to the target location. This method is inefficient, but it can ensure that the robot can reach any reachable goal. In BUG2 algorithm, the robot first moves along the contour of the obstacle, and immediately separates when it reaches the position where it can reach the target location. BUG2 algorithm significantly shortens the travel distance of the robot, but it is still not optimal

vfh algorithm

bug algorithm has a limitation that the behavior of the robot at every moment is generally a function of the latest reading of the sensor. This may cause the instantaneous sensor reading of the robot to not provide enough information for the stable obstacle avoidance ability. VFH technology overcomes this limitation by creating a map of the robot's surrounding environment. When avoiding obstacles, a polar histogram is generated to determine the steering. First, identify all the channels that the robot can pass through. Then, the cost function considering the target direction, wheel direction and the previous moment direction is executed

Figure 2 The front panel of LabVIEW VI runs VFH obstacle avoidance algorithm

in LabVIEW, users can choose the most effective syntax to develop algorithms, or use built-in tools to import other algorithms written based on text language. The existing search algorithm and other robot libraries in the inheritance code can be easily imported into LabVIEW, LabVIEW real time and LabVIEW FPGA

call library node

labview users can use the call library function node to call DLLs in Windows machines and real-time embedded controllers. This node is used to create an interface in LabVIEW that calls an existing library or a new library written specifically for LabVIEW. The call library function node in the figure below inputs a floating-point number of 4 bytes and outputs its square value

Figure 3 The call function library node can be used in LabVIEW to import the electromechanical opening code of the follow on start key

Formula Node

formula node can be used for algorithm development in LabVIEW and LabVIEW real time. Formula node is a simple node based on text language, which is used to perform mathematical operations in LabVIEW block diagram. Users do not need to connect any external code or applications, nor do they need to connect low-level algorithm functions to create equations. In addition to text-based equality expression, formula nodes can also accept text-based if declarations, while loops, for loops, and do loops, which are familiar to C language users

Figure 4 The formula node adopts a syntax similar to C language

the formula node is very useful for containing many variables or very complex equations, as well as using existing text-based code. You can copy and paste the existing text-based code into the formula node, avoiding the trouble of recreating the graphic code

hdl node

hdl interface node allows users to integrate algorithms or applications written in hardware description language (HDL) in LabVIEW FPGA. The user can directly input the HDL code in the HDL interface node or reference the external HDL file. In the example below, the HDL input node includes the VHDL code, which adds two 32-bit numbers and returns the result

Figure 5 HDL node can be used to import HDL code into LabVIEW FPGA

for more information about robotics, please refer to the homepage of robotics Foundation Series. (end)

Copyright © 2011 JIN SHI