Autonomous navigation method, system and storage medium for mobile robots without maps
By combining robot kinematic modeling and local environment modeling, a trajectory that meets safety requirements is generated, which solves the problems of low efficiency and insufficient safety of traditional navigation methods in dynamic environments, and achieves efficient and safe map-free autonomous navigation.
Patent Information
- Application Number
- CN202510139318.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-08
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-02-08
AI Technical Summary
Traditional navigation methods are highly dependent on the environment, resulting in low navigation efficiency and insufficient safety in dynamic environments. Existing map-free autonomous navigation technologies are unable to effectively cope with environmental changes and uncertainties.
Combining robot kinematic modeling, local environment modeling, trajectory generation and screening, and real-time updates through grid maps and laser sensors, trajectories that meet safety requirements are generated to enable the robot to navigate autonomously in a dynamic environment.
It enables efficient and safe navigation of robots in dynamic environments without the support of a global map, with higher safety and adaptability, and is suitable for warehousing logistics, unmanned delivery and other fields.
Smart Images

Figure CN120088419B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot navigation technology, and in particular to a method and system for autonomous navigation of a mobile robot without a map. Background Art
[0002] Autonomous navigation technology for mobile robots is a key research area in robotics, with widespread applications in industrial automation, warehousing and logistics, service robotics, and autonomous driving. Traditional navigation methods typically rely on pre-built global maps and path planning algorithms to determine the robot's route. However, this approach is highly dependent on the environment. Once the environment changes, the map's accuracy and usability will significantly decrease, leading to reduced navigation efficiency and even mission failure.
[0003] To address this issue, map-free autonomous navigation technology has become a research hotspot in recent years. This technology relies on sensors to perceive the surrounding environment in real time, dynamically constructing local maps. Combined with path planning and motion control algorithms, it enables autonomous navigation of robots in unknown or complex environments. Devices such as lidar, ultrasonic sensors, and cameras play a crucial role in environmental perception, rapidly acquiring obstacle locations and surrounding spatial information, providing fundamental data support for navigation. Furthermore, grid-map-based environmental modeling methods, with their simple and intuitive representation and efficient computational capabilities, have become a mainstream choice for local environmental modeling.
[0004] However, in map-free navigation, robots need to cope with the dynamic changes and uncertainty of the environment, so safety and real-time performance have become key challenges in the development of the technology. For example, robots need to quickly avoid obstacles while maintaining a smooth trajectory. Summary of the Invention
[0005] To solve the above technical problems, the present invention provides a method, system and storage medium for autonomous navigation of mobile robots in a map-free environment. By innovatively combining robot kinematic modeling, local environment modeling, trajectory generation and screening, and trajectory scoring, the present invention enables efficient and safe navigation of robots in dynamic environments, thus filling the gaps in existing technologies.
[0006] In order to solve the above technical problems, the present invention adopts the following technical solutions:
[0007] A method for autonomous navigation of a mobile robot without a map, comprising:
[0008] Establish the robot kinematic model based on the robot's nonholonomic constraints, robot physical parameter constraints, and robot state parameters;
[0009] Generate a candidate set of robot-travelable trajectories based on the kinematic model and motion constraints;
[0010] Construct a single-frame grid map, divide the local environment into grids, map the trajectory to the grid map, and record the grids occupied by the trajectory; use the laser sensor to update the local environment information in real time, and if there is an obstacle in the grid, mark it as the grid occupied by the obstacle;
[0011] Expand the grid area occupied by the obstacle based on the robot size and safety margin; select a trajectory that meets the safety requirements from the trajectory candidate set, that is, the grid area occupied by the trajectory has no intersection with the grid area occupied by the obstacle;
[0012] The trajectories that meet the safety requirements are scored and selected based on the angle difference, and the optimal trajectory is selected to drive the robot movement.
[0013] In one embodiment, the robot is regarded as a rigid body structure, and the non-holonomic constraints of the robot include: the robot can only move along its own driving direction and cannot achieve lateral sliding; the robot physical parameter constraints include the robot's maximum linear velocity and maximum steering angular velocity; the robot's state parameters include the robot chassis center of mass coordinates, heading angle, linear velocity and steering angular velocity.
[0014] In one embodiment, generating a candidate set of robot drivable trajectories based on the kinematic model and motion constraints specifically includes:
[0015] Based on the kinematic model and motion constraints, multiple trajectories with different speeds and steering angular velocities are calculated; each trajectory consists of three trajectory units;
[0016] Trajectory unit generation process: select the robot's linear speed, define the robot's maximum steering angle angle, and set the steering angle sampling accuracy per_angle = angle / angle_scale, thereby generating angle_scale * 2 + 1 groups of the first segment trajectory units, where angle_scale is the variable number of the robot's steering angle;
[0017] The trajectory unit generation process is repeated for the second and third trajectory units, wherein the end position and end angle of the previous trajectory unit are used as the starting position and starting angle of the next trajectory unit, and finally the candidate set of the trajectory is obtained.
[0018] In one embodiment, constructing a single-frame grid map, dividing the local environment into grids, mapping the trajectory to the grid map, and recording the grids occupied by the trajectory specifically includes:
[0019] The laser sensor collects distance data from objects around the robot, which is then processed and mapped into the robot coordinate system to generate a local environment centered on the robot's current position. The robot's local environment is divided into grids to form a single-frame grid map. Each trajectory in the candidate trajectory set is mapped onto the single-frame grid map. The grid in which the trajectory point falls and the grid numbers within the radius of the robot chassis around the trajectory point are recorded to obtain the grid set occupied by the trajectory.
[0020] In one embodiment, the local environment of the robot is a square area with the midpoint of the front end of the robot chassis as the center and a side length of a set value.
[0021] In one embodiment, the method of using a laser sensor to update local environment information in real time and marking a grid occupied by an obstacle as the grid if one exists includes:
[0022] The status of each grid is determined based on the measurement results of the laser sensor. If there is an obstacle in the grid, it is marked as a grid occupied by the obstacle; if there is no obstacle in the grid and the robot can pass through it, it is marked as a free grid.
[0023] In one embodiment, the step of expanding the range of the grid occupied by the obstacle according to the size of the robot and the safety margin specifically includes:
[0024] The expansion value is set according to the robot size and safety margin. The expansion is based on the Euclidean distance. That is, the grid occupied by each obstacle is taken as the center and the expansion value is used as the radius to expand outward. All free grids falling within the expansion range are re-labeled as grids occupied by obstacles.
[0025] In one embodiment, the scoring and selecting of trajectories that meet safety requirements based on the angle difference, and selecting the optimal trajectory to drive the robot movement, specifically includes:
[0026] In the robot's coordinate system, the angle between the target point and the robot's moving direction is defined as goalDir, and the angle between the trajectory endpoint and the robot's moving direction is defined as MPDir. The score of the current trajectory is:
[0027]
[0028] The angle difference angDiff = |goalDir - MPDir|. The smaller the angle difference, the closer the end point of the current trajectory is to the direction of the target point.
[0029] Traverse each trajectory that meets the safety requirements and take the trajectory with the highest score as the optimal trajectory.
[0030] A map-free autonomous navigation system for a mobile robot, comprising:
[0031] The model building module builds the robot kinematic model based on the robot's nonholonomic constraints, robot physical parameter constraints, and robot state parameters;
[0032] The trajectory generation module generates a candidate set of trajectories that the robot can travel based on the kinematic model and motion constraints;
[0033] The grid annotation module constructs a single-frame grid map, divides the local environment into grids, maps the trajectory to the grid map, and records the grids occupied by the trajectory. It uses laser sensors to update local environment information in real time. If there is an obstacle in the grid, it is marked as the grid occupied by the obstacle.
[0034] The grid expansion module expands the grid occupied by obstacles according to the robot size and safety margin; it selects trajectories that meet safety requirements from the trajectory candidate set, that is, the grid set occupied by the trajectory has no intersection with the grid set occupied by the obstacle;
[0035] The scoring module scores and selects the trajectories that meet the safety requirements based on the angle difference, and selects the optimal trajectory to drive the robot movement.
[0036] The system of the present invention corresponds to the method, and the preferred embodiments applicable to the method are also applicable to the system.
[0037] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the method in any one of the embodiments.
[0038] Compared with the prior art, the beneficial technical effects of the present invention are:
[0039] The present invention can be widely used in warehousing and logistics, unmanned delivery, security patrol and other fields, and can realize autonomous navigation of robots in dynamic environments without the support of global maps.
[0040] The present invention can define obstacle avoidance rules according to different conditions, making the design and implementation of strategies more intuitive and understandable; the present invention can achieve rapid decision-making and control in scenarios with high real-time requirements, with a fast response speed; the present invention has higher security, adaptability and navigation efficiency, filling the deficiencies of existing methods in navigating in dynamic environments, and providing technical support for the promotion of mobile robots in practical applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 Schematic diagram of the navigation method flow in an embodiment of the present invention;
[0042] Figure 2A schematic diagram of a robot's traversable trajectory generated in an embodiment of the present invention;
[0043] Figure 3 This is a grid map trajectory point occupancy diagram in an embodiment of the present invention;
[0044] Figure 4 Schematic diagram of the first segment trajectory unit output in an embodiment of the present invention. DETAILED DESCRIPTION
[0045] A preferred embodiment of the present invention will be described in detail below with reference to the accompanying drawings.
[0046] like Figure 1 As shown, the present invention provides a method for autonomous navigation of a mobile robot without a map, specifically comprising the following steps:
[0047] Step S1, establishing a robot kinematic model based on the robot's nonholonomic constraints, robot's physical parameter constraints, and robot's state parameters.
[0048] Step S2: generating a candidate set of trajectories for the robot to travel based on the kinematic model and motion constraints.
[0049] Step S3: construct a single-frame grid map, divide the local environment into grids, map the trajectory to the grid map, and record the grids occupied by the trajectory; use the laser sensor to update the local environment information in real time. If there is an obstacle in the grid, it is marked as the grid occupied by the obstacle.
[0050] Step S4: Expand the range of the grids occupied by the obstacle according to the robot size and the safety margin; select a trajectory that meets the safety requirements from the trajectory candidate set, that is, the grid set occupied by the trajectory has no intersection with the grid set occupied by the obstacle.
[0051] Step S5: Score and select the trajectories that meet the safety requirements based on the angle difference, and select the optimal trajectory to drive the robot to move.
[0052] By comprehensively utilizing technologies such as robot kinematic modeling, local environment modeling, trajectory generation and screening, and trajectory scoring, this paper designs an efficient, real-time, and secure autonomous navigation solution suitable for mobile robots in dynamic and complex environments. This solution addresses the problems of traditional navigation methods' dependence on global maps, as well as their low navigation efficiency and insufficient safety in dynamic environments.
[0053] In one embodiment, the robot is regarded as a rigid body structure, and the non-holonomic constraints of the robot may include: the robot can only move along its own driving direction and cannot achieve lateral sliding; the robot physical parameter constraints may include the robot's maximum linear velocity and maximum steering angular velocity; the robot's state parameters may include the robot chassis center of mass coordinates, heading angle, linear velocity and steering angular velocity.
[0054] The present invention establishes a suitable robot kinematic model based on the physical model of the robot chassis. It can be assumed that the mobile robot is a rigid body structure, and its motion satisfies non-holonomic constraints, that is, the robot can only move along its own driving direction and cannot achieve lateral sliding. The state of the robot includes position and direction angle, and the kinematic model is established by describing the changing relationship of the center of mass coordinates of the robot chassis and the dynamic change of the heading angle. The motion state of the mobile robot is jointly determined by the linear velocity and the steering angular velocity, wherein the linear velocity is used to describe the forward or backward movement of the robot along the driving direction, and the steering angular velocity is used to describe the steering change of the robot. In addition, the motion of the robot must meet the constraints of physical parameters, including the limits of the maximum linear velocity and the maximum steering angular velocity. Through such modeling, the motion behavior of the robot can be accurately described, and theoretical support can be provided for functions such as path planning and trajectory tracking.
[0055] In one embodiment, generating a candidate set of robot drivable trajectories based on the kinematic model and motion constraints in step S2 specifically includes:
[0056] Based on the kinematic model and motion constraints, multiple trajectories with different speeds and steering angular velocities are calculated; each trajectory consists of three trajectory units;
[0057] Trajectory unit generation process: select the robot's linear velocity, define the maximum steering angle angle of the mobile robot, and set the steering angle sampling accuracy per_angle = angle / angle_scale, thereby generating angle_scale * 2 + 1 groups of the first segment trajectory units, where angle_scale is the variable number of the robot's steering angle;
[0058] The trajectory unit generation process is repeated for the second and third trajectory units, wherein the end position and end angle of the previous trajectory unit are used as the starting position and starting angle of the next trajectory unit, and finally a candidate set of trajectories is obtained.
[0059] Based on the robot's kinematic model, a series of trajectories that meet the motion constraints are generated through sampling, providing a decision-making basis for path planning and real-time control. The sampling process takes into account the robot's dynamic characteristics, turning radius, and maximum speed and maximum acceleration limits to ensure the feasibility of the generated trajectory. First, based on the robot's kinematic model and dynamic constraints, multiple trajectories with different speeds and steering angular velocities are calculated. This process generates three trajectory units through offline sampling. The length constraint of each trajectory is set to 1 meter by default and can be modified according to different robot chassis models. The sampling accuracy of each trajectory can also be set. For example, for a differential robot, the sampling steering angular velocity range of a single trajectory unit is set to plus or minus π / 3 (in rad / s), and the accuracy is 1 / 6 of the total sampling angle range (i.e., angle_scale = 6). Each trajectory unit will have 13 different sampling directions, recorded as 13 groups, each with a corresponding group number groupID. Each trajectory consists of three segments, resulting in 169 (13 × 13) trajectories per group, for a total of 2197 (13 × 13 × 13) trajectories. Each trajectory is assigned a pathID. Each point on the trajectory is sampled every 0.1 seconds and saved to a data file for subsequent navigation. For the Ackerman chassis robot, the steering angular velocity sampling range for each segment is set to ±π / 6 (in rad / s), with the same accuracy as for the differential robot.
[0060] The specific method of using C++ to simulate offline trajectory generation is as follows: define the maximum steering angle of the mobile robot as angle, the steering angle sampling accuracy per_angle = angle / 6, so angle_scale = 6, and 13 (angle_scale×2+1) groups of trajectory units can be generated. Taking the first trajectory unit group as an example, the linear speed of the robot is selected as vehicleV, and the steering angular velocity is -angle to angle (angle in the previous text is the maximum steering angle. Here, the maximum steering angle is divided by the unit time, and the value of the maximum steering angular velocity obtained is also angle). The length dis of each trajectory unit is 1 meter. Define a two-dimensional vector type variable path_list1 to store the sampling points of the first segment of the trajectory unit group, and define vector type variables endPoint_list1 and endYaw_list1 to store the end position and end angle of the first segment of the trajectory unit respectively.
[0061] angle_scale is the variable number of steering angles of the robot. The robot can turn left at angle_scale different angles and turn right at angle_scale different angles. There are a total of angle_scale×2+1 selectable steering angles, thus generating corresponding angle_scale×2+1 groups of trajectory units.
[0062] Table 1, the generated code of the first segment trajectory unit:
[0063]
[0064] The code for generating the first trajectory unit is shown in Table 1. The first four lines of code in Table 1 define variables for storing the origin, the position of the path point on the first trajectory unit, the end point of the first trajectory unit, and the robot's orientation at the end of the first trajectory unit. The one_shift_cal() function in line 5 generates the trajectory based on the parameters mentioned above, such as angle, according to the rules in Table 2, and writes it to the corresponding variables.
[0065] The one_shift_cal() function is then used to generate a corresponding trajectory for each steering angular velocity. The trajectory is then uniformly sampled dis / vehicleV times from 0 to the length of the trajectory unit dis. This data is stored in the vector path_list1[i], along with the endpoint position and angle. The code for the one_shift_cal() function is shown in Table 2.
[0066] Table 2, code for the one_shift_cal() function:
[0067]
[0068] The code in Table 2 begins with a first-level loop, iterating through each steering angular velocity from the origin to generate the corresponding trajectory. Line 3 records the current steering angular velocity i_angle reached during the first-level loop. Line 4 sets the origin as the starting point for the generated trajectory. The variable in line 5 records the robot's orientation at the starting point, and the variable in line 6 records the current trajectory. Lines 7 to 13 then enter a second-level loop, which iterates through the generated path points. Finally, lines 14 to 16 populate the corresponding variables with the corresponding content.
[0069] The first segment of the output trajectory unit is as follows Figure 4 shown.
[0070] The second and third track units are also generated by loop iteration using the one_shift_cal() function. The end position and end angle of the previous track unit are the starting position and starting angle of the next track unit. Figure 2 The robot can travel along the trajectory shown.
[0071] In one embodiment, in step S3, a single-frame grid map is constructed, the local environment is divided into grids, the trajectory is mapped to the grid map, and the grid occupied by the trajectory is recorded, specifically including:
[0072] The laser sensor collects distance data from objects around the robot, which is then processed and mapped into the robot coordinate system to generate a local environment centered on the robot's current position. The robot's local environment is divided into grids to form a single-frame grid map. Each trajectory in the candidate trajectory set is mapped onto the single-frame grid map. The grid in which the trajectory point falls and the grid numbers within the radius of the robot chassis around the trajectory point are recorded to obtain the grid set occupied by the trajectory.
[0073] Using laser sensors to construct a single-frame grid map is an important step in the map-free autonomous navigation of mobile robots. It aims to use the observation data of a single frame of the laser sensor to model the environment around the robot and provide real-time environmental information support for path planning and motion decisions. In this step, the local environment is divided into regular grid units through the expression of the grid map. To facilitate subsequent navigation planning, the sampled trajectory needs to be mapped to a single-frame grid map based on the robot coordinate system. The expression of the grid map is to divide the local environment into regular grids. Consider a square map with a side length of 1.5m centered on the midpoint of the front end of the robot chassis. The accuracy of each grid is 5cm. The lower right corner of this square map is grid No. 1, and the grids are numbered from bottom to top and from right to left. The grid number of each trajectory point and the grid number within the radius of the robot chassis around the trajectory point are recorded, thereby recording the position of each trajectory mapped to the grid map, and the grid occupied by this trajectory is saved in the data file. The mapping result is as follows: Figure 3 shown.
[0074] In one embodiment, the local environment of the robot is a square area with the midpoint of the front end of the robot chassis as the center and a side length of a set value.
[0075] In one embodiment, in step S3, the local environment information is updated in real time using a laser sensor. If an obstacle exists in a grid, the grid is marked as occupied by the obstacle. Specifically, the following steps are performed:
[0076] The status of each grid is determined based on the measurement results of the laser sensor. If there is an obstacle in the grid, it is marked as a grid occupied by the obstacle; if there is no obstacle in the grid and the robot can pass through it, it is marked as a free grid.
[0077] Using a grid map representation, the local environment is divided into regular grids, and the status of each grid is annotated based on the LiDAR measurement results. A single-frame grid map is always centered at the midpoint of the front end of the robot chassis and is updated as the robot moves and the laser data changes. First, the laser sensor collects distance data around the robot. This data is processed and mapped into the robot's coordinate system to generate local environmental information centered on the robot's current position. The measurement results then determine the status of each grid: if an obstacle exists within the grid, it is marked as an obstacle-occupied grid; if the grid is free of obstacles and can be traversed by the robot, it is marked as a free grid; remaining unknown areas remain undefined.
[0078] In one embodiment, the step S4 of expanding the range of the grid occupied by the obstacle according to the robot size and the safety margin specifically includes:
[0079] The expansion value is set according to the robot size and safety margin. The expansion is based on the Euclidean distance. That is, each occupied grid is taken as the center and the expansion value is used as the radius to expand outward. All free grids falling within the expansion range are re-marked as grids occupied by obstacles.
[0080] Expanding the grids occupied by obstacles is a crucial step in improving the navigation safety of mobile robots. This expansion aims to avoid collision risks caused by the robot getting too close to an obstacle by expanding the range of obstacles in the grid map. Specifically, after a single-frame grid map is constructed, the grids occupied by obstacles are expanded based on the robot's size and safety margin. This expansion operation is performed by marking the grids occupied by obstacles as newly occupied within a certain range, determined by the robot's size, dynamic characteristics, and sensor accuracy. The expansion operation uses a Euclidean distance-based approach, expanding outwards by a certain grid radius from the center of each obstacle's grid. All free grids within this range are re-marked as occupied by the obstacle.
[0081] In one embodiment, feasible trajectory screening is a key step in the map-free autonomous navigation of mobile robots. It aims to select trajectories that meet both kinematic constraints and safety requirements from the generated trajectory candidate set, providing the best decision for actual execution. In this step, the motion meta-information generated offline is first read. In order to reduce the reading cost, these motion meta-information are stored in the form of points in the corresponding txt file. The file is read before the node is turned on and stored in the memory as a container. The grid occupied by the trajectory is then cross-checked with the grid occupied by the obstacle to determine whether each trajectory collides with the grid occupied by the expanded obstacle. Any trajectory that intersects with an obstacle will be immediately excluded to ensure the safety of path planning.
[0082] In one embodiment, step S5 scores and selects the trajectories that meet the safety requirements based on the angle difference, and selects the optimal trajectory to drive the robot to move, specifically including:
[0083] In the robot's coordinate system, the angle between the target point and the robot's moving direction is defined as goalDir, and the angle between the trajectory endpoint and the robot's moving direction is defined as MPDir. The score of the current trajectory is:
[0084]
[0085] The angle difference angDiff = |goalDir - MPDir|. The smaller the angle difference, the closer the end point of the current trajectory is to the direction of the target point.
[0086] Traverse each trajectory that meets the safety requirements and take the trajectory with the highest score as the optimal trajectory.
[0087] The target point is the final location that the robot needs to reach during navigation and is given by the user before navigation begins.
[0088] Trajectory scoring is an important step in optimizing feasible trajectories, which is used to evaluate the quality of each trajectory and provide a basis for the final trajectory selection. The present invention uses a square root function to normalize the angle difference to ensure that the trajectory score is in the range of [0,1]. Determine the linear velocity of the robot, and determine the steering angular velocity based on the trajectory group to which the optimal trajectory belongs, and publish it in the form of a ROS message to drive the robot to move. In addition, the method in the present invention does not use positioning information when evaluating the trajectory, but the odometer information is still required for positioning in the robot's autonomous navigation. When the system is specifically deployed, odometer methods such as VINS-fusion can be used to position the mobile robot.
[0089] The present invention also discloses a map-free mobile robot autonomous navigation system, comprising:
[0090] The model building module builds the robot kinematic model based on the robot's nonholonomic constraints, robot physical parameter constraints, and robot state parameters;
[0091] The trajectory generation module generates a candidate set of trajectories that the robot can travel based on the kinematic model and motion constraints;
[0092] The grid annotation module constructs a single-frame grid map, divides the local environment into grids, maps the trajectory to the grid map, and records the grids occupied by the trajectory. It uses laser sensors to update local environment information in real time. If there is an obstacle in the grid, it is marked as the grid occupied by the obstacle.
[0093] The grid expansion module expands the grid occupied by obstacles according to the robot size and safety margin; it selects trajectories that meet safety requirements from the trajectory candidate set, that is, the grid set occupied by the trajectory has no intersection with the grid set occupied by the obstacle;
[0094] The scoring module scores and selects the trajectories that meet the safety requirements based on the angle difference, and selects the optimal trajectory to drive the robot movement.
[0095] The system in the present invention corresponds to the method, and the specific technical solutions applicable to the method are also applicable to the system.
[0096] In an exemplary embodiment, a computer-readable storage medium including instructions, such as a memory including instructions, is also provided. The instructions are executable by a processor to perform the above method. The storage medium can be a computer-readable storage medium, such as a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, or the like.
[0097] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered in all respects as illustrative and non-limiting, and the scope of the invention is defined by the appended claims rather than the foregoing description. It is intended that all variations within the meaning and range of equivalents of the claims be embraced herein, and any reference signs in the claims should not be construed as limiting the claims to which they relate.
[0098] In addition, it should be understood that although this specification is described in terms of implementation methods, not every implementation method contains only one independent technical solution. This narrative method of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other implementation methods that can be understood by those skilled in the art.
Claims
1. A method for autonomous navigation of a mobile robot without a map, characterized in that: include: Establish the robot kinematic model based on the robot's nonholonomic constraints, robot physical parameter constraints, and robot state parameters; Generate a candidate set of robot-travelable trajectories based on the kinematic model and motion constraints; Construct a single-frame grid map, divide the local environment into grids, map the trajectory onto the grid map, and record the grids occupied by the trajectory: the laser sensor collects distance data of objects around the robot, maps it into the robot coordinate system after processing, and generates a local environment centered on the robot's current position; the robot's local environment is divided into grids to form a single-frame grid map; each trajectory in the trajectory candidate set is mapped onto the single-frame grid map; the grid number of the grid point that the trajectory point falls into and the grid number within the radius of the robot chassis around the trajectory point are recorded to obtain the grid set occupied by the trajectory; Use laser sensors to update local environment information in real time. If there is an obstacle in the grid, it will be marked as the grid occupied by the obstacle. Expand the grid area occupied by the obstacle based on the robot size and safety margin; select a trajectory that meets the safety requirements from the trajectory candidate set, that is, the grid area occupied by the trajectory has no intersection with the grid area occupied by the obstacle; Scoring the trajectories that meet the safety requirements based on the angle difference, and selecting the optimal trajectory to drive the robot: In the robot's coordinate system, the angle between the target point direction and the robot's moving direction is defined as goalDir, and the angle between the trajectory end point direction and the robot's moving direction is defined as MPDir. The score of the current trajectory is : ; Among them, the angle difference angDiff = |goalDir - MPDir|. The smaller the angle difference, the closer the end point of the current trajectory is to the direction of the target point. Traverse each trajectory that meets the safety requirements and take the trajectory with the highest score as the optimal trajectory.
2. The map-less mobile robot autonomous navigation method according to claim 1, characterized in that: The robot is regarded as a rigid body structure. The nonholonomic constraints of the robot include: the robot can only move along its own driving direction and cannot achieve lateral sliding; the physical parameter constraints of the robot include the maximum linear velocity and maximum steering angular velocity of the robot; the state parameters of the robot include the coordinates of the center of mass of the robot chassis, heading angle, linear velocity and steering angular velocity.
3. The map-less mobile robot autonomous navigation method according to claim 1, characterized in that: The candidate set of robot drivable trajectories generated based on the kinematic model and motion constraints specifically includes: Based on the kinematic model and motion constraints, multiple trajectories with different speeds and steering angular velocities are calculated; each trajectory consists of three trajectory units; The trajectory unit generation process: select the robot's linear velocity, define the robot's maximum steering angle angle, and set the steering angle sampling accuracy per_angle = angle / angle_scale, thereby generating The first segment of the trajectory unit is grouped, angle_scale is the variable number of the robot's steering angle; The trajectory unit generation process is repeated for the second and third trajectory units, wherein the end position and end angle of the previous trajectory unit are used as the starting position and starting angle of the next trajectory unit, and finally the candidate set of the trajectory is obtained.
4. The map-less mobile robot autonomous navigation method according to claim 1, characterized in that: The local environment of the robot is a square area with the midpoint of the front end of the robot chassis as the center and the side length as the set value.
5. The map-less mobile robot autonomous navigation method according to claim 1, characterized in that: The laser sensor is used to update the local environment information in real time. If there is an obstacle in the grid, it is marked as the grid occupied by the obstacle. Specifically, it includes: The status of each grid is determined based on the measurement results of the laser sensor. If there is an obstacle in the grid, it is marked as a grid occupied by the obstacle; if there is no obstacle in the grid and the robot can pass through it, it is marked as a free grid.
6. The map-less mobile robot autonomous navigation method according to claim 1, characterized in that: The expansion of the grid occupied by the obstacle according to the robot size and the safety margin specifically includes: The expansion value is set according to the robot size and safety margin. The expansion is based on the Euclidean distance. That is, the grid occupied by each obstacle is taken as the center and the expansion value is used as the radius to expand outward. All free grids falling within the expansion range are re-labeled as grids occupied by obstacles.
7. A map-free mobile robot autonomous navigation system, characterized in that: include: The model building module builds the robot kinematic model based on the robot's nonholonomic constraints, robot physical parameter constraints, and robot state parameters; The trajectory generation module generates a candidate set of trajectories that the robot can travel based on the kinematic model and motion constraints; The grid annotation module constructs a single-frame grid map, divides the local environment into grids, maps the trajectory to the grid map, and records the grids occupied by the trajectory: the laser sensor collects distance data of objects around the robot, maps it to the robot coordinate system after processing, and generates a local environment centered on the robot's current position; the robot's local environment is divided into grids to form a single-frame grid map; each trajectory in the trajectory candidate set is mapped to the single-frame grid map; the grid number of the grid where the trajectory point falls and the grid number within the radius of the robot chassis around the trajectory point are recorded to obtain the grid set occupied by the trajectory; the local environment information is updated in real time using the laser sensor, and if there is an obstacle in the grid, it is marked as the grid occupied by the obstacle; The grid expansion module expands the grid occupied by obstacles according to the robot size and safety margin; it selects trajectories that meet safety requirements from the trajectory candidate set, that is, the grid set occupied by the trajectory has no intersection with the grid set occupied by the obstacle; The scoring module scores the trajectories that meet the safety requirements according to the angle difference and selects the best trajectory to drive the robot movement: in the robot's coordinate system, the angle between the target point direction and the robot's moving direction is defined as goalDir, and the angle between the trajectory end point direction and the robot's moving direction is defined as MPDir. The score of the current trajectory : ; Among them, the angle difference angDiff = |goalDir - MPDir|. The smaller the angle difference, the closer the end point of the current trajectory is to the direction of the target point. Traverse each trajectory that meets the safety requirements and take the trajectory with the highest score as the optimal trajectory.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Real-time trajectory planning method considering appearance of unmanned rotorcraft in complex environment
CN115097857A
Robot navigation planning method and device in non-flat ground environment and robot
CN115752474A