Welcome to ROSMASTER X3 repository
8. Navigation and obstacle avoidance
TEB Parameter debugging
acc_lim_theta:Parameter used to limit the angular velocity and acceleration of the robot. The specific value of this parameter needs to be adjusted according to the dynamic characteristics of the robot and the requirements for path following. Smaller values will generally result in smoother path following, but may increase path following time, while larger values may result in greater acceleration when path following, but may cause instability in path following.
acc_lim_x:Parameters used to limit the linear velocity and acceleration of the robot. The specific values need to be adjusted according to the dynamic characteristics of the robot and the requirements for path following. Smaller values will generally result in smoother path following, but may increase path following time, while larger values may result in greater acceleration when path following, but may cause instability in path following.
allow_init_with_backwards_motion:Used to set whether to allow the robot to start executing the path in a backward manner at the beginning. The selection of parameters usually depends on the specific navigation requirements and the behavior of the robot. Some robots may find it easier to execute a path starting from a backward posture, while others may need to always start in a forward posture. In some cases, allowing the robot to start in a backward manner may be useful if the robot needs to negotiate a narrow passage or perform a complex path.
FollowPath.complete_global_plan:Used to specify whether the robot is required to completely follow the global path planning. In some cases, especially when the planned path needs to be strictly followed, setting it to true can ensure that the robot moves accurately along the planned path. However, in some complex environments, allowing a certain path deviation may be a more flexible option, because the robot can make appropriate adjustments based on the actual situation.
FollowPath.control_look_ahead_poses:Defines the number of look-ahead gestures used for control in path following, often determined by the specific requirements of the navigation system and the characteristics of the robot. Increasing the number of lookahead poses improves the accuracy and stability of path following, but also increases the computational load. Smaller values may result in faster response, but may reduce the stability of following.
FollowPath.costmap_converter_plugin:Used to specify the plug-in used to convert the cost map. The value of this parameter is usually a plug-in namespace and the name of the plug-in. The name of the specific plug-in and available options depend on the version of Navigation2 and TEB installed.
FollowPath.dynamic_obstacle_inflation_dist:Dilation distance used when dealing with dynamic obstacles
FollowPath.footprint_model.radius:Used to set the radius of the robot's footprint model. It is important to adjust the radius of the footprint model because it directly affects the safety of path planning and ensures that the robot can move in the environment without colliding with obstacles. Depending on the actual size of the robot, you may need to adjust this value to ensure adequate safety clearance.
FollowPath.footprint_model.type:Used to specify the type of robot footprint model. This parameter is used to determine how the robot's shape is defined for path planning and obstacle avoidance. The parameters are Circular and Polygon.
FollowPath.force_reinit_new_goal_angular:Angle reinitialization when setting a new target point, the robot needs to adjust its orientation or rotation to adapt to the new target point.
FollowPath.global_plan_overwrite_orientation:Used to specify whether the global path planning is allowed to overwrite the current robot's direction, and whether to force the robot's direction to be updated to match the new global path. This may be useful in some situations, especially when there is a significant difference between the robot's current orientation and the orientation of the new path.
FollowPath.max_vel_theta:Specifies the maximum angular speed allowed for the robot when performing path following, in radians/second.
FollowPath.max_vel_x:Specifies the maximum linear speed allowed for the robot when performing path following, in meters/second
FollowPath.max_vel_x_backwards:Specifies the maximum backward linear speed allowed for the robot when performing path following, in meters/second.
FollowPath.min_obstacle_dist:Specifies the minimum distance between the robot and the obstacle, in meters
FollowPath.min_resolution_collision_check_angular:Specifies the minimum angular resolution for collision detection. By adjusting this parameter, the accuracy and computational efficiency of collision detection can be balanced to suit the specific navigation environment and robot dynamics.
FollowPath.min_samples:Specifies the minimum number of trajectory samples generated during path following.
FollowPath.min_turning_radius:Minimum turning radius.
When the car adjusts its position back and forth at the destination, it may be that the xy_goal_tolerance and yaw_goal_tolerance are too small. The car needs to continuously adjust its position and posture to achieve this value. If the above situation occurs, you can adjust it appropriately. Increase this parameter.
The car cannot start when it cannot set the target point. When the car is actually reachable, it may be that the obstacle detection values ??of the global and local maps are too large, causing the car to think that it is unreachable when calculating the path. , appropriately reduce these two values, obstacle_range and raytrace_range.
When the car cannot plan a path and bypass obstacles, if the car can actually go around, it may be related to the currently set obstacle detection distance, the car's angular velocity, linear speed, etc., or it may be related to the cost. It is related to the obstacle coefficient of the map, and the following parameters can be modified appropriately: TEB Planner:
#Maximum look-ahead distance for global path planning. Make sure this value is large enough so that the robot has enough advance time to see obstacles and plan.max_global_plan_lookahead_dist5.0#The number of obstacles that affect the robot's trajectory. May need to be adjusted to account for more obstacles.obstacle_poses_affected20#The number of straight-line obstacles that affect the robot's trajectory. It may also need to be adjusted to suit the scene.min_obstacle_dist0.5#The expansion distance of obstacles on the trajectoryinflation_dist0.5#Maximum line speedmax_vel_x0.4#Maximum angular velocitymax_vel_theta2.0Global/local cost map parameters:
xxxxxxxxxxGlobalCostmap #The maximum distance at which an obstacle is considered. obstacle_range3.0 #Maximum distance for ray shielding raytrace_range4.0LocalCostmap obstacle_range3.0 raytrace_range4.0The above just summarizes the situations where modifying these parameters can achieve optimized navigation effects. Actual parameter adjustment requires a lot of time and energy to debug. It is possible that debugging a single parameter cannot achieve the required effect, and you need to have enough patience to debug. parameter.