hrpsys package from hrpsys repo


Package Summary

Tags No category tags.
Version 315.2.7
License EPL
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version master
Last Updated 2016-04-14
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Additional Links


  • Kei Okada
  • Isaac Isao Saito


  • AIST
  • Fumio Kanehiro



This repository is deprecated!! Please see hrpsys-base!!


Introduction Build Status

An OpenRTM-aist-based robot controller. This package is the most tailored for humanoid (dual-arm and/or biped) robots for historical reason.

.. contents::

Test Status

Hydro Build Status

Hydro Test Satus

Groovy Build Status

Groovy Test Satus

For developers

How to release new version

As a 3rd party package to ROS we need some extra chores to release. Discussed here. NOTE for 2 different repositories are involved:


  1. Send a pull request to fkanehiro/hrpsys-base to update a tag in CMakeLists.txt. Example. This way community will decide if we're ready for the next release.
  2. Update start-jsk/hrpsys/Makefile.hrpsys-base BEFORE the subsequent steps (otherwise the automation script below won't produce a valid result). Example2.
  3. Update start-jsk/hrpsys/CHANGELOG.rst by the following steps.

3-1. Use this script [generate_changelog_upstream_] to copy commit messages from upstream fkanehiro/hrpsys-base. A file should be created under /tmp.

3-2. Summarize commit messages into user-meaningful content (discussion).

3-3. To include updates in ROS repository (start-jsk/hrpsys), add change logs into the one created in 3-2 by following.

 3-3-1. Generate changelog by a command from `catkin`:


   $ roscd hrpsys
   $ catkin_generate_changelog

 3-3-2. Open a generated/updated `CHANGELOG.rst` file. Then manually merge with the artifact from 3-1.
  1. After here follow the normal release manner: Send pull requests for the change above (step 2 and 3). Update tags and package.xml by using catkin_prepare_release.

Notice that we're sending pull requests to two different repositories; one is the source upstream repository that isn't ROS-dependent, another repository is used to release a DEB using ROS infrastructure.

.. _generate_changelog_upstream:

Generate changelog from the upstream

hrpsys consists of resources from two repositories as noted in package.xml. Particularly we need to generate changelog from the upstream repository, which is not covered by a convenient tool in ROS called catkin_generate_changelog (that only takes care of the catkin packages, like start-jsk/hrpsys (where you are now)). For that purpose our custom script helps you. To use it:

  1. Clone this repository into your catkin workspace if you haven't done so:
  $ cd %CATKIN_WORKSPACE% && cd src
  $ git clone

  1. Run catkin_make.
  $ catkin_make     (this takes minutes depending on your machine power and internet connection)
  $ source devel/setup.bash

  1. Run the command
  $ rosrun hrpsys

Documentation of RTCs and examples

Documentation of RTCs and examples


Changelog for package hrpsys

315.2.7 (2014-10-15)

  • New feature
  • (AutoBalancer, ImpedanceController) : Enable onDeactivated function for ImpedanceController and AutoBalancer
  • Added getControllerParams method and modified type of Param (struct -> class)
  • Added type check before use conf params
  • Fixation
  • fix for old pcl
  • Improvement
  • (ImpedanceController, AutoBalancer, Stabilizer) : Move to idling mode if stop() and start() are called. This is discussed in
  • print exception when plugin is not found
  • add document to change timestep
  • (AutoBalancer) : Add time stamp to abc walking data ports and initialize contactStates
  • (GaitGenerator, Ratsmatrix) : Remove unused print functions and update print functions to use Eigen IOFormat
  • (AutoBalancer, ImpedanceController, RemoveForceSensorLinkOffset, Stabilizer) : Update unstable RTCs documentation
  • (hrpsys_config, DataLogger) : Enable to log contactStates as TimedBooleanSeq
  • set compile flag -ffloat-store to 32bit system add message for setting collision_loop
  • removes input dataport \"sensorPose\" and uses pose in RangeData
  • Connect q and qRef to ThermoEstimator to estimate joint torque from error
  • modify OpenHRP-3.1 path due to ROS-fhs layout, see #128
  • Contributors: Kei Okada, Shunichi Nozawa, Isaac Saito

315.2.6 (2014-09-30)

  • New Feature
  • Adds PointCloudLogViewer, encords the number of points in point cloud. compiles PointCloudLogViewer only with PCL >= 1.7.
  • (Stabilizer) : Add leg inside margin to IDL
  • (KalmanFilter) : Add KalmanFilterParam as struct
  • Better error handling
  • Fix
  • fixes linker error on 12.04amd
  • Partially reverted to handle Python version < 2.6
  • hrpsys_config
  • Add DataLogger logging for servoState port.
  • Add playPattern* methods.
  • (, SequencePlayer, StateHolder) : Add optional data for seq in
  • Add and connect logger ports for offset force moment and ref force moment
  • I/F improvement
  • Added old style parameter functions to TwoDofController for Stabilizer
  • Modified controller arguments from double valiables to struct parameter.
  • Document update
  • Apply doxygen style, somehow needs exclamation mark (
  • Doc improved for many components: AverageFilter, ExtractCameraImage, SequencePlayer, HGcontroller, CaptureController, VideoCapture, PCDLoader, SORFilter, RangeNoiseMixer, CaptureController, JpegEncoder, RGB2Gray, PlaneRemover, AverageFilter. AutoBalancer, Stabilizer, KalmanFilter, RemoveForceSensorLinkOffset, ImpedanceController
  • Contributors: Kei Okada, Shunichi Nozawa, Isaac IY Saito

315.2.5 (2014-09-02)

  • Stabilizer:
  • Use force difference control
  • Add data port for Stabilizer root pos and rot debugging
  • (Stabilizer, Add debug port for Stabilizer compensation
  • Add both foot contact checker and update force z control
  • AutoBalancer:
  • KalmanFilter:
  • Inhibit debug print in KalmanFilter.h
  • Add DEBUG to control printing of KalmanFilter
  • KF -> EKF and RPY -> Quaternion
  • sample6dofrobot*:
  • Add wrapper for sample6dofrobot examples added in
  • Add set ref force and moment example for impedance controller
  • (terrain-walk) : Add wrapper of example in hrpsys-base
  • add graphbiz to install
  • add automatic push to gh-pages
  • Enable to use RMFO on robots without imu. Connect RPY port only if it exists.
  • move api doc for some methods from downstream.
  • enable to set reference frame in get{Reference,Current}{Pose,Position,Rotation,RPY}, see #297
  • use CPython as default python and add
  • adds a new component, AverageFilter
  • Contributors: Kei Okada, Shunichi Nozawa, Isaac IY Saito, Yutaka Kondo

315.2.4 (2014-08-10)

  • AutoBalancer:
  • Add data port for acceleration reference which can be used in KalmanFilter.cpp
  • Use function and variable names. Use TargetParameter and CurrentParmeter
  • Remove duplicate codes for transition_smooth_gain
  • Remove unused codes and use is_legged_robot flag
  • Connect accRef from abc instead of seq. Note that connection from seq at previous r
  • Use contactStates in Stabilizer to specify single support ph
  • Add out data ports for Stabilizer debug
  • (KalmanFilter.cpp) : Use accRef compensation
  • (PDcontroller,...) : Add PD controller and examples
  • samplerobot:
  • Add print message and comments to samples, remove direct writing of getRTCList, and
  • Use .in file to specify openhrp3 directory for sample1.wrl model
  • Add conf_file setting to samplerobot.launch by copying hrpsys_tools/hrpsys/hrpsys.launch setting
  • Add impedancecontroller example
  • Stabilizer:
  • Fix transition between MODE_AIR, MODE_IDLE, and MODE_ST. Set MODE_AIR if startStabilizer
  • Fix USE_IMU_STATEFEEDBACK to USE_EEFM_STABILIZER for switching stabilizer algorithm and f
  • Add LPF for ground contact checking
  • Fix transition between st ON mode and st OFF mode
  • Rotate robot around COG in rpy control
  • Support rotational walking by fixing ref force and ref moment coordinates
  • Update calculation of actual and reference values for Stabilizer
  • Check legged robot or not
  • Add getActualParameters and update to use it
  • Update member variables (rename and remove)
  • Fix idl to specify zmp delay time constant and auxiliary zmp inp
  • (Sample6dofRobot) : Add sample6dofrobot VRML which has 3 slide joints and 3 rotate joints. Add example f
  • rtc/DataLogger/DataLogger.cpp rtc/DataLogger/DataLogger.h: remove needless variable tm from member metho
  • (catkin.cmake, CMakeLists, samples/samplerobot*) : Move samplerobot examples to hrpsys-base
  • Contributors: Shunichi Nozawa, Kunio Kojima, Isaac IY Saito

315.2.3 (2014-07-28)

  • Adjusted to OpenRTM 1.1.1
  • use OCTOMAP_LIBRARY_DIRS instead of OCTOMAP_DIR, Fix #258
  • Use boost library for copysign because copysign in cmath only can be used in C++11 later
  • samplerobot:
    • Add example for impedancecontroller rtc.
    • Add examples for samplerobot by copying from start-jsk/hrpsys/samples discussed in
    • Add setFootSteps examples.
    • Add samples for DataLogger and Stabilizer.
    • Add example for impedancecontroller rtc
  • (JointPathEx.*, AutoBalancer, Stabilizer, ImpedanceController) : Remove solveLimbIK and use calcInverseKinematics2Loop
  • (, AutoBalancer.cpp) Fix overwriting of target foot coords, add example to check non-default stride stopping, and check RECTANGLE swing orbit
  • JointPathEx.*:
    • Move nullspace codes to reduce difference between calcInverseKinematics2Loop and solveLimbIK.
    • Remove unnecessary transition_count and resetting of nullspace vector.
    • Move nullspace codes to reduce difference between calcInverseKinematics2Loop and solveLimbIK.
    • Add readDigitalOutput.
    • Add connection for st qCurrent.
    • Add comment upon setTargetPose IK failure.
    • Add logger connection for walking RTCs.
    • Use Group to find eef name. PEP8 improvement.
  • Stabilizer.*:
    • Add new stabilizer control law (currently not enabled).
    • Use :end_effector instead of link origin in IK and fix mode transition.
    • Add getParameter function for stabilizer parameter
  • Add script for changelog from subdirectory information (discussed in jsk-ros-pkg/jsk_roseus#134)
  • GaitGenerator.*:
    • Fix bug of swing foot calculation and add reset orbit
    • Support rectangle foot swing orbit
  • (AutoBalancerService.idl, AutoBalancer., GaitGenerator., testGaitGenerator) : Enable to configure swing orbit type
  • (TorqueController) Added TwoDofControllerDynamicsModel option to initialize process. Use dynamic model based on equation of motion.
  • Fixed default tauMax from model. climit -> climit*gearRatio*torqueConst
  • Modified m_loop type int -> long long
  • Contributors: Kei Okada, Shunichi Nozawa

315.2.2 (2014-06-17)

  • (catkin.cmake) add code to check if hrpsys is installed correctly
  • manifest.xml/package.xml: depends on cv_bridge instad of opencv (
  • add patch to use opencv2.pc for last resort
  • (catkin.cmake) install src directory for custom iob
  • fix for hrp4c.launch
  • update to hrpsys version 315.2.2
  • (catkin.cmake) install src directory for custom iob, see for discussion
  • ( set rw permissions to all users for hrp4c model
  • (catkin.cmkae) use sed to fis install dir
  • sample/ : add sample code for RMFO rtc
  • (catkin.cmake) add disable ssl
  • - update in fkanehiro/hrpsys-base repository
  • 74d07f9 (lib/util/CMakeLists.txt) forget to install Hrpsys.h (24c6139826)
  • 0303d15 (rtc/PlaneRemover) adds a configuration variable pointNumThd to specify the minimum number of points to define a plane#226 from orikuma/refactoring-thermo-limiter
  • f34f28b (python/ adds return value of setConfiguration() and setProperty()
  • 85afa1c (rtc/ThermoLimiter) Removed TwoDofController, which is not used in ThermoLimiter now
  • 63f3ae7 (python/ add getRTCList for unstable RTCs
  • 9eb3a12 (rtc/SORFilter) fixes typos(again)
  • 233a31a (rtc/PlaneRemover) adds a new component, PlaneRemover
  • 26f2f09 (rtc/SORFilter) fixes typos
  • c5a8ee5 (rtc/TorqueFilter) Modified debug message position for tf params
  • 9c13ee2 (rtc/TorqueFilter) Added timestamp to tf.rtc:tauOut and modified method to deal with input error3e Modified and supressed error messages for TorqueFilter
  • de0b63e (rtc/TorqueFilter) Modified and supressed error messages for TorqueFilter
  • 6ebcb7b (rtc/TorqueController) Supress error message by debugLevel and output qRefIn to qRefOut when torque controller does not work due to some fault of input.
  • d3a7750 (rtc/PCDLoader) removes backup files
  • eafe5f5 (rtc/PCDLoader) adds a new component, PCDLoader
  • Contributors: Kei Okada, Shunichi Nozawa

315.2.1 (2014-05-12)

  • Merge pull request #83 from k-okada/add_git add build_depend to git
  • Contributors: Kei Okada

315.2.0 (2014-05-11)

  • update in fkanehiro/hrpsys-base repository
  • 53de9aa ( fix getRTCList only for stable RTC
  • 69b153e (KalmanFilter, Stabilizer) adds options to disable building KalmanFilter and Stabilizer
  • 1c6a1dd ( add DataLogger clear in setupLogger to start log data with same starting time
  • ad5401f ( use % operator instead of format ;; format cannot be used in python < 2.6
  • 7eec546 (KalmanFilter) avoid devision by zero
  • d6db569 (CMakeLists.txt) add Boost patch (remove -mt suffix)
  • 5dc9883 (ImpedanceController) add time stamp to output port, which are copied from m_q input time stamp
  • 917c8f1 (AutoBalancer) add time stamp to output ports, which are copied from m_q input time stamp
  • 9f09a3e (AutoBalancer) add baseTform to output transformation of base link
  • eaf85c2 (VideoCapture) enters ERROR state when a video devices doesn\'t exist
  • 8034945 (VideoCapture) opens video devices at onActivate()
  • b3e253b (SORFilter) adds a new component, SORFilter(PCL is required)
  • ec32ed0 (VideoCapture) enables to specify camera device ids by using a configuration variable, devIds
  • d651827 (AutoBalancer) fix first foot steps ;; this update is discussed in
  • e889719 (RemoveForceSensorLinkOffset) remove unused files commited at previous commit
  • 430aa95 rename rtc ;; AbsoluteForceSensor -> RemoveForceSensorLinkOffset
  • 72fff04 (AutoBalancerService.idl, AutoBalancer) update start and stop function for AutoBalancer mode ;; use string sequence instead of deprecated type\'s sequence ;; rename function
  • 811c573 (AutoBalancerService.idl) update comments for AutoBalancer idl
  • fb155c6 (, SequencePlayer) adds an input data port, zmpRefInit to SequencePlayer(by notheworld)
  • 47677b7 (util/PortHandler.cpp) updates an error message
  • 9417846 (315.1.10:sample/HRP4C/ fix use __main__ to call demo() and it also call initCORBA, see Issue 195
  • d30a9f6 (315.1.10:sample/PA10/ log is already started in activateComps()
  • d09f1b9 ( print error message when roonc is not defined in findRTCmanager and findObject, it also set hostname from set.gethostname if not defined in findRTCmanager(), see Issue #173
  • d196165 (315.1.10:sample/PA10/ use __main__ to call demo() and it also call initCORBA, see Issue 195
  • ed59880 (AutoBalancer) set current footstep pos and rot even if not ABC mode
  • 6b84d09 (Range2PointCloud) supports unsymmetric scan angles
  • 12ff024 (lib/util/PortHandler.cpp) sets RangerConfig
  • 25df3dd (python/ executes waitInputMenuMain() in a thread
  • 76f5762 ( fixes a typo
  • c0d8a92 ( adds the second argument to load()
  • d7b2646 (ImageData2CameraImage) initialize error_code
  • b54cb47 (RangeDataViewer) adds a new component, RangeDataViewer
  • 1e6360e (315.1.10:ProjectGenerator) do not pass non-openrtm arg to Manager::init(), see Issue #193
  • de4b353 (415.1.10:ProjectGenerator) clean up debug message see Issue #193
  • 03ec80d (lib/util/VectorConvert.h) adds operator>> for hrp::dvector and hrp::Vector3
  • 77af006 (SequencePlayer/interpolator.cpp) enable user to change DEFAULT_AVG_VEL, see Issue 189 (interpolators[WRENCHES])
  • 1859064 (SequencePlayerService.idl) add setWrenches, interpolate wrench in seq, see Issue 153
  • 848bbfc ( add function documents, many thanks to isaac
  • e203012 ( add to call setSelfGroups in init()
  • 73f80e2 ( move common code for real robots, see issue
  • 2182a35 (TorqueController) show error message every 100 loops
  • 90a8bfc ( do not raise error when component is not found in findComp
  • 9fd098e ( add findComps, see
  • ccf60e3 ( fix wrong commit on r976/Issue #179
  • bd4e92f (CMakeLists.txt) add more message when library is not found
  • f966a06 (CMakeLists.txt) add message when library is not found
  • 3feb6b3 (SequencePlayer) adds a misc. change
  • 5741b9f (SequencePlayer) revert rpy loading according to discussion in ;; load RPY from .hip file and load pos and RPY from .waist file
  • 0a1ee15 (CaptureController) add a new component CaptureController
  • 67b6b7d ( add idldir to
  • 24bd8fa (FindOpenHRP.cmake) use OPENHRP_IDL_DIR for openhrp3 idl file location
  • 87e91e5 ( support setTargetPose(self, gname, pos, rpy, tm, frame_name=None), fixed Issue 184
  • 2936ce6 (ImpedanceController) more user friendly error message
  • a386425 ( fixes a problem in readDataPort() and adds an option, disconnect to writeDataPort
  • 576a969 ( More human friendly error message upon connection error, see Issue 183
  • 6539ee3 (Range2PointCloud) supports multiple lines
  • a585b54 (VideoCapture) fixes a bug in oneshot mode
  • 9d6517f ( add more user friendly error message
  • a66c478 (CMakeLists.txt, rtc) set tag version to compoent profile version, see Issue 181
  • 1a284f7 (Range2PointCloud) adds a port for sensor pose input
  • 08a2dc1 (lib/util/PortHandler.cpp) sets angularRes in RangeData
  • bff42b8 (ExtractCameraImage) add a new component, ExtractCameraImage
  • 26dc4e4 (ImageData2CameraImage) add a component ImageData2TimedcameraImage
  • f1f90d8 (sample/ installs
  • d5c79c2 (VideoCapture) fixes a problem in oneshot mode
  • 1446d24 ( fix confusing variable names pos->angles, see Issue 179
  • d6c56f8 (sample/ a sample script to use vision related RTCs
  • 099bd22 (JpegDecoder) supports grayscale images
  • d5e5096 (Img.idl) adds new image formats
  • 520a3d4 (VideoCapture) added a service port for CameraCaptureService to VideoCapture component
  • 2219c36 (ResizeImage) add a component ResizeImage(not tested yet)
  • 58fe438 (RGB2Gray) added a component RGB2Gray
  • 556d65c (JpegEncoder) added a component JpegEncoder
  • c39d7a3 (VideoCapture) changes data type of outport depending on the number of cameras
  • 7f9d2f5 (CameraImageViewer) corrects description
  • - update to hrpsys version 315.2.0, remove patches
  • use according to discussion ;; support latest autoablancer idl
  • import imp package and roslib
  • pass EXTRA RTC setting by string
  • fix Makefile.hrpsys-base, git checkout \$(GIT_REVISION) after git reset --hard
  • use for creating RTCs, connecting of ports, and activation
  • (package.xml) Add version semantics clarification.
  • use
  • remove installed file if openhrp3_FOUND is not found Add auto balancer samples
  • add sample code for auto balancer
  • add AutoBalancer parameter to
  • add conf setting for StateHolder and AutoBalancer
  • Merge pull request #63 from k-okada/315_1_10 update to 315.1.10
  • qhull.patch only requres for arch package
  • samples/{pa10,hrp4c,samplerobot}.launch: add sample programs
  • add test code to check if file exists, add more test on setJointAngle
  • move to 315.1.10
  • Update
  • ( add more debug message when test failed
  • fix typo
  • add rosbash : temporarily until openrtm_aist_core provides rosbash
  • `test-*.py`: use imp.find_module to check if we need to use roslib.load_manifest()
  • ( add more debug message when test failed
  • add start omniNames for test code
  • add Isaac to maintainer
  • add python-tk to run_depend
  • (CMakeLists.txt) fix conf file path for deb/rosbuild environment
  • fix rosbuild compile option for working both deb/source
  • add PKG_CONFIG_PATH for rosbuild environment
  • (.travis.yml) add rosbuild/deb test
  • Contributors: Isaac IY Saito, Kei Okada, Ryohei Ueda, Shunichi Nozawa

315.1.9 (2014-03-15)

  • \"315.1.9\"
  • prepare for release 315.1.9
  • Merge pull request #53 from k-okada/failed_to_compile_using_rosbuild_52
    • add test codes
    • merge #39
    • fix PKG_CONFIG_PATH before rostest
    • use load_manifest for rosbuild
  • use load_manifest for rosbuild
  • set PKG_CONFIG_PATH before rosmake test to find openhrp3.1.pc and hrpsys-base.pc
  • use := instead of ?= because ?= does not work if PKG_CONFIG_PATH exists and openrtm.pc or openhrp3.pc are not included in PKG_CONFIG_PATH ;; I does not work groovy+rosbuild environment
  • add test codes
  • add rosbuild/roslang to depend
  • rename manifest.xml for rosdep, see
  • add retry for test, see for the problem
  • add groovy/catkin/deb
  • fix openhrp3 path for deb environment
  • (manifeset.xml) add restest to rosdep
  • check rosdep until it succeeded
  • fix print LastTest.log
  • Add python patch for Arch
  • Add Boost patch (remove -mt suffix).
  • Fix qhull paths.
  • (manifeset.xml) add restest to rosdep
  • check rosdep until it succeeded
  • check rosbuild/catkin deb/source with travis
  • clean up test code for hrpsys (use findComps(), add DataLogger, test, cleanup test name)
  • start using 315.1.9, do not release until 315.1.9 is finally fixed
  • added -l option as well as -j
  • compile hrpsys in parallel, but it\'s up to 12 parallel jobs
  • ( wait (at most 10sec) if findComp found target component, check if RobotHardware is active, see Issue #191
  • ( add max_timeout_count to findComps, if findComp could not find RTC (for 10 seconds), successor RTC only check for 1 time
  • Contributors: Benjamin Chr

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • samples/pa10.launch
      • corbaport [default: 15005]
      • GUI [default: true]
  • samples/samplerobot.launch
      • corbaport [default: 15005]
      • GUI [default: true]
      • CONTROLLER_PERIOD [default: 500]
      • CONF_FILE [default: $(find hrpsys)/share/hrpsys/samples/SampleRobot/SampleRobot.$(arg CONTROLLER_PERIOD).conf]
      • TORQUE_CONTROL [default: false]
      • PROJECT_FILE [default: $(find hrpsys)/share/hrpsys/samples/SampleRobot/SampleRobot.$(arg CONTROLLER_PERIOD).xml]
      • PROJECT_FILE [default: $(find hrpsys)/share/hrpsys/samples/SampleRobot/SampleRobot.$(arg CONTROLLER_PERIOD).torque.xml]
      • JOINT_CONTROLLER [default: HGcontroller]
      • JOINT_CONTROLLER [default: PDcontroller]
  • samples/hrp4c.launch
      • corbaport [default: 15005]
      • GUI [default: true]
  • samples/sample6dofrobot.launch
      • corbaport [default: 15005]
      • GUI [default: true]
      • CONF_FILE [default: $(find hrpsys)/share/hrpsys/samples/Sample6dofRobot/Sample6dofRobot.conf]
      • PROJECT_FILE [default: $(find hrpsys)/share/hrpsys/samples/Sample6dofRobot/Sample6dofRobot.xml]


No message files found.


No service files found


No plugins found.

Recent questions tagged hrpsys at