Local path planning method for attitude-determining omnidirectional mobile robot based on improved DWA algorithm
By improving the DWA algorithm, combining environmental data and motion models, the problem of insufficient pose offset evaluation of omnidirectional mobile robots is solved, and more stable and efficient path planning and dynamic obstacle avoidance capabilities are achieved.
Patent Information
- Application Number
- CN202510074483.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-02-25
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Traditional DWA algorithms are difficult to evaluate the robot's own posture shift in omnidirectional mobile robots, resulting in the robot being easily jittered and unstable, and the dynamic obstacle avoidance effect is poor.
Improve the DWA algorithm to determine the motion model and local path of the omnidirectional mobile robot by obtaining environmental data and building a three-dimensional map model. The state vectors are used to include the x-axis, y-axis velocity vector and z-axis angular velocity vector, and combine kinematic inverse solutions and velocity sampling to generate a planning path, and evaluate the advantages and disadvantages of the path through an improved evaluation function.
It effectively overcomes the shortcomings of robot pose offset evaluation, improves the path planning stability and dynamic obstacle avoidance capabilities of omnidirectional mobile robots, and ensures that the robot can quickly and safely reach the target point.
Smart Images

Figure CN119512126A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of robot path planning, and in particular relates to a local path planning method for a fixed-attitude omnidirectional mobile robot based on an improved DWA algorithm. Background Art
[0002] With the accelerated development of the intelligent and digital era, artificial intelligence technology, especially robotics technology, has become more and more widely used in manufacturing, service and daily life. In particular, in the fields of smart logistics, smart manufacturing and smart home, omnidirectional mobile robots have become a hot spot for research and development due to their flexible mobility and efficient task execution capabilities. In order to achieve efficient and safe navigation and task execution in complex environments, the path planning technology of omnidirectional mobile robots is particularly critical.
[0003] The Dynamic Window Approach (DWA) is a real-time reactive path planning technique that dynamically selects the optimal speed and direction of travel while taking into account the robot's current speed and acceleration limits. By evaluating all feasible motions within the current speed window and combining objective functions (such as distance to the destination, direction of motion, and obstacle avoidance), DWA can provide the robot with a safe and efficient path. This method is particularly suitable for scenarios that require fast obstacle avoidance and flexible movement in narrow spaces, and is widely used in robot local path planning.
[0004] However, the DWA algorithm also has many shortcomings. For example, there is no evaluation standard for the robot's posture deviation in the original evaluation function. Especially during the movement of the omnidirectional mobile robot, the traditional DWA algorithm is prone to robot jitter and instability, and the dynamic obstacle avoidance effect is poor. Therefore, how to achieve the path planning of the omnidirectional mobile robot while overcoming the shortcomings of DWA that cannot evaluate the omnidirectional robot's own moving posture and maintaining the advantages of the DWA algorithm being simple, efficient and easy to implement is a technical problem that needs to be solved. Summary of the invention
[0005] In order to solve the above technical problems, the present invention proposes a local path planning method for a fixed-attitude omnidirectional mobile robot based on an improved DWA algorithm to solve the problems existing in the above-mentioned prior art.
[0006] To achieve the above object, the present invention provides a local path planning method for a fixed-attitude omnidirectional mobile robot based on an improved DWA algorithm, comprising:
[0007] Acquire environmental data, wherein the environmental data is point cloud data of the surrounding environment collected by a laser radar;
[0008] Modeling the environmental data to obtain a three-dimensional map model, in which the initial position and final position of the omnidirectional robot are used as the starting point and the target point;
[0009] Construct a motion model of the omnidirectional mobile robot and determine the local path of the omnidirectional mobile robot;
[0010] The motion model of the omnidirectional mobile robot includes a unit time and a state vector, wherein the state vector includes a velocity vector in the x-axis direction, a velocity vector in the y-axis direction, and an angular velocity vector in the z-axis direction, wherein the state vector represents the velocity, the x-axis direction is the front direction of the omnidirectional mobile robot, the y-axis direction is the left direction of the robot, and the z-axis direction is the direction from the intersection of the x-axis and the y-axis to the top of the robot;
[0011] The process of obtaining the local path includes: calculating the moving path of the global mobile robot in unit time according to the state vector to obtain the local path of the omnidirectional robot;
[0012] According to the starting point and the target point, the direction of the target point is obtained, the omnidirectional mobile robot is controlled to move in the direction of the target point, and when an obstacle appears during the movement, the speed of the omnidirectional mobile robot is sampled according to the motion model, and the planned path is obtained according to the local path and the speed sampling result;
[0013] wherein, the motion of the omnidirectional mobile robot is analyzed by a kinematic inverse solution method according to the state vector, the motion information of the omnidirectional robot corresponding to the state vector is obtained, and the omnidirectional robot is controlled to move according to the motion information;
[0014] The speed sampling process includes taking the constraint condition as a value range, and randomly assigning a value to the state vector within the value range to obtain a number of randomly assigned state vectors, wherein the constraint condition includes the DWA speed constraint of the omnidirectional mobile robot, the acceleration constraint of the omnidirectional mobile robot, and the reserved braking distance constraint of the omnidirectional mobile robot, and the different constraint conditions are different value ranges of the state vector;
[0015] The process of acquiring the planned path includes: calculating the corresponding local path according to the state vector after random assignment, taking the end point of each local path as the starting node, re-sampling the speed, and calculating the local path of the re-speed sampling, repeating the above process until the end point of the last local path, i.e., the target node, is not within the obstacle avoidance range, connecting the end points of the associated local paths as dynamic nodes, and obtaining a plurality of planned paths, wherein the obstacle avoidance range is a circular range with the omnidirectional robot as the center point and twice the distance between the omnidirectional robot and the obstacle as the radius;
[0016] The planned path is evaluated by improving the DWA algorithm, and an obstacle avoidance path is obtained based on the evaluation result;
[0017] The process of evaluating the planned path includes: evaluating the planned path by improving the evaluation function in the DWA algorithm, wherein the evaluation function is a calculation result of a weighted sum of normalized different evaluation indicators, and the evaluation indicators include: an angle difference between a current position of the omnidirectional robot and a target point, a distance between the omnidirectional robot and an obstacle, a speed of the omnidirectional robot in the planned path, and a posture offset of the robot in the planned path;
[0018] The obstacle avoidance path acquisition process includes: selecting a planned path corresponding to the smallest value in the evaluation result as the obstacle avoidance path;
[0019] The omnidirectional mobile robot performs obstacle avoidance movement according to the obstacle avoidance path, and after the obstacle avoidance movement, moves in the direction of the target point until the target point is reached;
[0020] The obstacle avoidance movement process includes controlling the omnidirectional robot to pass through each dynamic node in the obstacle avoidance path to move to the target node by adjusting the state vector;
[0021] The process of moving in the direction of the target point includes: calculating the direction of the target node and the target point, and controlling the omnidirectional robot to move along the direction of the target node and the target point until reaching the target point.
[0022] Optionally, the process of determining the starting point and the target point includes:
[0023] A moving instruction is transmitted to the omnidirectional mobile robot through a mobile terminal, wherein the moving instruction includes a moving speed, a moving time and a heading angle. The starting position of the omnidirectional mobile robot is taken as a starting point, and a target point is obtained by calculating the moving speed, the moving time and the heading angle based on the starting point.
[0024] Optionally, the omnidirectional mobile robot adopts a Mecanum wheel car. During the movement of the omnidirectional mobile robot, the motion of the omnidirectional mobile robot is analyzed by a kinematic inverse solution method to obtain the rotation speed information of each wheel of the Mecanum wheel car, and the Mecanum wheel car is moved by a three-level PID feedback control based on the rotation speed information; wherein the three-level PID feedback control includes inertial measurement unit feedback control, odometer feedback control and lidar feedback control.
[0025] Optionally, the process of evaluating the planned path includes:
[0026] The planned path is evaluated by improving the evaluation function in the DWA algorithm, where the evaluation function for:
[0027] ;
[0028] in, is the azimuth evaluation function, which represents the angle difference between the robot’s current position and the target point. is the distance between the robot and the nearest obstacle, is the velocity corresponding to the trajectory, is the posture evaluation factor, which represents the robot posture offset in the current trajectory; are the weighted coefficients of the evaluation factors of angle, distance, speed and posture respectively. Indicates the normalization of the four factors. is the velocity vector in the x-axis direction, is the velocity vector in the y-axis direction, is the angular velocity vector in the z-axis direction.
[0029] Optionally, when the path accumulation result of the omnidirectional mobile robot is the same as the coordinate position of the target point, the target point is reached.
[0030] Compared with the prior art, the present invention has the following advantages and technical effects:
[0031] The present invention provides a local path planning method for a fixed-attitude omnidirectional mobile robot based on an improved DWA algorithm. DWA dynamically adjusts the movement of the robot by considering the robot's current speed, acceleration limit, and the positions and speeds of surrounding obstacles, ensuring that the robot can quickly approach the target point and effectively avoid obstacles. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The drawings constituting a part of the present application are used to provide a further understanding of the present application. The illustrative embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0033] Figure 1 It is a specific flow chart of the present invention;
[0034] Figure 2 is a plan view of the robot chassis of the present invention;
[0035] Figure 3 is an overall design diagram of the robot of the present invention;
[0036] Figure 4 This is a schematic diagram of the installation of the Mecanum wheel O-square of the present invention;
[0037] Figure 5 It is a schematic diagram of the mathematical model of the square-O wheat wheel trolley of the present invention;
[0038] Figure 6 It is the cascade PID control logic block diagram of the present invention;
[0039] Figure 7 is a schematic diagram of the reference system of the present invention;
[0040] Figure 8 It is the route planning diagram of the present invention when there are obstacles;
[0041] Fig. 9 It is a route planning decomposition diagram of the present invention;
[0042] Fig.10 This is a simulation experiment diagram of a robot with static obstacles according to the present invention;
[0043] Fig.11 This is a diagram of a robot dynamic obstacle simulation experiment of the present invention;
[0044] Fig.12 is another robot dynamic obstacle simulation experiment diagram of the present invention;
[0045] Attached Figure 3 The parts represented by the various reference numerals are listed as follows:
[0046] 1. Motor trolley chassis rear plate; 2. Motor trolley chassis front plate; 3. Coaxial connector; 4. LiDAR base plate; 5. DC reduction encoder motor; 6. Motor bracket; 7. 2D LiDAR; 8. Main control unit; 9. Battery compartment; 10. Bluetooth module; 11. Gyroscope module; 12. Mecanum wheel; 13. Motor drive unit; 14. Coupling; 15. 12V lithium battery. DETAILED DESCRIPTION
[0047] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0048] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0049] The invention discloses a local path planning method for a posture-fixed omnidirectional mobile robot based on an improved DWA algorithm, which belongs to the technical field of path planning. The method comprises the following steps: collecting environmental data and modeling using a 2D laser radar, constructing an initial environmental map on a mobile phone APP and obtaining a starting point and a target point of the robot; performing local path planning using an improved DWA algorithm, and using an omnidirectional mobile state vector V=[Vx, Vy, ωv] instead of (v, ω) to find an optimal path; performing cascade PID speed regulation in combination with inertial measurement unit, odometer and encoder parameter information when the robot moves along the optimal path; performing speed sampling during movement, evaluating a planned path generated by the sampled speed according to an evaluation function, improving the original evaluation function, adding a posture evaluation factor posture (Vx, Vy, ωv), and incorporating a robot posture offset velocity vector and angle into an evaluation system during path planning, so that the robot always maintains a constant posture during omnidirectional movement; using a laser radar carried by the robot to detect local environmental information in real time to determine whether there are dynamic obstacles; if so, calling the DWA algorithm again to perform local path planning to avoid the obstacles; if not, continuing to move along the optimal path until the robot reaches the target point. The present invention adopts the DWA improved algorithm to increase the posture evaluation factor of the robot, solves the problem of traveling in any direction with a fixed posture during omnidirectional movement, and eliminates the problem of offset in real-time avoidance of dynamic obstacles.
[0050] In this embodiment, a method for local path planning of a fixed-position omnidirectional mobile robot based on an improved DWA algorithm is provided, including: using a mobile terminal, such as a mobile phone, to use a mobile phone APP as the communication between the upper computer operating system and the chassis ArduinoMega2560 single-chip microcomputer to achieve the transmission of environmental data and the calibration of target points; according to the dynamic window method (DWA), the optimal movement speed and direction of the robot in its local environment are calculated in real time. DWA dynamically adjusts the movement of the robot by considering the current speed of the robot, the acceleration limit, and the position and speed of the surrounding obstacles to ensure that the robot can quickly approach the target point and effectively avoid obstacles. Among them, the omnidirectional mobile robot can adopt an inspection unmanned vehicle.
[0051] During the movement, the robot combines the inertial measurement unit, odometer information and laser radar parameter information sent back by the robot to perform cascade PID adjustment to ensure that the robot always moves at the specified speed in the specified trajectory. At the same time, the laser radar samples the robot's speed V; the laser radar continuously emits lasers in all directions and returns lasers after contacting obstacles, thereby sampling the speed of dynamic obstacles; it is determined whether there is a possibility of collision between the robot and the dynamic obstacle. If there is a possibility of collision, the improved DWA method is used to replan the local path. The improved dynamic window method is used to sample the speed within a certain time window, and several robot movement paths are randomly generated; each path is evaluated by the evaluation function in the obtained several paths; the larger the value of the evaluation function, the better the trajectory, that is, a path with the smallest angle from the target point, the farthest distance from the obstacle, the fastest speed, and the smallest attitude deviation is selected as the best planning trajectory of the four evaluation factors, as the obstacle avoidance trajectory within the simulation cycle.
[0052] The above technical solution includes the following steps:
[0053] Step 1: Collect environmental data through radar, initialize the map and build a model on the mobile terminal based on the environmental data, determine the initial posture of the inspection unmanned vehicle, and receive the mobile command of the mobile terminal APP to determine the target destination;
[0054] Step 2: Determine the robot's motion model and use the improved dynamic window method (DWA) to find the initial local path;
[0055] Among them, the robot's motion model is first determined, and the state vector of the omnidirectional mobile car is decomposed into three velocity vectors; then a laser radar is installed at the center of the robot. During the movement of the robot, the radar probe continuously emits lasers in all directions, and returns the laser after contacting an obstacle, recording the position information of the dynamic obstacle changing with time, and sampling the velocity V of the dynamic obstacle into the initial path node. The robot uses the improved dynamic window method (DWA) to generate the initial path node and find the initial local path.
[0056] Step 3: During the movement, the speed of the chassis four-wheel drive is sampled through the encoder, the vector speeds of the four wheels are planned through the inverse kinematic solution, the vector posture of the car is calibrated using multi-sensor, and cascade PID speed regulation is performed;
[0057] Among them, the improved DWA method is used for speed sampling. The traditional DWA method sets the robot speed to (v, ω) for constraint. However, due to the limitation of the Mecanum wheel structure, although it can move in all directions, the speed constraints in different moving directions are different. Therefore, the original speed vector v needs to be split into Vx and Vy, and ω remains unchanged. Finally, the robot speed is set to ;in is the state vector of the car, is the velocity vector in the x-axis direction, is the velocity vector in the y-axis direction, is the angular velocity vector in the z-axis direction. After speed sampling, the kinematic inverse solution of the Mecanum wheel car is required to determine the size of each wheel speed Vn. Finally, the cascade PID is used to adjust the speed to ensure that the speed is constant while the posture of the car remains unchanged when moving.
[0058] Step 4: For different planning paths generated by speed sampling, the planning paths generated by sampling speed are evaluated according to the improved evaluation function, and new path nodes are dynamically generated in combination with DWA;
[0059] After the speed sampling is completed, the dynamic window of the robot is generated according to the speed, posture and environmental information of the robot. Combined with the dynamic window, several motion paths of the inspection unmanned vehicle are randomly generated. Among the several paths obtained, each path is evaluated by the improved evaluation function. The improved DWA evaluation function adds , the posture evaluation factor, represents the robot posture offset in the current trajectory. Then, the laser radar is used to re-collect environmental data to determine whether the local path needs to be replanned, and if necessary, a new path node is regenerated.
[0060] Step 5. In the new path node, the target node is connected to the dynamic node in sequence to form a new dynamic path. The robot maintains a fixed posture and moves to the target node, accumulating the displacement in its own reference frame until the target point. The target node is the final node point under each obstacle avoidance path, and the target point, i.e. the target end point, is the point where the robot needs to move to in the end.
[0061] The robot performs obstacle avoidance planning. If a dynamic obstacle appears during the robot's driving, it starts to perform local obstacle avoidance. A circle is drawn with the robot as the center and twice the distance between the robot and the obstacle as the radius. The target node is sequentially connected to the unit time. The new dynamic nodes generated in the robot are connected to form a dynamic path. The robot maintains a fixed posture and moves to the target node; thus, dynamic obstacle avoidance is achieved, and the robot's turning route Ang is recorded and accumulated each time. After the movement is completed, the robot accumulates the distance in its own reference system to determine whether it has reached the target end point; different from the traditional path planning method, since the robot's posture is always fixed, the robot's reference system is the robot itself, the coordinate origin is the starting position of the car, and the coordinate axis of the reference reference system coincides with the coordinate axis of the car, that is, the positive direction of the X axis is directly in front of the car, and the positive direction of the Y axis is directly to the left of the car. In this reference reference system, the robot's starting position is (0,0), the target position is (EndX, EndY), the heading angle Dir is the angle between the target position and the positive direction of the X axis, and the target distance Dis is the straight-line distance between the two points. If there is an obstacle in front, the robot will travel a short distance in the direction of Ang, and if there is no obstacle, it will travel a short distance in the direction of Dir until the robot reaches the vicinity of the target end point, and the navigation ends.
[0062] As some embodiments, step one specifically includes:
[0063] Step 11: Use 2D laser radar to collect surrounding environment data and use inertial measurement unit to calibrate the initial posture of the car;
[0064] Step 12: The environment map constructed by the environment data collected by the 2D laser radar is transmitted to the mobile terminal via BLE Bluetooth, and the mobile terminal serves as the host computer to issue movement instructions;
[0065] Step 13: Map the mobile instructions based on the modeling diagram of the mobile terminal to the actual scene of the robot to determine the target end point.
[0066] Among them, the omnidirectional mobile robot can be used as an inspection unmanned vehicle, which has four Mecanum wheels installed on its chassis in a square-O shape. At the same time, the chassis is fixed with an ArduinoMega2560 microcontroller (main control unit 8) and a BLE Bluetooth module for receiving and sending control commands; a Hall encoder is installed at each of the four wheels of the robot as a speed measurement unit to obtain the speed Vn of each wheel of the inspection unmanned vehicle during movement; a mobile terminal such as a mobile phone APP issues a movement instruction (control instruction) to the robot's microcontroller, and the robot collects environmental data through a 2D laser radar to perform two-dimensional environmental modeling and display it on the mobile phone APP. The robot's microcontroller combines the inertial measurement unit IMU, odometer information, and laser radar parameter information sent back by the inspection unmanned vehicle to sample the robot's state vector At the same time, the inertial measurement unit is used to calibrate the initial posture of the car. After determining the initial posture, the 2D modeling environment map is transmitted to the mobile phone through the BLE Bluetooth module. The mobile phone serves as the host computer to issue movement instructions. Then the robot maps the movement instructions of the modeling map on the mobile phone to the actual scene of the robot to determine the target end point.
[0067] As some embodiments, step 2 specifically includes:
[0068] Step 21, determine the robot's motion model; since the robot The displacement is very short, so the motion between two adjacent points can be regarded as a straight line. The omnidirectional mobile robot can decompose its state vector into three velocity vectors:
[0069] ;
[0070] is the state vector of the car, is the velocity vector in the x-axis direction, is the velocity vector in the y-axis direction, is the angular velocity vector in the z-axis direction.
[0071] Among them The generated robot is in the world coordinate system x, y axis two-dimensional plane coordinates , for:
[0072] ;
[0073] Depend on The generated robot is in the world coordinate system x, y axis two-dimensional plane coordinates , for:
[0074] ;
[0075] Then the initial path node is The generated robot's posture changes in the two-dimensional plane coordinate point X, Y, and posture changes in the world coordinate system x, y axis are:
[0076] ;
[0077] in Unit time The inner car attitude angle is the angle between the positive x-axis direction of the car and the x-axis of the world coordinate system.
[0078] Step 22, using the improved DWA algorithm for local path planning; the traditional DWA algorithm includes, according to the limited speed and acceleration constraints of the robot model itself, converting the Cartesian coordinates (x, y) into a velocity vector space consisting of a set of robot velocities, and the straight-line speed and the rotational angular velocity form a velocity pair (v, ω).
[0079] The improvement is to use the state vector of the omnidirectional robot Substitute (v, ω). According to the motion model established in step 21, different state vectors The motion trajectory is scored and the evaluation function is used to evaluate the quality of the motion trajectory as the basis for path determination. During the movement, the posture of the car remains unchanged, that is, is constant, so the trajectory of the robot in two-dimensional space is only determined by , Linear determination, the initial path node is the final node under the local path under a single unit time, and then the state vector of the omnidirectional robot of this model They all correspond to a unique trajectory (the optimal path generated per unit time, which is a local path).
[0080] As some embodiments, step three specifically includes:
[0081] Step 31, perform speed sampling; according to step 22, for Each state vector of the robot at time They all correspond to a unique trajectory, so it is necessary to sample the velocity vector space, and then generate different corresponding trajectories according to the sampled speed. The speed sampling is a random sampling of the predicted speed, rather than sampling the previously running speed. The speed sampling is mainly to generate different paths that need to be predicted and evaluated according to different sampled speeds.
[0082] The hardware performance of the mobile robot is limited. Its speed and angular velocity have limits, and a braking distance needs to be reserved. Therefore, the constraints on the value of the velocity vector space include the following:
[0083] The DWA speed constraint is: in are the minimum and maximum linear velocities of the mobile robot, are the minimum and maximum angular velocities of the mobile robot.
[0084] The corresponding improved omnidirectional mobile robot DWA speed constraints are as follows:
[0085] ;
[0086] The subscript min represents the minimum value of the corresponding parameter, and the subscript max represents the maximum value of the corresponding parameter.
[0087] Because this omnidirectional mobile robot adopts Mecanum wheel structure, it is limited by physical structure and its x-axis speed is Limit and y-axis speed The difference is large, so restricted decomposition is required. is the angular velocity in the z-axis direction and the original The restrictions are the same.
[0088] The acceleration and deceleration performance of the omnidirectional mobile robot is constrained by the performance of the motor. The corresponding acceleration constraints of the improved omnidirectional mobile robot are as follows:
[0089] ;
[0090] in, is the current x-axis speed, y-axis speed and angular velocity of the mobile robot, is the maximum acceleration and deceleration of the mobile robot in the x-axis direction and the y-axis direction, are the maximum deceleration and maximum acceleration of the angular velocity of the mobile robot.
[0091] The improved reserved braking distance constraint of the corresponding omnidirectional mobile robot is as follows:
[0092] ;
[0093] in, is the sampling speed state vector The corresponding trajectory has the shortest distance from the obstacle.
[0094] Step 32, perform inverse kinematics solution for the omnidirectional mobile robot, i.e., the Mecanum wheel car; the motion of a rigid body in a plane can be decomposed into three independent components: X-axis translation, Y-axis translation, and yaw-axis rotation. Therefore, the motion of the Mecanum wheel car can also be decomposed into these three quantities, i.e., Vx, Vy, and ω, which correspond to the translation in the X-axis direction, the translation in the Y-axis direction, and the rotation around the Z-axis (counterclockwise is positive).
[0095] The four wheels of the Mailun need to be controlled independently by four motors, and the speed of the four wheels is constrained. The inverse kinematics equation has a unique solution. If the forward kinematics equation does not meet this constraint, there will be no solution. In order to meet the constraint relationship, the inverse kinematics model needs to be built first. The overall process is divided into three steps: calculating the speed of each wheel axis position, calculating the speed of each wheel roller in contact with the ground, and calculating the true rotation speed of the wheel.
[0096] The Mecanum wheel trolley of the present invention can be installed in an O-square Mecanum wheel manner, such as Figure 5 As shown in the figure, if the O-square Mecanum wheel installation method is adopted, the four Mecanum wheels are installed parallel to the direction of the X-axis. Starting counterclockwise from the upper left corner of the trolley, the four Mecanum wheels are numbered 1, 2, 3, and 4, r is the hub radius, θn is the angle between the roller axis of Mecanum wheel n and the X-axis (that is, the offset installation angle of the roller, which is 45°), and Xn, Yn is the center point position of Mecanum wheel n.
[0097] If the O-square Mecanum wheel installation method is used, the four Mecanum wheels are installed parallel to the X-axis, and the four Mecanum wheels are marked in the order [n = 1, 2, 3, 4] starting from the upper left corner counterclockwise. Assume that the speed of the chassis is The speed of each wheel of the Mename wheel trolley can be calculated from the speed of the chassis. Different speeds can be used to ensure the different motion trajectories of the trolley. The final calculated speed of each wheel of the Mename wheel trolley is:
[0098] ;
[0099] Where Vn is the actual linear velocity of the nth Mecanum wheel at the current moment, Kx and ky are proportional coefficients, which need to be adjusted according to the actual situation. a is the distance from any Mecanum wheel to the x-axis, and b is the distance from any Mecanum wheel to the y-axis.
[0100] Step 33, use cascade PID to adjust the speed to ensure that the speed is constant when the posture of the car remains unchanged when moving. When controlling the robot, although the single-stage PID can enable the system to accurately realize the closed-loop control of the rotation angle, it cannot control the speed of each wheel and the route distance while controlling the angle. At this time, multi-stage PID superposition is required. The robot adopts three-stage PID feedback control, namely inertial measurement unit, odometer, and 2D laser radar. The feedback data are the current car posture angle yaw, the speed of each wheel Vn and the edge distance dis of each angle. The same-level joint control adjustment is adopted to jointly realize the indoor positioning of the car, thereby ensuring the stability of the robot when driving along the planned path, thereby realizing the control closed loop.
[0101] The control logic is: first set the proportional parameters Kp[n], Ki[n], Kd[n] of the n-level PID. Then obtain the proportional difference P[n], integral value I[n], differential value D[n] corresponding to the current level respectively; the speed increment Vadd[n] corresponding to the current level can be obtained through the PID calculation formula; the sum of the n-level speed increments and the original speed is the current speed value. The PID calculation formula is:
[0102] ;
[0103] Among them, Kp, Ki, Kd represent different proportional parameters, err, err_i, err_d represent different proportional differences, corresponding to P[n], integral value I[n], differential value D[n].
[0104] As some embodiments, step 4 specifically includes:
[0105] Step 41: After the speed sampling is completed, the corresponding speed state vector The generated trajectory is evaluated, and the corresponding improved DWA evaluation function of the omnidirectional mobile robot is as follows:
[0106] ;
[0107] in, is the azimuth evaluation function, which represents the angle difference between the robot’s current position and the target point. is the distance between the robot and the nearest obstacle, is the velocity corresponding to the trajectory. The first three are the same as the traditional DWA evaluation function. The improved DWA evaluation function adds , the posture evaluation factor, represents the robot posture offset in the current trajectory. are the weighted coefficients of the evaluation factors of angle, distance, speed and posture respectively. To normalize the four factors.
[0108] The process of normalizing the four factors includes: dividing each evaluation factor corresponding to each speed pair by The sum of this factor for all trajectories in is as follows:
[0109] ;
[0110] ;
[0111] ;
[0112] ;
[0113] Where n is The number of trajectories corresponding to the speed sampled in time, i is the current trajectory participating in the evaluation function.
[0114] Step 42: re-collect environmental data through the laser radar to determine whether the local path needs to be re-planned, and if necessary, regenerate new path nodes. The improved DWA algorithm includes assuming that the state vector The value during this simulation trajectory remains unchanged until the next cycle starts to resample and the value of the velocity pair is updated. The final velocity value is the intersection of the velocity vector space under the constraints of angle, distance, speed, and attitude.
[0115] The dynamic window, i.e., the above-mentioned constraint condition, is a dynamic range of values that the linear velocity and angular velocity can take, and the trajectory is judged by improving the evaluation function. The larger the value of the evaluation function, the better the trajectory, that is, a path with the smallest angle from the target point, the farthest distance from the obstacle, the fastest speed, and the smallest attitude deviation is selected as the best planning trajectory of the four evaluation factors, as the obstacle avoidance trajectory within the simulation cycle, wherein the simulation cycle contains multiple unit times, and the obstacle avoidance trajectory within the simulation cycle includes local paths composed of different unit times, wherein the path nodes containing different unit times on the trajectory are dynamic nodes.
[0116] As some embodiments, step five specifically includes:
[0117] Step 51, obstacle avoidance planning. During the driving process of the robot, if a dynamic obstacle appears, local obstacle avoidance is started. The robot is used as the center point and a circle is drawn with a radius of twice the distance between the robot and the obstacle. The speed set under different paths selected in the dynamic window that meet the above constraints is used as the basis, and the range of the circle is driven as the result. At the same time, the positions of dynamic obstacles and the car under different paths are calculated in real time. The relevant paths obtained by sampling the dynamic window are evaluated by the evaluation function to obtain the optimal obstacle avoidance path within the simulation cycle. The final position in the obstacle avoidance path, that is, the target node and the end point of the path under each unit time are extracted as dynamic nodes, and the target node is sequentially connected with the unit time. The new dynamic nodes generated in the robot are connected to form a dynamic path. At this time, the corresponding speed and angular velocity of each path are recorded, and the robot maintains a fixed posture and moves to the target node, thereby achieving dynamic obstacle avoidance. If there is no obstacle, the robot continues to maintain a fixed posture and moves to the target node, accumulating the movement displacement in its own reference system until it reaches the target point.
[0118] Step 52, the self-reference system accumulates the distance and determines whether it has reached the target point; different from the traditional path planning method, since the posture of the robot is always fixed, the robot's reference system is the robot itself, the coordinate origin is the starting position of the car, and the coordinate axis of the reference reference system coincides with the coordinate axis of the car, that is, the positive direction of the X-axis is directly in front of the car, and the positive direction of the Y-axis is directly to the left of the car. In this reference reference system, the robot's starting position is (0,0), the target position is (EndX, EndY), the heading angle Dir is the angle between the target position and the positive direction of the X-axis, and the target distance Dis is the straight-line distance between the two points.
[0119] In the absence of obstacles, the robot can reach the target point by driving the specified distance Dis in the direction of the heading angle Dir, that is, the instruction #Speed, Dis, Dir@. But when there are obstacles, we need to bypass them and then set off to the target point.
[0120] In order to detect the surrounding environment in real time, we need to let the robot collect environmental data every certain period of time or every time it travels a certain distance. In the program, this sampling interval is named GapDis, and the default value is 0.05m, that is, the robot detects the current environment every 5cm it travels. If turning is required, the current heading angle of the car is set to Ang, that is, the instruction #Speed, GapDis, Ang@, where the heading angle Ang is determined according to the required driving angle in the obstacle avoidance path or the direction of the dynamic node.
[0121] The car may have experienced several turns in the process of traveling from the starting point to the target point. After each turn, we can calculate the projection Xn and Yn of the car's current travel distance on the XY coordinate axis based on each small straight path Ln (for example, when GapDis=0.05, the length of the small straight path is 5cm) and the corresponding steering angle Angn. By adding Xn and Yn together, we can calculate the current car coordinates NowX and NowY, that is:
[0122] ;
[0123] After obtaining the current coordinates of the car (NowX, NowY), the next heading angle of the car can be calculated:
[0124] ;
[0125] If there is an obstacle ahead, the robot will drive a short distance in the direction of Ang. If not, it will drive a short distance in the direction of Dir until the robot reaches the vicinity of the target point and the navigation ends.
[0126] With respect to the above technical solution, a specific embodiment is described in conjunction with the relevant drawings:
[0127] Embodiment 1:
[0128] See attached Figure 1 As shown, a local path planning method for a fixed-position omnidirectional mobile robot based on an improved DWA algorithm is provided, including:
[0129] S1: 2D LiDAR collects environmental data, as well as the starting position and starting posture of the unmanned vehicle.
[0130] S2: The MCU connects to the mobile phone APP via BLE low-power Bluetooth, sends environmental data to the mobile terminal, and creates a two-dimensional environmental map on the mobile terminal. The mobile terminal acts as the host computer to issue movement instructions and determine the target point of the robot. Figure 2 , the specific operation method is as follows: the main page of the APP consists of two parts, upper and lower, which can be switched by scrolling. When you click the "Select Bluetooth" button, you will enter the Bluetooth selection interface, click HC-08 to pair and connect, and when the connection is successful, the current "Status Bar" will display: Connected. After the connection is successful, you need to start to choose whether the robot enters "Remote Control Mode" or "Cruise Mode". Only after the selection is completed will the robot start working, otherwise it will remain in standby mode. If you choose "Remote Control Mode", you can pull down the app to enter the remote control mode interface, click the "up key" or "down key" to control the robot speed to increase or decrease by 0.5m / s respectively, and click the "left key" or "right key" to control the robot to turn along the yaw rotation. Press the "Stop" key to stop the robot immediately and set the speed to 0m / s. If you choose "Cruise Mode", the APP will start to receive the data sent by the robot and display the original data in the "Original Data" box below, which is the current laser radar detection angle and return distance value. After being able to receive data normally, click the "Point Mode" or "Line Mode" switch at the bottom of the screen to perform environmental detection. The current system environment collection map is displayed on the "canvas" in the middle of the screen. When the Bluetooth receives data normally, the current robot surrounding environment map will be displayed on the "canvas". In cruise mode, by clicking the environment map on the canvas, the car is controlled to move to the designated location clicked. After calculating the robot's movement speed, movement time, and heading angle, the string command is sent to the robot via Bluetooth in the communication format of #speed, time, heading angle@, and the robot will start to move according to the command. The APP will also display the sent command in the "Sent Data" label prompt box. The command is #0.05,2.05,24.13@, where 0.05 is the speed (m / s), 2.05 is the distance (m), and 24.13 is the heading angle (°).
[0131] S3: Apply the dynamic window method (DWA) to find the local path. The displacement is very short, so the motion between two adjacent points can be regarded as a straight line. The omnidirectional mobile car can decompose its state vector into three velocity vectors:
[0132] ;
[0133] is the state vector of the car, is the velocity vector in the x-axis direction, is the velocity vector in the y-axis direction, is the angular velocity vector in the z-axis direction.
[0134] Among them The generated robot's X, Y two-dimensional plane coordinates in the world coordinate system are:
[0135] ;
[0136] Depend on The generated robot's X, Y two-dimensional plane coordinates in the world coordinate system are:
[0137] ;
[0138] And then by The generated robot's X, Y two-dimensional plane coordinates and posture changes in the world coordinate system are:
[0139] ;
[0140] in Unit time The inner car attitude angle is the angle between the positive x-axis direction of the car and the x-axis of the world coordinate system.
[0141] S4: Gyroscope, encoder motor, laser radar calibrate the vehicle vector posture to keep the vehicle moving in a fixed posture without yaw angle. In the structural design of the Mecanum robot, in order to meet the use principle of Mecanum wheels, the robot adopts a four-wheel drive four-way configuration. Each Mecanum wheel is controlled by an independent motor, thus realizing the robot's 360° full-range movement. It enables it to move freely in the horizontal plane, providing extremely high flexibility.
[0142] Secondly, in order to ensure that at least one roller is always in contact with the ground when the robot moves, the center axis of the wheel hub is kept at a constant distance from the ground during movement. The robot adopts a coaxial suspension structure, which not only improves space utilization, but also reduces costs, and can ensure that the four wheels touch the ground at the same time, thus meeting the requirements of smooth and efficient movement. The plane design of the robot chassis is shown in Figure 3 The bottom plate is divided into a front plate and a back plate, and the empty space between the two plates is used to install the coaxial double-board connector. Figure 3 .
[0143] Among them, in the omnidirectional mobile robot, a coaxial connector 3 is arranged between the rear plate 1 of the motor trolley chassis and the front plate 2 of the motor trolley chassis; a laser radar base plate 4 is fixed on the front plate 2 of the motor trolley chassis; the coaxial connector 3 is connected to the DC reduction encoder motor 5 through an axis, the DC reduction encoder motor 5 is on the fixed motor bracket 6, and the Mecanum wheel 12 is driven by the DC reduction encoder motor 5 through the coupling 14, and a 2D laser radar 7, a main control unit 8, a battery compartment 9, a Bluetooth module 10, a gyroscope module 11, a motor drive unit 13, and a 12V lithium battery 15 are arranged on the front plate 2 of the motor trolley chassis; they are used to control the movement of the trolley.
[0144] Finally, in order to reduce vibration during movement, the outer contour of the outer shape of the wheel roller should be an approximate circular curve to reduce vibration during movement. Therefore, in terms of appearance, the robot adopts a square structure, and the distance from the four-wheel rotation axis to the rotation center of the car is equal and fixed. This design enables the robot to meet the aforementioned motion stability requirements.
[0145] This structural robot can simultaneously meet the three requirements of the Mecanum wheel usage principle.
[0146] As for the installation method of Mecanum wheels, the robot adopts O-square installation. The four wheels are located at the four vertices of the square, and there is no problem with translation and rotation. However, due to factors such as the shape and size of the robot chassis, this installation method is the most ideal situation. Figure 4 .
[0147] S5: Perform inverse kinematics solution to plan the vector speeds of the four wheels, and detect the speeds of the four motors in real time to achieve closed-loop speed control.
[0148] Square-O wheat wheel trolley schematic diagram see Figure 5 , four McDonnell Douglas wheels are installed parallel to the X-axis. Starting counterclockwise from the upper left corner of the trolley, the four McDonnell Douglas wheels are numbered 1, 2, 3, and 4. r is the hub radius, θn is the angle between the roller axis of McDonnell Douglas wheel n and the X-axis (that is, the offset installation angle of the roller, which is 45°), and Xn, Yn is the center point position of McDonnell Douglas wheel n.
[0149] According to the inverse kinematics equation, we hope to solve the speed and direction of the four wheels through the final motion state of the car. The forward kinematics equation estimates the overall motion state of the car based on the motion state of the four wheels, so we must first decompose the final motion state of the car into motion in the X-axis direction, motion in the Y-axis direction, and rotation in the Z-axis direction.
[0150] X-axis movement:
[0151] When moving forward, only four motors are needed to rotate the McLennan wheel in the positive direction of the X-axis with the hub axis as the center of the circle. When moving backward, only four motors are needed to rotate the McLennan wheel in the negative direction of the X-axis with the hub axis as the center of the circle. At this time, the expected speed of the chassis is only the speed in the direction of the X-axis, and V is the state vector of the car.
[0152] ;
[0153] The expected rotation speed of the four wheat wheels at this time can be obtained, and kx is a coefficient that needs to be adjusted according to actual conditions.
[0154] ;
[0155] ;
[0156] ;
[0157] .
[0158] Movement in the Y-axis direction:
[0159] When the car needs to move along the positive direction of the Y axis, wheels 1 and 3 rotate along the hub axis in the negative direction of the X axis, and wheels 2 and 4 rotate along the hub axis in the positive direction of the X axis; when the car needs to move along the negative direction of the Y axis, wheels 1 and 3 rotate in opposite directions to wheels 2 and 4. At this time, the chassis's expected speed is only the speed in the Y axis direction, and the car's state vector is:
[0160] ;
[0161] The expected rotation speeds of the four wheat wheels can be obtained at this time. Ky is a coefficient that needs to be adjusted according to actual conditions.
[0162] ;
[0163] ;
[0164] ;
[0165] .
[0166] Rotation in Z direction:
[0167] First of all, the Z axis is the positive direction with the intersection of XY pointing to the top of the car. If the car needs to rotate counterclockwise, wheels 1 and 2 rotate in the positive direction of the X axis, and wheels 3 and 4 rotate in the negative direction of the X axis; if it rotates clockwise, wheels 1 and 2 rotate in opposite directions to wheels 3 and 4.
[0168] The state vector of the car at this time is:
[0169] ;
[0170] The rotation speeds of the four wheat wheels are:
[0171] ;
[0172] ;
[0173] ;
[0174] ;
[0175] Where a is the distance from any one of the wheat wheels to the X-axis, and b is the distance from any one of the wheat wheels to the Y-axis.
[0176] Synthesis speed:
[0177] Based on the above, the state vector of the car can be:
[0178] ;
[0179] The corresponding final wheat wheel speed is:
[0180] ;
[0181] S6: Cascade PID speed regulation, using odometer, inertial measurement unit and 2D laser radar to calibrate the car's posture in three dimensions, and three-level PID speed regulation. Ensure that the car's posture remains unchanged while moving, and the speed is constant. When controlling the robot, although the single-level PID can enable the system to accurately realize the closed loop of rotation angle control, it cannot control the speed of each wheel and the route distance while controlling the angle. At this time, multi-level PID superposition is required. The robot adopts three-level PID feedback control, inertial measurement unit, odometer, 2D laser radar, respectively. The feedback data are the current car's posture angle yaw, the speed of each wheel Vn and the edge distance dis of each angle. The same-level joint control adjustment is adopted to jointly realize the indoor positioning of the car, thereby ensuring the stability of the robot when driving along the planned path, so as to realize the control closed loop.
[0182] The control logic is as follows: first, set the proportional parameters Kp[n], Ki[n], and Kd[n] of the n-level PID. Then, obtain the proportional difference P[n], integral value I[n], and differential value D[n] corresponding to the current level respectively; the speed increment Vadd[n] corresponding to the current level can be obtained through the PID calculation formula in the previous article; the sum of the n-level speed increments and the original speed is the current speed value. See the logic block diagram for details. Figure 6 .
[0183] S7: Maintain a fixed posture and move in all directions. Control the unmanned vehicle to move a certain distance with a fixed posture and a specified vector speed. The robot achieves omnidirectional movement with a fixed chassis posture by calculating the ideal speed of each of the four wheels through the specified speed V, moving distance D, and heading angle dir. Then, the speed V is decomposed into the components of the horizontal direction Vx and the vertical direction Vy through the inverse kinematics solution mentioned above, and the heading angle dir is used in combination with the set speed coefficients (Kx and Ky) and the position parameters of the wheels relative to the center of the vehicle body (a and b) to determine the speed components of each wheel. After calculating these speed components, the speed of the car is continuously adjusted through the set PID control parameters. The PID controller is used to adjust the speed and angle respectively. The speed PID adjusts the speed of the four wheels, while the angle PID is responsible for adjusting the actual posture of the car, so that the robot always maintains a fixed posture during movement. By adjusting the PWM signal to the motor, the speed of each wheel is finely controlled. At the same time, the speed adjustment caused by the angle deviation is taken into account to ensure that the car can maintain a fixed chassis posture even during movement.
[0184] S8: Determine whether there are dynamic or static obstacles. During the movement, use the laser radar to determine whether there are vector obstacles on the moving path. If there are, continue to S9. If not, repeat S7.
[0185] S9: Apply the improved dynamic window method DWA to replan the path. The traditional DWA algorithm includes converting the Cartesian coordinates (x, y) into a velocity vector space consisting of a set of robot velocities according to the limited velocity and acceleration constraints of the robot model itself, and the linear travel velocity and the rotational angular velocity form a velocity pair (v, ω).
[0186] The improvement is to use the state vector of the omnidirectional robot Substitute (v, ω). According to the motion model established in step 21, different state vectors The motion trajectory is scored and the evaluation function is used to evaluate the quality of the motion trajectory. During the movement, the posture of the car remains unchanged, that is, is constant, so the trajectory of the car in two-dimensional space is determined only by , Linear determination, and thus the state vector of the omnidirectional robot of this model Each corresponds to a unique trajectory.
[0187] S10: Perform speed sampling within a certain period of time and generate a corresponding path in a window, wherein the window is constrained according to the speed sampling results corresponding to the subsequent related constraints. Each state vector of the robot at time Each of them corresponds to a unique trajectory, so it is necessary to sample the velocity vector space and then generate the corresponding trajectory based on the sampled velocity.
[0188] The hardware performance of the mobile robot is limited, its speed and angular velocity are limited, and a braking distance needs to be reserved, so the speed vector space value constraint limit can be expressed as:
[0189] The DWA speed constraint is: in are the minimum and maximum linear velocities of the mobile robot, are the minimum and maximum angular velocities of the mobile robot.
[0190] The corresponding improved omnidirectional robot DWA speed constraints are as follows:
[0191] ;
[0192] Because this omnidirectional robot uses a Mecanum wheel structure, it is limited by the physical structure and the speed in the x-axis direction Limit and y-axis speed The difference is large, so restricted decomposition is required. is the angular velocity in the z-axis direction and the original The restrictions are the same.
[0193] The acceleration and deceleration performance of the mobile robot is constrained by the performance of the motor. The improved corresponding omnidirectional mobile robot acceleration constraints are as follows:
[0194] ;
[0195] in, is the current X-axis speed, Y-axis speed and angular velocity of the mobile robot, is the maximum acceleration and deceleration of the mobile robot in the X-axis direction and the Y-axis direction, are the maximum deceleration and maximum acceleration of the angular velocity of the mobile robot.
[0196] The improved reserved braking distance constraint of the corresponding omnidirectional mobile robot is as follows:
[0197] ;
[0198] in, is the sampling velocity state vector The corresponding trajectory has the shortest distance from the obstacle.
[0199] S11: Use the improved evaluation function to evaluate the planned path and select the optimal path. The improved DWA evaluation function is as follows:
[0200] ;
[0201] in, is the azimuth evaluation function, which represents the angle difference between the robot’s current position and the target point. is the distance between the robot and the nearest obstacle, is the velocity corresponding to the trajectory. The first three are the same as the traditional DWA evaluation function. The improved DWA evaluation function adds , the posture evaluation factor, represents the robot posture offset in the current trajectory. are the weighted coefficients of the evaluation factors of angle, distance, speed and posture respectively. To normalize the three factors.
[0202] Divide the evaluation factors corresponding to each speed pair by The sum of this factor for all trajectories in is as follows:
[0203] ;
[0204] ;
[0205] ;
[0206] ;
[0207] Where n is The number of trajectories sampled in time, i is the current trajectory participating in the evaluation function.
[0208] S12: Arrive at the target node. If the node is the end point, end the process. If the node is not the end point, repeat steps S3 to S11.
[0209] Embodiment 2:
[0210] The present invention discloses a local path planning method for a fixed-attitude omnidirectional mobile robot based on an improved DWA algorithm, comprising a local path selection module, a speed pair selection module, a speed evaluation module, a cascade PID speed regulation module, a BLE Bluetooth communication module, an odometer inertial navigation unit module and a power module, and the system can execute the method disclosed in Example 1 to perform local path planning for the robot.
[0211] In this embodiment, the improved DWA algorithm is used for local path planning to obtain a local optimal path. If a dynamic obstacle appears during the robot's driving, local obstacle avoidance is started. A circle is drawn with the robot as the center point and twice the distance between the robot and the obstacle as the radius. The target node is sequentially connected to the unit time. The new dynamic nodes generated in the robot are connected to form a dynamic path, and the robot maintains a fixed posture and moves to the target node, thereby achieving dynamic obstacle avoidance. If there is no obstacle, the robot continues to maintain a fixed posture and moves to the target node, accumulating movement displacement in its own reference system until it reaches the target point. Figure 7-9 .
[0212] The distance is accumulated through its own reference system to determine whether it has reached the target point. Different from the traditional path planning method, since the posture of the robot is always fixed, the robot's reference system is the robot itself, the coordinate origin is the starting position of the car, and the coordinate axis of the reference reference system coincides with the coordinate axis of the car, that is, the positive direction of the X-axis is directly in front of the car, and the positive direction of the Y-axis is directly to the left of the car. In this reference reference system, the robot's starting position is (0,0), the target position is (EndX,EndY), the heading angle Dir is the angle between the target position and the positive direction of the X-axis, and the target distance Dis is the straight-line distance between the two points.
[0213] In the absence of obstacles, the robot can reach the target point by driving the specified distance Dis in the direction of the heading angle Dir, that is, the instruction #Speed, Dis, Dir@. However, when there are obstacles, the robot needs to bypass the obstacles and then set off to the target point.
[0214] In order to detect the surrounding environment in real time, the robot needs to collect environmental data every certain period of time or every time it travels a certain distance. In the program, this sampling interval is named GapDis, and the default value is 0.05m, that is, the robot detects the current environment every 5cm it travels. If turning is required, the current heading angle of the car is set to Ang, that is, the instruction #Speed, GapDis, Ang@.
[0215] In the process of traveling from the starting point to the target point, the car may experience several turns. After each turn, the projection Xn and Yn of the distance the car has traveled on the XY coordinate axis can be calculated based on each small straight path Ln (for example, when GapDis=0.05, the length of the small straight path is 5cm) and the corresponding steering angle Angn. By adding Xn and Yn together, the current car coordinates NowX and NowY can be calculated, that is:
[0216] ;
[0217] After obtaining the current coordinates of the car (NowX, NowY), the next heading angle of the car can be calculated:
[0218] ;
[0219] If there is an obstacle ahead, the robot will drive a short distance in the Ang direction. If there is no obstacle ahead, the robot will drive a short distance in the Dir direction until the robot reaches the vicinity of the target point. The navigation ends. The control logic is shown in Fig. 9 .
[0220] Embodiment 3:
[0221] Taking the implementation scenario in the real scene as an example, the method disclosed in Example 1 and Example 2 is executed to perform the local path planning of the robot. Figure 10-12 .
[0222] The car in the environment collection map corresponds to the mobile simulation result of the robot's current location Figure 10-12 ; After clicking on the environment collection map, the robot will move to the clicked position and calculate the heading angle between the two positions and the distance between the two points. Then you can enter the desired robot movement speed in the "Current Speed" text input box. For example, if you set the speed to 0.05m / s, the APP will calculate the distance between the two points to be 2.05m and the heading angle to be 24.13°.
[0223] After calculating the robot's speed, moving time, and heading angle, the robot will be sent a string of instructions via Bluetooth in the communication format of #speed, time, heading angle@, and the robot will start to move according to the instructions. The APP will also display the sent instructions in the "Sent Data" label prompt box. The instructions are #0.05,2.05,24.13@, where 0.05 is the speed (m / s), 2.05 is the distance (m), and 24.13 is the heading angle (°). From the position of the robot after running the instructions, it can be seen that the positioning accuracy is still very high. See Figure 10-12 .
[0224] The above are only preferred specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A local path planning method for a fixed-position omnidirectional mobile robot based on an improved DWA algorithm, characterized in that: include: Acquire environmental data, wherein the environmental data is point cloud data of the surrounding environment collected by a laser radar; Modeling the environmental data to obtain a three-dimensional map model, in which the initial position and final position of the omnidirectional robot are used as the starting point and the target point; Construct a motion model of the omnidirectional mobile robot and determine the local path of the omnidirectional mobile robot; The motion model of the omnidirectional mobile robot includes a unit time and a state vector, wherein the state vector includes a velocity vector in the x-axis direction, a velocity vector in the y-axis direction, and an angular velocity vector in the z-axis direction, wherein the state vector represents the velocity, the x-axis direction is the front direction of the omnidirectional mobile robot, the y-axis direction is the left direction of the robot, and the z-axis direction is the direction from the intersection of the x-axis and the y-axis to the top of the robot; The process of obtaining the local path includes: calculating the moving path of the global mobile robot in unit time according to the state vector to obtain the local path of the omnidirectional robot; According to the starting point and the target point, the direction of the target point is obtained, the omnidirectional mobile robot is controlled to move in the direction of the target point, and when an obstacle appears during the movement, the speed of the omnidirectional mobile robot is sampled according to the motion model, and the planned path is obtained according to the local path and the speed sampling result; wherein, the motion of the omnidirectional mobile robot is analyzed by a kinematic inverse solution method according to the state vector, the motion information of the omnidirectional robot corresponding to the state vector is obtained, and the omnidirectional robot is controlled to move according to the motion information; The speed sampling process includes taking the constraint condition as the value range, and randomly assigning the state vector within the value range to obtain a number of randomly assigned state vectors, wherein the constraint condition includes the DWA speed constraint of the omnidirectional mobile robot, the acceleration constraint of the omnidirectional mobile robot, and the reserved braking distance constraint of the omnidirectional mobile robot, and different constraint conditions are different value ranges of the state vector; The process of acquiring the planned path includes: calculating the corresponding local path according to the state vector after random assignment, taking the end point of each local path as the starting node, re-sampling the speed, and calculating the local path of the re-speed sampling, repeating the above process until the end point of the last local path, i.e., the target node, is not within the obstacle avoidance range, connecting the end points of the associated local paths as dynamic nodes, and obtaining a plurality of planned paths, wherein the obstacle avoidance range is a circular range with the omnidirectional robot as the center point and twice the distance between the omnidirectional robot and the obstacle as the radius; The planned path is evaluated by improving the DWA algorithm, and an obstacle avoidance path is obtained based on the evaluation result; The process of evaluating the planned path includes: evaluating the planned path by improving the evaluation function in the DWA algorithm, wherein the evaluation function is a calculation result of a weighted sum of normalized different evaluation indicators, and the evaluation indicators include: an angle difference between a current position of the omnidirectional robot and a target point, a distance between the omnidirectional robot and an obstacle, a speed of the omnidirectional robot in the planned path, and a posture offset of the robot in the planned path; The obstacle avoidance path acquisition process includes: selecting a planned path corresponding to the smallest value in the evaluation result as the obstacle avoidance path; The omnidirectional mobile robot performs obstacle avoidance movement according to the obstacle avoidance path, and after the obstacle avoidance movement, moves in the direction of the target point until the target point is reached; The obstacle avoidance movement process includes controlling the omnidirectional robot to pass through each dynamic node in the obstacle avoidance path to move to the target node by adjusting the state vector; The process of moving in the direction of the target point includes: calculating the direction of the target node and the target point, and controlling the omnidirectional robot to move along the direction of the target node and the target point until reaching the target point.
2. The method according to claim 1, characterized in that The process of determining the starting point and the target point includes: A moving instruction is transmitted to the omnidirectional mobile robot through a mobile terminal, wherein the moving instruction includes a moving speed, a moving time and a heading angle. The starting position of the omnidirectional mobile robot is taken as a starting point, and a target point is obtained by calculating the moving speed, the moving time and the heading angle based on the starting point.
3. The method according to claim 1, characterized in that: The omnidirectional mobile robot adopts a Mecanum wheel car. During the movement of the omnidirectional mobile robot, the motion of the omnidirectional mobile robot is analyzed by a kinematic inverse solution method to obtain the rotation speed information of each wheel of the Mecanum wheel car, and the Mecanum wheel car is moved by a three-level PID feedback control according to the rotation speed information; wherein the three-level PID feedback control includes an inertial measurement unit feedback control, an odometer feedback control and a laser radar feedback control.
4. The method according to claim 1, characterized in that: The process of evaluating the planned path includes: The planned path is evaluated by improving the evaluation function in the DWA algorithm, where the evaluation function for: ; in, is the azimuth evaluation function, which represents the angle difference between the robot’s current position and the target point. is the distance between the robot and the nearest obstacle, is the velocity corresponding to the trajectory, is the posture evaluation factor, which represents the robot posture offset in the current trajectory; are the weighted coefficients of the evaluation factors of angle, distance, speed and posture respectively. Indicates the normalization of the four factors. is the velocity vector in the x-axis direction, is the velocity vector in the y-axis direction, is the angular velocity vector in the z-axis direction.
5. The method according to claim 1, characterized in that When the path accumulation result of the omnidirectional mobile robot is the same as the coordinate position of the target point, the target point is reached.
Citation Information
Patent Citations
Omnidirectional mobile robot path planning algorithm based on pedestrian trajectory prediction
CN107643752A
Path planning method for realizing real-time obstacle avoidance of wheeled mobile robot
CN112378408A
Path planning algorithm of indoor mobile robot
CN112486183A
Dynamic avoidance method and mobile robot
CN114200943A
Navigation obstacle avoidance control method, system and model combining path planning and reinforcement learning
CN114564016A