README
SEROW (State Estimation RObot Walking) Framework for Humanoid/Quadruped Robot Walking Estimation. The code is open-source (BSD License). Please note that this work is an on-going research and thus some parts are not fully developed yet. Furthermore, the code will be subject to changes in the future which could include greater re-factoring.
SEROW in Real-time
Cogimon and SEROW |
Centauro and SEROW |
|
|
Relevant Papers:
More Videos:
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
- Ubuntu 16.04 and later
- ROS kinetic and later
- Eigen 3.2.0 and later
-
Pinocchio 2.2.1
Installing
- sudo apt-get install ros-kinetic-pinocchio
- git clone https://github.com/mrsp/serow.git
- catkin_make -DCMAKE_BUILD_TYPE=Release
- If you are using catkin tools run: catkin build --cmake-args -DCMAKE_BUILD_TYPE=Release
Minimum Robot Requirements
Using the Rigid Body Estimator to estimate:
- 3D-Body Position/Orientation/Velocity
- 3D-Support Foot Position/Orientation
- IMU biases
Requirements
- Robot State Publisher (e.g. topic: /joint_states)
- IMU (e.g. topic /imu0)
- Feet Pressure or Force/Torque Sensors for detecting contact (e.g. topic: /left_leg/force_torque_states, /right_leg/force_torque_states)
Using the full cascade framework (Rigid Body Estimator + CoM Estimator) to estimate:
- 3D-Body Position/Orientation/Velocity
- 3D-Support Foot Position/Orientation
- IMU biases
- 3D-CoM Position/Velocity
- 3D-External Forces on CoM
Requirements:
- Robot State Publisher (e.g. topic: /joint_states)
- IMU(e.g. topic /imu0)
- Feet Pressure or Force/Torque Sensors for Center of Pressure (COP) measurements in the local foot frame (e.g. topics /left_leg/force_torque_states, /right_leg/force_torque_states)
Using our serow_utils package
Use the serow_utils to visualize the estimated trajectories and to contrast them with other trajectories (e.g. ground_truth).
ROS Examples
Valkyrie SRCsim
- Download the valkyrie bag file from valk_bagfile
- roscore
- rosbag play --pause valk.bag
- roslaunch serow serow_valkyrie.launch
- roslaunch serow_utils serow_utils.launch
- hit space to unpause the rosbag play
NAO Walking on rough terrain outdoors
- Download the nao bag file from nao_bagfile
- roscore
- rosbag play --pause nao.bag
- roslaunch serow serow_nao.launch
- roslaunch serow_utils serow_utils.launch
- hit space to unpause the rosbag play
Launch on your Robot in real time
- Specify topics on config/estimation_params.yaml
- roslaunch serow serow.launch
Quadruped State Estimation
- Specify similar parameters as in config/estimation_params_centauro.yaml
Citation
Upon usage in an academic work kindly cite:
@ARTICLE{PiperakisRAL18,
author={S. {Piperakis} and M. {Koskinopoulou} and P. {Trahanias}},
journal={IEEE Robotics and Automation Letters},
title={{Nonlinear State Estimation for Humanoid Robot Walking}},
year={2018},
volume={3},
number={4},
pages={3347-3354},
doi={10.1109/LRA.2018.2852788},
month={Oct},
}
License
BSD