Skip to content

The lattice_planner package provides a move_base global planner plugin for a time-bounded A* lattice planner. The planner is designed to plan time dependent, dynamically feasible navigation paths for robots with differential drive constraints. It uses a dynamic cost map which is based on the ROS costmap representation from the costmap_2d package.

License

Notifications You must be signed in to change notification settings

marinaKollmitz/lattice_planner

Repository files navigation

lattice_planner

The lattice_planner package provides a move_base global planner plugin for a time-bounded A* lattice planner. The planner is designed to plan time dependent, dynamically feasible navigation paths for robots with differential drive constraints. It uses a dynamic cost map which is based on the ROS costmap representation from the costmap_2d package.

Please have a look at the human_aware_navigation package for an example application including a toy example in the context of human-aware navigation.

If you use our lattice planner code for your research, please consider citing our paper:

@INPROCEEDINGS{kollmitz15ecmr,
  author = {Marina Kollmitz and Kaijen Hsiao and Johannes Gaa and Wolfram Burgard},
  title = {Time Dependent Planning on a Layered Social Cost Map for Human-Aware Robot Navigation},
  booktitle = {Proc.~of the IEEE Eur.~Conf.~on Mobile Robotics (ECMR)},
  year = {2015},
  doi = {10.1109/ECMR.2015.7324184},
  url = {http:https://ais.informatik.uni-freiburg.de/publications/papers/kollmitz15ecmr.pdf}
}

the following ROS Parameters can be specified for the lattice_planner:

prefix for all ROS params: move_base/TBLattice/

cost factors:

  • lethal_cost --> cost associated with forbidden areas (e.g. obstacles)
  • time_cost_factor --> cost factor for path execution time
  • step_cost_factor --> cost factor for path length
  • rotation_cost_factor --> cost factor for the accumulated turns along a planned path
  • environment_cost_factor --> cost factor for constraints defined in the dynamic environment, according to the dynamic cost map
  • dynamic_layers_plugin --> fully qualified plugin type for dynamic layers to be used (must adhere to lattice_planner::DynamicLayers interface. See pluginlib doc on ROS wiki for help)

planner preferences:

  • allow_unknown --> whether the planner is allowed to expand into unknown map regions
  • xy_goal_tolerance --> the Euclidean goal tolerance distance in meters
  • yaw_goal_tolerance --> the rotational goal tolerance in rad
  • time_resolution --> time resolution of the discretized configuration space in seconds
  • collision_check_time_resolution --> time increment to slice trajectories for collision checking in seconds
  • time_steps_lookahead --> maximum number of time steps for planning
  • planning_timeout --> timeout for the planning after which the best solution found so far is returned
  • passive_navigation --> flag for planning dynamically for the max number of time steps, not only until the goal is found
  • publish_expanded --> flag for publishing the expanded search tree for visualization

flags for simplifying the path search - violate optimality but accelerate the search procedure:

  • easy_deceleration --> flag for simplified planning of deceleration at the goal
  • easy_turn_at_start --> flag for simplified planning of turn in place at the start
  • easy_turn_at_goal --> flag for simplified planning of turn in place at the goal

motion constraints of the robot:

  • min_vel_x --> minimum forward velocity of the robot in meters per second (can be negative)
  • max_vel_x --> maximum forward velocity of the robot in meters per second
  • acceleration_x --> forward acceleration in meters per second^2
  • min_vel_phi --> minimum angular velocity of the robot in radians per second (can be negative)
  • max_vel_phi --> maximum angular velocity of the robot in radians per second
  • acceleration_phi --> angular acceleration in radians per second^2

About

The lattice_planner package provides a move_base global planner plugin for a time-bounded A* lattice planner. The planner is designed to plan time dependent, dynamically feasible navigation paths for robots with differential drive constraints. It uses a dynamic cost map which is based on the ROS costmap representation from the costmap_2d package.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages