Skip to content

TUM-ICS/openwalker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentation License Docker

The OpenWalker Project aims to fulfill the need for a standard walking controller architecture providing the minimal components required to generate stable walking on biped robots with planar feet. The project is based on ros_control and provides modules and templates for fast prototyping of balancing/walking controller components.

A description of all implemented algorithms and modules is available in the online documentation.

real.mp4
sim.mp4

Install (Docker)

We release a Docker image that can directly be used with VS Code Dev Containers to develop and run the project.

Requirements

1. Pull the image

docker pull ghcr.io/tum-ics/ow_docker:melodic-reemc-devel-vscode

2. Clone this repository and start the devcontainer

If the nvidia-container-toolkit is not used, edit devcontainer.json and remove --runtime=nvidia

git clone --recursive https://github.com/TUM-ICS/openwalker.git
cd openwalker && code .

3. Build the workspace inside the devcontainer

source /opt/pal/setup.bash
catkin build -DCATKIN_ENABLE_TESTING=0 -DCMAKE_BUILD_TYPE=Release

Install (Manual)

Alternatively, the project can also be installed on an Ubuntu 18.04 machine.

Requirements

1. Clone this repository and set up the ROS environment.

git clone --recursive https://github.com/TUM-ICS/openwalker.git
cd openwalker && source /opt/ros/melodic/setup.bash

2. Install the required build tools.

./doc/install/install.sh

3. Populate the workspace with the REEM-C packages.

rosinstall src/reemc /opt/ros/melodic doc/install/melodic.rosinstall

4. Install the required dependencies.

sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro melodic -y --skip-keys="opencv2 pal_laser_filters speed_limit_node sensor_to_cloud hokuyo_node libdw-dev gmock walking_utils rqt_current_limit_controller simple_grasping_action reemc_init_offset_controller walking_controller"

5. Build the workspace.

catkin build -DCATKIN_ENABLE_TESTING=0 -DCMAKE_BUILD_TYPE=Release

Run

The following demo generates dynamic walking for the humanoid robot REEM-C of PAL Robotics. It uses Gazebo for the physics simulation and Rviz for visualization. The robot can execute predefined foot-step plans or be controlled with a joystick by a user.

For Docker users, this readme describes how to connect terminals with the container.

1. Launch the simulation.

source devel/setup.bash
roslaunch ow_reemc gazebo.launch

2. Run the controller.

source devel/setup.bash
roslaunch ow_reemc sim.launch

3. Call one of the following services to start walking.

source devel/setup.bash

# Step in place.
rosservice call /open_walker/plan_fixed_stamp

# Walk in a straight line.
rosservice call /open_walker/plan_fixed_line

# Walk to the side
rosservice call /open_walker/plan_fixed_sidestep_left
rosservice call /open_walker/plan_fixed_sidestep_right

# Walk in circles.
rosservice call /open_walker/plan_fixed_circle_right
rosservice call /open_walker/plan_fixed_circle_left

# Generic plan with 20 steps of 0.2 m length and 0.1 rad angle 
rosservice call /open_walker/plan_fixed "n_steps:
  data: 20
length:
  data: 0.2 
lateral:
  data: 0.0
angle:
  data: 0.1"

Credits

OpenWalker was developed by Emmanuel Dean, Florian Bergner, Rogelio Guadarrama-Olvera, Simon Armleder, and Gordon Cheng from the Institute for Cognitive Systems (ICS), Technical University of Munich, Germany.

Acknowledgement

This project has received funding from the European Union‘s Horizon 2020 research and innovation programme under grant agreement No 732287.

About

Openwalker main project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors