Random Walk Global Planner Baseline¶
The Random Walk Planner serves as a baseline global planner for stress testing system autonomy. Unlike more informed and intelligent planners, the Random Walk Planner generates a series of random trajectories to evaluate system robustness. Using the map published by VDB, the planner will generate and publish multiple linked straight-line trajectories, checking for collisions along these paths.
The blue line is the global plan generated by the random walk. The yellow line shows the past trajectory followed by the local planner when pursuing the previous random global plans.
Functionality¶
Upon activation by the behavior tree, the Random Walk Planner will:
- Generate a specified number of straight-line path segments.
- Continuously monitor the robot's progress along the published path.
- Once the robot completes the current path, a new set of paths will be generated.
This loop continues, allowing the system to explore various trajectories and stress test the overall autonomy stack.
Parameters¶
Parameter |
Description |
---|---|
num_paths_to_generate |
Number of straight-line paths to concatenate into a complete trajectory. |
max_start_to_goal_dist_m |
Maximum distance (in meters) from the start point to the goal point for each straight-line segment. |
checking_point_cnt |
Number of points along each straight-line segment to check for collisions. |
max_z_change_m |
Maximum allowed change in height (z-axis) between the start and goal points. |
collision_padding_m |
Extra padding (in meters) added around a voxel's dimensions when checking for collisions. |
path_end_threshold_m |
Distance threshold (in meters) for considering the current path completed and generating a new one. |
max_yaw_change_degrees |
Maximum allowed change in angle (in radians) between consecutive straight-line segments to ensure a relatively consistent direction. |
robot_frame_id |
The frame name for the robot's base frame to look up the transform from the robot position to the world. |
Services¶
Parameter |
Type | Description |
---|---|---|
~/global_plan_toggle |
std_srvs/Trigger | A toggle switch to turn on and off the random walk planner. |
Subscriptions¶
Parameter |
Type | Description |
---|---|---|
~/sub_map_topic |
visualization_msgs/Marker | Stores the map representation that is output from the world or local map topic; currently using vdb local map. |
~/tf |
geometry_msgs/TransformStamped | Stores the transform from the robot to the world. |
Publications¶
Parameter |
Type | Description |
---|---|---|
~/pub_global_plan_topic |
nav_msgs/Path | Outputs the global plan that is generated from the random walk planner. |