Skip to content

Commit 63c8a76

Browse files
authored
Merge pull request #119 from j3soon/feat/so101-ws
SO-101 Workspace
2 parents cc15804 + 5ec807b commit 63c8a76

File tree

46 files changed

+1070
-20
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1070
-20
lines changed

README.md

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,13 @@ cd ros2-essentials
4747
> - Use `--recreate-links` to force replacement of non-hard-link files under workspace `docker/modules/`.
4848
> - Use `--recreate-volumes` to invalidate Gazebo/Isaac Sim/Isaac ROS cache volumes after related updates or testing.
4949
> - Use `--remove-containers` to auto-remove containers that block volume recreation.
50+
51+
> **Troubleshooting**:
52+
>
53+
> If you encounter an error like `"failed to solve: failed to compute cache key: failed to calculate checksum of ref ...: "/modules/install_ros.sh": not found` when building Docker images, it means `post_install.sh` hasn't been run. This script creates necessary hard links for the Docker build process.
5054
>
51-
> **Troubleshooting**: If you encounter an error like `"failed to solve: failed to compute cache key: failed to calculate checksum of ref ...: "/modules/install_ros.sh": not found` when building Docker images, it means `post_install.sh` hasn't been run. This script creates necessary hard links for the Docker build process.
55+
> If you encountered error like `Error response from daemon: remove ros2-isaac-sim-cache: volume is in use` when running `./scripts/post_install.sh`, it means that previous containers are not removed successfully. Run `docker ps -a | grep ros2` and use `docker rm <container_id>` to remove the containers and then run the script again.
56+
>
5257
5358
Then, configure the container user ID to match your host user ID by modifying the host `~/.bashrc` (or `~/.zshrc`) to include the following line:
5459
@@ -79,22 +84,23 @@ Pre-built Docker images for each workspace can be pulled by running `docker comp
7984
8085
The docker image of the template workspace is share by most of the workspace, allowing saving spaces by sharing common packages. Click on the following workspaces to navigate to their respective documentation.
8186
82-
| Workspace | x86_64 | Jetson | DGX Spark | Notes | Maintainer |
83-
|-----------|--------|--------|-----------|-------|------------|
84-
| [Template](https://j3soon.github.io/ros2-essentials/template-ws/) | ✔️ | ✔️ | ✔️ | ARM support currently tracked identically for Jetson and DGX Spark. | [Yu-Zhong Chen](https://github.com/YuZhong-Chen), [Johnson Sun](https://github.com/j3soon) |
85-
| [ORB-SLAM3](https://j3soon.github.io/ros2-essentials/orbslam3-ws) | ✔️ ||| | [Assume Zhan](https://github.com/Assume-Zhan) |
86-
| [ROS1 Bridge](https://j3soon.github.io/ros2-essentials/ros1-bridge-ws/) | ✔️ | ✔️ | ✔️ | Skip linting | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
87-
| [Clearpath Husky](https://j3soon.github.io/ros2-essentials/husky-ws/) | ✔️ | ✔️ | ✔️ | Real-world support | [Yu-Zhong Chen](https://github.com/YuZhong-Chen), [Johnson Sun](https://github.com/j3soon) |
88-
| [Yujin Robot Kobuki](https://j3soon.github.io/ros2-essentials/kobuki-ws/) | ✔️ | ✔️ | ✔️ | Real-world support | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
89-
| [Velodyne VLP-16](https://j3soon.github.io/ros2-essentials/vlp-ws/) | ✔️ | ✔️ | ✔️ | Real-world support | [Assume Zhan](https://github.com/Assume-Zhan) |
90-
| [Gazebo World](https://j3soon.github.io/ros2-essentials/gazebo-world-ws/) | ✔️ | ❌️ | ❌️ | | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
91-
| [ALOHA](https://j3soon.github.io/ros2-essentials/aloha-ws/) | ✔️ | ✔️ | ✔️ | Simulation only | [Johnson Sun](https://github.com/j3soon) |
92-
| [Turtlebot3](https://j3soon.github.io/ros2-essentials/turtlebot3-ws/) | ✔️ | ❌️ | ❌️ | Simulation only | [Johnson Sun](https://github.com/j3soon) |
93-
| [Tesollo Delto Gripper](https://j3soon.github.io/ros2-essentials/delto-gripper-ws/) | ✔️ | ❌️ | ❌️ | Simulation only | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
94-
| [Unitree Go2](https://j3soon.github.io/ros2-essentials/go2-ws/) | ✔️ | ❌️ | ❌️ | Simulation only | [Yu-Zhong Chen](https://github.com/YuZhong-Chen), [Assume Zhan](https://github.com/Assume-Zhan), [Johnson Sun](https://github.com/j3soon) |
95-
| [Unitree H1](https://j3soon.github.io/ros2-essentials/h1-ws/) | ✔️ | ❌️ | ❌️ | Simulation only | [Johnson Sun](https://github.com/j3soon) |
96-
| [Hello Robot Stretch 3](https://j3soon.github.io/ros2-essentials/stretch3-ws/) | ✔️ | ❌️ | ❌️ | Simulation only | [@JustinShih0918](https://github.com/JustinShih0918), [Johnson Sun](https://github.com/j3soon) |
97-
| [Universal Robots UR5](https://j3soon.github.io/ros2-essentials/ur5-ws/) | ✔️ | ❌️ | ❌️ | Real-world support (CB3 only) | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
87+
| Workspace | amd64 | arm64 | Notes | Maintainer |
88+
|-----------|-------|-------|-------|------------|
89+
| [Template](https://j3soon.github.io/ros2-essentials/template-ws/) | ✔️ | ✔️ | | [Yu-Zhong Chen](https://github.com/YuZhong-Chen), [Johnson Sun](https://github.com/j3soon) |
90+
| [ORB-SLAM3](https://j3soon.github.io/ros2-essentials/orbslam3-ws) | ✔️ || | [Assume Zhan](https://github.com/Assume-Zhan) |
91+
| [ROS1 Bridge](https://j3soon.github.io/ros2-essentials/ros1-bridge-ws/) | ✔️ | ✔️ | Skip linting | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
92+
| [Clearpath Husky](https://j3soon.github.io/ros2-essentials/husky-ws/) | ✔️ | ✔️ | Real-world support | [Yu-Zhong Chen](https://github.com/YuZhong-Chen), [Johnson Sun](https://github.com/j3soon) |
93+
| [Yujin Robot Kobuki](https://j3soon.github.io/ros2-essentials/kobuki-ws/) | ✔️ | ✔️ | Real-world support | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
94+
| [Velodyne VLP-16](https://j3soon.github.io/ros2-essentials/vlp-ws/) | ✔️ | ✔️ | Real-world support | [Assume Zhan](https://github.com/Assume-Zhan) |
95+
| [Gazebo World](https://j3soon.github.io/ros2-essentials/gazebo-world-ws/) | ✔️ | ❌️ | | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
96+
| [ALOHA](https://j3soon.github.io/ros2-essentials/aloha-ws/) | ✔️ | ✔️ | Simulation only | [Johnson Sun](https://github.com/j3soon) |
97+
| [Turtlebot3](https://j3soon.github.io/ros2-essentials/turtlebot3-ws/) | ✔️ | ❌️ | Simulation only | [Johnson Sun](https://github.com/j3soon) |
98+
| [Tesollo Delto Gripper](https://j3soon.github.io/ros2-essentials/delto-gripper-ws/) | ✔️ | ❌️ | Simulation only | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
99+
| [Unitree Go2](https://j3soon.github.io/ros2-essentials/go2-ws/) | ✔️ | ❌️ | Simulation only | [Yu-Zhong Chen](https://github.com/YuZhong-Chen), [Assume Zhan](https://github.com/Assume-Zhan), [Johnson Sun](https://github.com/j3soon) |
100+
| [Unitree H1](https://j3soon.github.io/ros2-essentials/h1-ws/) | ✔️ | ❌️ | Simulation only | [Johnson Sun](https://github.com/j3soon) |
101+
| [Hello Robot Stretch 3](https://j3soon.github.io/ros2-essentials/stretch3-ws/) | ✔️ | ❌️ | Simulation only | [@JustinShih0918](https://github.com/JustinShih0918), [Johnson Sun](https://github.com/j3soon) |
102+
| [Universal Robots UR5](https://j3soon.github.io/ros2-essentials/ur5-ws/) | ✔️ | ❌️ | Real-world support (CB3 only) | [Yu-Zhong Chen](https://github.com/YuZhong-Chen) |
103+
| [LeRobot SO-101](https://j3soon.github.io/ros2-essentials/so101-ws/) | ✔️ || Real-world support | [Johnson Sun](https://github.com/j3soon) |
98104
99105
If you have trouble using a workspace, please [open an issue](https://github.com/j3soon/ros2-essentials/issues) and tag the current maintainers mentioned above.
100106

aloha_ws/docker/.bashrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ if [ -d "$HOME/.local/bin" ] ; then
88
PATH="$HOME/.local/bin:$PATH"
99
fi
1010

11+
# TODO: Environment independent commands here (e.g., set up symbolic link upon first launch)
1112
# Source global ROS2 environment
1213
source /opt/ros/$ROS_DISTRO/setup.bash
1314
# Source colcon-argcomplete

aloha_ws/docker/compose.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ services:
2020
chown ${USER_UID:-1000}:${USER_UID:-1000} /isaac-sim/.nvidia-omniverse{,/logs,/config} &&
2121
chown ${USER_UID:-1000}:${USER_UID:-1000} /isaac-sim/.local{,/share,/share/ov,/share/ov/data,/share/ov/pkg}
2222
"
23+
# TODO: Append other cache directories creation in the command above.
2324
volumes:
2425
- isaac-sim-cache:/isaac-sim
2526
aloha-ws:

delto_gripper_ws/docker/.bashrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ if [ -d "$HOME/.local/bin" ] ; then
88
PATH="$HOME/.local/bin:$PATH"
99
fi
1010

11+
# TODO: Environment independent commands here (e.g., set up symbolic link upon first launch)
1112
# Source global ROS2 environment
1213
source /opt/ros/$ROS_DISTRO/setup.bash
1314
# Source colcon-argcomplete

delto_gripper_ws/docker/compose.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ services:
2020
chown ${USER_UID:-1000}:${USER_UID:-1000} /isaac-sim/.nvidia-omniverse{,/logs,/config} &&
2121
chown ${USER_UID:-1000}:${USER_UID:-1000} /isaac-sim/.local{,/share,/share/ov,/share/ov/data,/share/ov/pkg}
2222
"
23+
# TODO: Append other cache directories creation in the command above.
2324
volumes:
2425
- isaac-sim-cache:/isaac-sim
2526
delto-gripper-ws:

docker_modules/install_isaac_lab.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,17 @@ if [ "$TARGETARCH" != "amd64" ]; then
4040
fi
4141

4242
ISAAC_LAB_GIT_REF=""
43-
if [ "$ISAAC_LAB_VERSION" = "2.3.2" ]; then
43+
if [ "$ISAAC_LAB_VERSION" = "2.3.0" ]; then
44+
ISAAC_LAB_GIT_REF="v2.3.0"
45+
elif [ "$ISAAC_LAB_VERSION" = "2.3.2" ]; then
4446
ISAAC_LAB_GIT_REF="v2.3.2"
4547
elif [ "$ISAAC_LAB_VERSION" = "develop" ]; then
4648
ISAAC_LAB_GIT_REF="develop"
4749
fi
4850

4951
if [ -n "$ISAAC_LAB_GIT_REF" ]; then
5052
echo "Installing Isaac Lab from git ref: $ISAAC_LAB_GIT_REF..."
51-
# Ref: https://isaac-sim.github.io/IsaacLab/v2.3.2/source/setup/installation/binaries_installation.html
53+
# Ref: https://isaac-sim.github.io/IsaacLab/source/setup/installation/binaries_installation.html
5254
sudo apt-get update && sudo apt-get install -y \
5355
cmake build-essential \
5456
&& sudo rm -rf /var/lib/apt/lists/* \

docs/last-tested.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Commit labels on this page follow `git describe --tags --always`.
2424
| [Unitree H1](h1-ws/index.md) | TODO |
2525
| [Hello Robot Stretch 3](stretch3-ws/index.md) | [v0.0.3-18-ga9e1166](https://github.com/j3soon/ros2-essentials/commit/a9e116664353b8d874d7e559d023c625b08c9dd1) by [@j3soon](https://github.com/j3soon) (x86, sim) |
2626
| [Universal Robots UR5](ur5-ws/index.md) | TODO |
27+
| [LeRobot SO-101](so101-ws/index.md) | - [v0.0.3-174-g4a528053](https://github.com/j3soon/ros2-essentials/commit/4a52805372baeae180018a686e2d6bfd113a9ceb) by [@j3soon](https://github.com/j3soon) (x86, sim)<br>- [v0.0.3-173-g62ee6e6a](https://github.com/j3soon/ros2-essentials/commit/62ee6e6a5307aad31178ccbd1813c8078f2cc16b) by [@j3soon](https://github.com/j3soon) (x86, real)<br>- TODO by [@j3soon](https://github.com/j3soon) (DGX Spark, real) |
2728

2829
## Docker Modules
2930

docs/mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,5 @@ nav:
234234
- h1-ws/index.md
235235
- stretch3-ws/index.md
236236
- ur5-ws/index.md
237+
- so101-ws/index.md
237238
- dependencies.md

0 commit comments

Comments
 (0)