Skip to content

WoLF: Whole-body Locomotion Framework for quadruped robots

License

Notifications You must be signed in to change notification settings

graiola/wolf-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

378 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WoLF: Whole-body Locomotion Framework for quadruped robots

This repo contains the setup for the whole-body controller presented in the following papers raiola2020simple, raiola2022wolf:

@article{raiola2020simple,
  title={A simple yet effective whole-body locomotion framework for quadruped robots},
  author={Raiola, Gennaro and Mingo Hoffman, Enrico and Focchi, Michele and Tsagarakis, Nikos and Semini, Claudio},
  journal={Frontiers in Robotics and AI},
  volume={7},
  pages={159},
  year={2020},
  publisher={Frontiers}
}

@article{raiola2022wolf,
  title={WoLF: the Whole-body Locomotion Framework for Quadruped Robots},
  author={Raiola, Gennaro and Focchi, Michele and Hoffman, Enrico Mingo},
  journal={arXiv preprint arXiv:2205.06526},
  year={2022}
}

Features

WoLF provides several features for your quadruped robotic friend:

Push recovery Step reflex Navigation ready Loco-manipulation Multi robot

Packages

How to run WoLF

You can run WoLF from source, by installing the debian packages on your computer, or with a docker container. To clone this repository run the following command:

git clone https://github.com/graiola/wolf-setup.git

Source installation

Use source installation if you want to develop or tune the framework.

  • ROS1 Noetic branch: ros1-noetic-pub
  • ROS2 Humble branch: ros2-humble-pub

ROS1 (Noetic)

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone -b ros1-noetic-pub https://github.com/graiola/wolf.git
cd wolf
git submodule update --init --recursive
cd ~/catkin_ws
source /opt/ros/noetic/setup.bash
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build
source devel/setup.bash

ROS2 (Humble)

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone -b ros2-humble-pub https://github.com/graiola/wolf.git
cd wolf
git submodule update --init --recursive
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bash

Docker container for Ubuntu 16.04 - 18.04 - 20.04

To download the image from docker-hub and launch WoLF within a docker container, run the following script:

./run_docker.sh

You can see what are the available options in the script with the following command:

./run_docker.sh --help

In case you don't have docker installed on your computer, you can run the following script:

./support/install_docker.sh

This script will install docker and its dependencies.

Demos:

We prepared some demos to run directly within the docker container:

  • ./demos/2d_navigation.sh : Run an indoor 2D navigation demo
  • ./demos/3d_navigation.sh : Run an outdoor 3D navigation demo
  • ./demos/manipulation.sh : Run spot with a kinova arm mounted on top
  • ./demos/locomotion.sh : Run a demo with stairs
  • ./demos/ros2.sh : ROS2 demo

Notes:

  • It could be necessary to restart the computer after running install_docker.sh.
  • Use the install_nvidia.sh script in the support folder if you are experiencing the following problem: could not select device driver "" with capabilities: [[gpu]].
  • If you are experiencing this problem nvidia-container-cli initialization error nvml error driver not loaded, it probably means that your computer does not have the latest nvidia-drivers installed, so be sure that they are installed and updated to the last version.

System installation for Ubuntu 20.04

To install the required dependencies (including ROS) and the WoLF debian packages run the following:

./install.sh

After the installation, update your bash enviroment with the following command:

source ~/.bashrc

How to add a new robot

If you want to test a different quadruped robot check out wolf_descriptions.

Changelog

Check the changelog here

About

WoLF: Whole-body Locomotion Framework for quadruped robots

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published