Therefore, the basic series of robotics: planning and navigation
overview
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
directory
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)
LINK
Copyright © 2011 JIN SHI