Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
b901ed4
modify description name (#1)
jzhao6x Apr 16, 2025
71e2381
modify for ocs2 (#2)
jzhao6x May 7, 2025
e5f9e55
update for benchmarking (#3)
jzhao6x May 14, 2025
121b215
Fix compile error (#4)
RoboticsYY May 20, 2025
ed57c39
Disable non necessary build (#5)
RoboticsYY May 21, 2025
8030a27
:Fix CI build (#6)
RoboticsYY May 26, 2025
9a8f7e7
Remove redundant steps for CI build (#8)
RoboticsYY May 27, 2025
ce066e1
update for ocs2 build only test (#7)
jzhao6x May 28, 2025
2f174ae
Add default reviewers (#9)
RoboticsYY Aug 15, 2025
5a1d92c
Trigger CI on ros2 branch (#10)
RoboticsYY Aug 15, 2025
3de6715
CI: update build flow for ros2 (#11)
jzhao6x Aug 18, 2025
e35395c
CI: remove ocs2_robotic_assets as git submodule (#16)
jzhao6x Aug 18, 2025
ce1e8f6
ocs2_thirdparty: porting for ros2 humble. (#12)
xzhan34 Aug 19, 2025
81509b1
enable ocs2_thirdparty in the build system. (#23)
xzhan34 Aug 20, 2025
bf24dad
ocs2_msgs: porting to ros2 humble (#21)
sunausti Aug 21, 2025
b20b6a7
CI: Optimize CI running time (#19)
jzhao6x Aug 21, 2025
611a6e2
Update Code Owner ocs2_msgs and tools (#24)
sunausti Aug 21, 2025
cbe285a
CI: update docker registry (#26)
jzhao6x Aug 21, 2025
2bd3847
ocs2_core: porting for ros2 humble. (#14)
xzhan34 Aug 22, 2025
ecb890d
CI: add ocs2_robotic_assets (#27)
jzhao6x Aug 25, 2025
86b83b5
ocs2_oc: porting for ros2 humble. (#28)
xzhan34 Aug 25, 2025
3606263
Fix ocs2_core compile warnings (#31)
RoboticsYY Aug 25, 2025
32b7c90
ocs2_robotic_tools: porting to ros2 humble (#25)
sunausti Aug 25, 2025
400b567
Clean up (#33)
RoboticsYY Aug 26, 2025
6f2f33c
ocs2_mpc porting for ros2 humble (#29)
baihe-liu Aug 27, 2025
13b3523
CI: add MujocoRosUtils (#38)
jzhao6x Aug 27, 2025
8956d8f
fix issue #41 (#42)
jzhao6x Aug 28, 2025
d5f85ae
Fix ocs2_core cmake module export (#43)
RoboticsYY Aug 28, 2025
18b5919
ocs2_qp_solver: porting to ros2 humble (#36)
Nisyhaal Aug 28, 2025
1c8b5ab
ocs2_pinocchio_interface: porting to ros2 humble (#40)
sunausti Aug 29, 2025
910b445
ocs2_ddp: porting to ros2 humble (#32)
sunausti Aug 29, 2025
c4c0542
ocs2_ros_interfaces: porting for ros2 humble. (#37)
xzhan34 Sep 1, 2025
ce672ac
Fix compiling warnings found in CI (#47)
RoboticsYY Sep 2, 2025
239c3dd
ocs2_self_collision: porting to ros2 humble (#45)
sunausti Sep 2, 2025
54d648b
Fix hpp-fcl export from ocs2_self_collision (#50)
RoboticsYY Sep 5, 2025
1b49304
ocs2_mobile_manipulator: porting to ros2 humble (#49)
baihe-liu Sep 8, 2025
08c3c1b
ocs2_self_collision_visualization: porting to ros2 humble (#46)
Nisyhaal Sep 9, 2025
5d8d723
ocs2_mobile_manipulator_ros: porting to ros2 humble (#51)
sunausti Sep 11, 2025
ea36d10
Fix Franka example launch (#52)
RoboticsYY Sep 12, 2025
cc1339a
fix missing pkg for ocs2 examples running (#53)
jzhao6x Sep 25, 2025
0849cb4
Fix mobile manipulator example issues (#54)
RoboticsYY Sep 25, 2025
a53c812
Modify for dual-arm ACT+OCS2+MUJOCO in simulation (#57)
AnnikaWU Nov 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
FROM osrf/ros:humble-desktop-full-jammy

RUN apt-get update

RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \
keyboard-configuration --assume-yes

RUN apt-get install -y \
libglpk-dev \
libmpfr-dev \
libglfw3 \
libglfw3-dev \
libosmesa6 \
freeglut3-dev \
mesa-common-dev \
python3-pip \
python3-wstool \
wget

RUN apt-get install -y \
ros-humble-pinocchio \
ros-humble-hpp-fcl \
ros-humble-joint-state-publisher

RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/*

CMD ["bash"]
10 changes: 10 additions & 0 deletions .docker/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash
# please login docker hub before run this script

IMAGE_NAME="ros2_ocs2"
IMAGE_TAG="latest"
IMAGE_REGISTRY="ecgfiscbuildserver1.sh.intel.com:5000"

docker build -t ${IMAGE_NAME}:${IMAGE_TAG} .
docker tag ${IMAGE_NAME}:${IMAGE_TAG} ${IMAGE_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}
docker push ${IMAGE_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}
23 changes: 23 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# OCS2 Intel-maintained repo default reviewers

# Default Reviewers:
* @RoboticsYY @baihe-liu @AnnikaWU

# OCS2 ROS2 porting code owner
/.docker @jzhao6x
/.github @jzhao6x
/ocs2_thirdpary @xzhan34
/ocs2_msgs @sunausti
/ocs2_robotic_tools @sunausti
/ocs2_core @xzhan34
/ocs2_oc @xzhan34
/ocs2_test_tools/ocs2_qp_solver @Nisyhaal
/ocs2_mpc @baihe-liu
/ocs2_robotic_tools @sunausti
/ocs2_ddp @sunausti
/ocs2_ros_interface @xzhan34
/ocs2_pinocchio/ocs2_pinocchio_interface @sunausti
/ocs2_pinocchio/ocs2_self_collision @sunausti
/ocs2_pinocchio/ocs2_self_collision_visualization @Nisyhaal
/ocs2_robotic_examples/ocs2_mobile_manipulator @baihe-liu
/ocs2_robotic_examples/ocs2_mobile_manipulator_ros @sunausti
87 changes: 48 additions & 39 deletions .github/workflows/ros-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,77 +2,86 @@ name: Build and Test OCS2

on:
push:
branches: [ main ]
branches: [ ros2 ]
pull_request:
branches: [ main ]
branches: [ ros2 ]

jobs:
build:

# build both Debug and Release mode
strategy:
fail-fast: false
matrix:
build_type: [ Debug, Release ]

mujoco-version: [2.3.7]
# environment: regular Ubuntu with a vanilla ROS container
runs-on: ubuntu-latest
container:
image: ros:noetic
runs-on: [self-hosted, Linux, X64]
# Registry the docker image to configure /etc/docker/daemon.json as:
# {
# "insecure-registries": ["XXX.XXX.XXX.XXX:XXXX",
# "ecgfiscbuildserver1.sh.intel.com:5000"]
# }
container: ecgfiscbuildserver1.sh.intel.com:5000/ros2_ocs2:latest

steps:
- name: Environment Info
shell: bash
run: |
pwd
uname -r
lsb_release -a

- name: System deps
shell: bash
run: |
apt-get update
apt-get install -y git ninja-build liburdfdom-dev liboctomap-dev libassimp-dev checkinstall wget rsync
source /opt/ros/humble/setup.bash

- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
path: src/ocs2
submodules: false

- uses: actions/checkout@v4
with:
repository: intel-sandbox/ocs2_robotic_assets
ref: ros2
path: src/ocs2_robotic_assets
token: ${{ secrets.GH_PAT }}

- name: Rosdep
shell: bash
run: |
rosdep update
rosdep update --rosdistro humble
rosdep install --from-paths src --ignore-src -r -y

- name: Checkout dependencies
run: |
git clone --recurse-submodules https://github.com/leggedrobotics/pinocchio.git src/pinocchio
git clone --recurse-submodules https://github.com/leggedrobotics/hpp-fcl.git src/hpp-fcl
git clone https://github.com/leggedrobotics/ocs2_robotic_assets.git src/ocs2_robotic_assets

- name: Install RaiSim
- name: Build
shell: bash
run: |
git clone --depth 1 https://github.com/raisimTech/raisimLib.git -b v1.1.01 src/raisim_tech
cd src/raisim_tech
mkdir build
cd build
cmake .. -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
make -j4 && checkinstall

- name: Install ONNX Runtime
rm -fr build install log
if [ -d "src/MujocoRosUtils" ]; then
echo "Cleaning up existing src/MujocoRosUtils directory..."
rm -rf src/MujocoRosUtils
fi
rm -fr mujoco-*
source /opt/ros/humble/setup.bash
colcon build --packages-skip mujoco_ros_utils --cmake-args -DCMAKE_BUILD_TYPE=Release

- name: Download MuJoCo
shell: bash
run: |
wget https://github.com/microsoft/onnxruntime/releases/download/v1.7.0/onnxruntime-linux-x64-1.7.0.tgz -P tmp/microsoft
tar xf tmp/microsoft/onnxruntime-linux-x64-1.7.0.tgz -C tmp/microsoft
rsync -a tmp/microsoft/onnxruntime-linux-x64-1.7.0/include/ /usr/local/include/onnxruntime
rsync -a tmp/microsoft/onnxruntime-linux-x64-1.7.0/lib/ /usr/local/lib
rsync -a src/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/misc/onnxruntime/cmake/ /usr/local/share/onnxruntime
wget https://github.com/deepmind/mujoco/releases/download/${{ matrix.mujoco-version }}/mujoco-${{ matrix.mujoco-version }}-linux-x86_64.tar.gz
tar -zxvf mujoco-${{ matrix.mujoco-version }}-linux-x86_64.tar.gz
rm -fr mujoco-${{ matrix.mujoco-version }}-linux-x86_64.tar.gz

- name: Build (${{ matrix.build_type }})
- name: Build MuJoCoRosUtil
shell: bash
run: |
source /opt/ros/noetic/setup.bash
catkin_make_isolated --use-ninja --merge --only-pkg-with-deps ocs2 --cmake-args -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
git clone --recurse-submodules https://github.com/isri-aist/MujocoRosUtils.git src/MujocoRosUtils
rosdep install -y -r --from-paths src --ignore-src
source /opt/ros/humble/setup.bash
colcon build --packages-select mujoco_ros_utils --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMUJOCO_ROOT_DIR=${PWD}/mujoco-${{ matrix.mujoco-version }}

- name: Test
shell: bash
run: |
source devel_isolated/setup.bash
catkin_make_isolated --use-ninja --merge --only-pkg-with-deps ocs2 --catkin-make-args run_tests
catkin_test_results
source install/setup.bash
colcon test
colcon test-result --all --verbose
Empty file added log/COLCON_IGNORE
Empty file.
1 change: 1 addition & 0 deletions log/latest
1 change: 1 addition & 0 deletions log/latest_build
Empty file added ocs2/COLCON_IGNORE
Empty file.
Loading