Skip to content

ROS2 version of OCS2, refactor with modern-cmake

License

Notifications You must be signed in to change notification settings

hao-tian-zhang/ocs2_ros2

 
 

Repository files navigation

OCS2_ROS2 Toolbox

1. Summary

OCS2_ROS2 is developed based on OCS2, it was refactored to be compatible with ROS2 and modern cmake. Below is the current todolist of the project:

  • modern cmake
  • basic 6 examples in official documents
  • WSL2 support
  • Fix Quadrotor example's unexpected behavior
  • Fix Mobile Manipolator's interactive marker
  • perceptive locomotion demo
  • tinyxml2 problem in Ubuntu 24.04 ROS2 Jazzy
  • raisim demo
  • mpc_net demo

The IDE I used is CLion, you can follow the guide to set up the IDE.

2. Installation

2.1 Prerequisites

The OCS2 library is written in C++17. It is tested under Ubuntu with library versions as provided in the package sources.

Tested system and ROS2 version:

  • Ubuntu 24.04 ROS2 Jazzy
  • Ubuntu 22.04 ROS2 Humble

2.2 Dependencies

  • C++ compiler with C++17 support
  • Eigen (v3.4)
  • Boost C++ (v1.74)

2.3 Clone Repositories

  • Create a new workspace or clone the project to your workspace
cd ~
mkdir -p ocs2_ws/src
  • Clone the repository
cd ~/ocs2_ws/src
git clone https://github.com/legubiao/ocs2_ros2
git submodule update --init --recursive
  • rosdep
cd ~/ocs2_ws
rosdep install --from-paths src --ignore-src -r -y

2.4 Basic Examples

Check here for more detailed instructions.

Video Links: bilibili

3. Advanced Examples

3.1 Perceptive Locomotion

OCS2_Perceptive Anymal

3.2 RaiSim Simulation

OCS2_RaiSim

3.3 MPC-Net

OCS2_MpcNet

About

ROS2 version of OCS2, refactor with modern-cmake

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.9%
  • Python 3.9%
  • CMake 2.0%
  • C 0.2%