<<PackageHeader(halfsteps_pattern_generator)>>
<<TOC(4)>>

This package provides the reference implementation of the paper "A biped walking pattern generator based on “half-steps” for dimensionality reduction".

It can be used to generate walking trajectories for humanoid robots. See the [[halfsteps_pattern_generator/Tutorials|tutorials]] to learn how to use this package.

[[attachment:halfsteps_pattern_generator1.png|{{attachment:halfsteps_pattern_generator1.png|Half-steps pattern generator trajectories displayed in RViz|width=600}}]]

== Algorithm specific parameters ==

This algorithm requires additional parameters:

 * '''Global parameters'''
   * ''time before ZMP shift''
   * ''time after ZMP shift''
   * ''step''
 * '''Per footprint parameters'''
   * ''slide up''
   * ''slide down''
   * ''horizontal distance''
   * ''step height''

<<Anchor(ROS_API)>>
== ROS API ==

{{{
#!clearsilver CS/NodeAPI
name = generator
desc = Trajectory generation node.

param {
  0.name = time_before_zmp_shift
  0.type = Float64
  0.desc = Time between the beginning of the half-step and the ZMP shift.
  0.default = 0.95

  1.name = time_after_zmp_shift
  1.type = Float64
  1.desc = Time between the beginning of the ZMP shift and the end of the half-step.
  1.default = 1.05

  2.name = step
  2.type = Float64
  2.desc = Discretization step. '''It is highly recommended to keep the default value (i.e. 0.005s).'''
  2.default = 0.005

  3.name = world_frame_id
  3.type = string
  3.desc = World frame name (i.e. the reference frame in which the trajectories are expressed).
  3.default = /world
}

pub {
  0.name = com
  0.type = nav_msgs/Path
  0.desc = Center of mass trajectory.

  1.name = footprints
  1.type = visualization_msgs/MarkerArray
  1.desc = Footprints position.

  2.name = left_foot
  2.type = nav_msgs/Path
  2.desc = Left foot trajectory.

  3.name = right_foot
  3.type = nav_msgs/Path
  3.desc = Right foot trajectory.

  4.name = zmp
  4.type = nav_msgs/Path
  4.desc = ZMP trajectory.
}

srv {
  0.name = getPath
  0.type = walk_msgs/GetPath
  0.desc = Generate a trajectory from footprints positions.
}

}}}


== Videos ==

The following demonstrations are relying on this pattern generator.

<<Youtube(GE_3JXfeS5o)>>

<<Youtube(z5I3nkJmK2o)>>

== References ==

 * '''N. Perrin, O. Stasse, F. Lamiraux, E. Yoshida.''' A biped walking pattern generator based on “half-steps” for dimensionality reduction. In Proc. of the 2011 IEEE International Conference on Robotics and Automation (ICRA) [ [[http://homepages.laas.fr/florent/publi/2011-icra-nicolas.pdf|pdf]] ]
 * '''L. Baudouin, N. Perrin, T. Moulard, O. Stasse, F. Lamiraux, E. Yoshida''' Real-time Replanning Using 3D Environment for Humanoid Robot. In Proc. of the 2011 IEEE/RAS International Conference on Humanoid Robots [ [[http://hal.archives-ouvertes.fr/docs/00/60/13/00/PDF/humanoids11-lbaudouin.pdf|pdf]] ]


## AUTOGENERATED DON'T DELETE
## CategoryPackage