[Documentation] [TitleIndex] [WordIndex

  Show EOL distros: 

humanoid_navigation: footstep_planner | gridmap_2d | hrl_kinematics | humanoid_localization

Package Summary

A footstep planner for humanoid / biped robots. The planner builds on SBPL and has anytime as well as dynamic replanning capabilities. The supported planners are: ARA*, AD*, R*.

Details can be found in the following publications:

"Humanoid Navigation with Dynamic Footstep Plans" by J. Garimort, A. Hornung, and M. Bennewitz; published in Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2011

Anytime Search-Based Footstep Planning with Suboptimality Bounds by A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz; published in Proc. of the IEEE-RAS International Conference on Humanoid Robots (HUMANOIDS), 2012

humanoid_navigation: footstep_planner | gridmap_2d | hrl_kinematics | humanoid_localization

Package Summary

A footstep planner for humanoid / biped robots. The planner builds on SBPL and has anytime as well as dynamic replanning capabilities. The supported planners are: ARA*, AD*, R*.

Details can be found in the following publications:

"Humanoid Navigation with Dynamic Footstep Plans" by J. Garimort, A. Hornung, and M. Bennewitz; published in Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2011

Anytime Search-Based Footstep Planning with Suboptimality Bounds by A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz; published in Proc. of the IEEE-RAS International Conference on Humanoid Robots (HUMANOIDS), 2012

humanoid_navigation: footstep_planner | gridmap_2d | humanoid_localization | humanoid_planner_2d

Package Summary

A footstep planner for humanoid / biped robots. The planner builds on SBPL and has anytime as well as dynamic replanning capabilities. The supported planners are: ARA*, AD*, R*.

Details can be found in the following publications:

"Humanoid Navigation with Dynamic Footstep Plans" by J. Garimort, A. Hornung, and M. Bennewitz; published in Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2011

Anytime Search-Based Footstep Planning with Suboptimality Bounds by A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz; published in Proc. of the IEEE-RAS International Conference on Humanoid Robots (HUMANOIDS), 2012

humanoid_navigation: footstep_planner | gridmap_2d | humanoid_localization | humanoid_planner_2d

Package Summary

A footstep planner for humanoid / biped robots. The planner builds on SBPL and has anytime as well as dynamic replanning capabilities. The supported planners are: ARA*, AD*, R*.

Details can be found in the following publications:

"Humanoid Navigation with Dynamic Footstep Plans" by J. Garimort, A. Hornung, and M. Bennewitz; published in Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2011

Anytime Search-Based Footstep Planning with Suboptimality Bounds by A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz; published in Proc. of the IEEE-RAS International Conference on Humanoid Robots (HUMANOIDS), 2012

humanoid_navigation: footstep_planner | gridmap_2d | humanoid_localization

Package Summary

A footstep planner for humanoid / biped robots. The planner builds on SBPL and has anytime as well as dynamic replanning capabilities. The supported planners are: ARA*, AD*, R*.

Details can be found in the following publications:

"Humanoid Navigation with Dynamic Footstep Plans" by J. Garimort, A. Hornung, and M. Bennewitz; published in Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2011

Anytime Search-Based Footstep Planning with Suboptimality Bounds by A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz; published in Proc. of the IEEE-RAS International Conference on Humanoid Robots (HUMANOIDS), 2012

  • Maintainer status: developed
  • Maintainer: Armin Hornung <HornungA AT informatik.uni-freiburg DOT de>, Pramuditha Aravinda <aravindadp AT gmail DOT com>
  • Author: Johannes Garimort, Armin Hornung
  • License: GPL 3
  • Source: git https://github.com/AravindaDP/humanoid_navigation.git (branch: indigo-devel)
humanoid_navigation: footstep_planner | gridmap_2d | humanoid_localization | humanoid_planner_2d

Package Summary

A footstep planner for humanoid / biped robots. The planner builds on SBPL and has anytime as well as dynamic replanning capabilities. The supported planners are: ARA*, AD*, R*.

Details can be found in the following publications:

"Humanoid Navigation with Dynamic Footstep Plans" by J. Garimort, A. Hornung, and M. Bennewitz; published in Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2011

Anytime Search-Based Footstep Planning with Suboptimality Bounds by A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz; published in Proc. of the IEEE-RAS International Conference on Humanoid Robots (HUMANOIDS), 2012

footsteps_nao_video.png

Overview

This package provides footstep planning for humanoid (biped) robots. The first release built on D* Lite (Koenig et al. 2002) for efficient replanning. The current version now builds on sbpl. This enables D* and A* implementations with anytime capabilities, and the randomized A* (R*) search.

Details are available at http://hrl.informatik.uni-freiburg.de/research/animations/footsteps/ and in the following publications. Please consider citing our paper if you use the footstep planner in your research.

The planner can be invoked by interacting with it via RViz, or by continuously using it during plan execution (Video below). A pose estimate from a localization system is required in the latter case.

Getting started

First, follow the installation instructions of the humanoid_navigation stack (you might have to check out the source for that or download a recent package).

For interactive planning (without any plan execution by a robot), you're almost set now. Simply run

roslaunch footstep_planner footstep_planner_complete.launch

which loads a sample map, starts up the planner, and launches RViz to interact with it. Set a "2D pose estimate" as start, and a "2D nav goal" as goal (Hotkeys P and G). After some time (depending on footsteps, heuristic and the environment), the planner will visualize the footstep plan in RViz or output an error on the terminal.

footsteps_rviz_sample.png

Planners

For footstep planning, the planners Anytime Repairing A* (ARA*), Anytime Dynamic A* (AD*), and Randomized A* (R*) are supported. All of them offer anytime capabilities (see parameters below) and may be suitable for different scenarios.

The parameter ~planner_type can have the following values: ARAPlanner, ADPlanner, RSTARPlanner.

The R* implementation in the currently released SBPL version (1.1.0) unfortunately segfaults, so using R* requires the compilation and installation of a newer version (see Tutorial).

Heuristics

Currently, there are three heuristics available to the planner, described in detail in the paper. They can be selected with the heuristic_type parameter:

Footstep parameterization

Model

footstep_model2.png

Since version 0.3, footsteps are parameterized as a general 2D transform (x,y,theta) of the swinging (walking) leg's foot from the current supporting leg's foot origin. Footstep sets are specified in the parameter arrays ~footsteps/{x,y,theta} (see below).

Old Model (v0.2 and before)

footstep_model.png

Before, footsteps were parametrized by the displacement (x,y,theta) of the swinging (walking) leg's foot from its default position next to the current supporting leg's foot, which was specific to the Nao's old walking algorithm. For a displacement of (0,0,0), the walking foot is placed next to the supporting foot at a distance of ~foot/separation.

Parameterization for the Nao

footsteps_nao.png

A footstep parameterization for the Nao humanoid is given in config/footsteps_nao.yaml.

Parameterization for larger humanoids

footsteps_asimo.png

A footstep set for a larger humanoid which is capable of stepping over obstacles (e.g. Asimo or HRP-2) is given in config/footsteps_asimo.yaml.

footstep_plan_asimo.png

ROS API

See Code API for documentation of all classes and relevant code. The ROS node interface is described below. Both might be subject to change in the future as we develop the package further.

footstep_planner_node

The planning ROS node which listens to pose callbacks to plan footstep paths, either interactively in RViz (set pose estimate and navigation goal) or continuously while a robot executes the path.

Subscribed Topics

goal (geometry_msgs/PoseStamped) initialpose (geometry_msgs/PoseWithCovarianceStamped) map (nav_msgs/OccupancyGrid)

Published Topics

~footsteps_array (visualization_msgs/MarkerArray) ~path (nav_msgs/Path) ~heuristic_path (nav_msgs/Path) ~expanded_states (sensor_msgs/PointCloud) ~start (visualization_msgs/PoseStamped)

Services

plan_footsteps (humanoid_nav_msgs/PlanFootsteps)

Parameters

~heuristic_type (string, default: EuclideanHeuristic) ~planner_type (string, default: ARAPlanner) ~search_until_first_solution (bool, default: False) ~allocated_time (float, default: 7.0) ~initial_epsilon (float, default: 8.0) ~forward_search (bool, default: False) ~num_random_nodes (int, default: 20) ~random_node_dist (float, default: 1.0) ~heuristic_scale (float, default: 1.0) ~step_cost (float, default: 0.1) ~diff_angle_cost (float, default: 0.0) ~footsteps/{x,y,theta} (array of floats) ~foot/size/{x,y,z} (float) ~foot/separation (float) ~foot/max/step/{x,y,theta} (float) ~foot/max/inverse/step/{x,y,theta} (float) ~foot/origin_shift/{x,y} (float) ~accuracy/collision_check (int, default: 2) ~accuracy/cell_size (float, default: 0.01) ~accuracy/num_angle_bins (int, default: 128)

footstep_navigation_node

The navigation ROS node for the NAO robot which listens to goal callbacks to plan and execute footstep paths. This node is an extension of the footstep_planner_node, so it offers the same topics, parameters etc as above in addition.

Subscribed Topics

amcl_pose (geometry_msgs/PoseWithCovarianceStamped)

Services Called

footstep_srv (humanoid_nav_msgs/StepTargetService) clip_footstep_srv (humanoid_nav_msgs/ClipFootstep)

Parameters

~feedback_frequency (float, default: 5.0) ~safe_execution (bool, default: true) ~accuracy/footstep/{x,y,theta} (float, default: {x: 0.01, y: 0.01, theta: 0.1}) ~{r,l}foot_frame_id (string, default: /{r,l}_sole)

footstep_planner_walls

Extended from footstep_planner_node with identical functionality. New feature is a second map topic that indicates tall obstacles such as walls to which a larger clearing needs to be maintained. Topics / parameters are the same except the ones listed below:

Subscribed Topics

map_walls (nav_msgs/OccupancyGrid)

Parameters

~footstep_wall_dist (float, default: 0.15)


2019-10-12 12:37