Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 6 additions & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ jobs:
- "humble"
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
repository: stereolabs/zed-ros2-description
ref: 22468247c1653d08a1e213809f3e9ce76291487d
path: .ci/zed_description
- name: Build URDF files
run: |
docker container run \
Expand All @@ -37,7 +42,7 @@ jobs:
osrf/ros:${{ matrix.id }}-desktop-full \
bash -c '
cd /source
colcon build
colcon build --paths /source/.ci/zed_description /source
source install/setup.bash

mkdir -p urdf_output
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ jobs:
- "humble"
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
repository: stereolabs/zed-ros2-description
ref: 22468247c1653d08a1e213809f3e9ce76291487d
path: .ci/zed_description
- name: Run tests
run: |
docker container run \
Expand Down
8 changes: 7 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,14 @@ if(BUILD_TESTING)
set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
find_package(ament_cmake_pytest REQUIRED)
ament_add_pytest_test(joint_axis_reflection
test/test_joint_axis_reflection.py)
ament_add_pytest_test(v2_camera_components test/test_v2_camera_components.py)
ament_add_pytest_test(v2_assembly test/test_v2_assembly.py)
ament_add_pytest_test(v2_assembly test/test_v2_assembly.py TIMEOUT 180)
ament_add_pytest_test(body_root_mapping test/test_body_root_mapping.py)
ament_add_pytest_test(v1_mirroring test/test_v1_mirroring.py)
ament_add_pytest_test(v1_assembly test/test_v1_assembly.py)
ament_add_pytest_test(v1_mount_overrides test/test_v1_mount_overrides.py)
endif()

foreach(install_dir assets launch rviz scripts)
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ Recommended starting point:
- for all new robot assembly, presets, xacro, and URDF generation work, start with `assets/robot/openarm_v2.0`
- only use `assets/robot/openarm_v1.0` when you need the old `v10 + parallel_link` compatibility path -->

## V2 camera assembly

The V2 `default_bimanual` preset includes both arms, pinch grippers, the camera mount, and the official ZED Mini model. Single-arm presets are also available. Use `ros2_control:=false` when exporting a model without control interfaces.

## Related links

- 📚 Read the [documentation](https://docs.openarm.dev/software/description)
Expand Down
16 changes: 16 additions & 0 deletions assets/accessory/zed_mount/config/inertials/nominal.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
base_link:
origin:
x: 0.014296
y: 0.0034952
z: 0.047826
roll: 0
pitch: 0
yaw: 0
mass: 0.13704
inertia:
xx: 0.00018293
xy: -6.3997e-06
xz: -3.1024e-05
yy: 0.00011247
yz: -8.6526e-06
zz: 0.00012779
1 change: 1 addition & 0 deletions assets/accessory/zed_mount/config/link/collisions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
14 changes: 14 additions & 0 deletions assets/accessory/zed_mount/config/link/visuals.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
base_link:
origin:
x: 0
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
geometry:
mesh: package://openarm_description/assets/accessory/zed_mount/meshes/visual/zed_mount.dae
scale:
x: 1
y: 1
z: 1
10 changes: 10 additions & 0 deletions assets/accessory/zed_mount/config/struct/reference_points.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
camera_mount_point:
parent: base_link
emit: true
origin:
x: 0.0263085336684006
y: 0.00869000000000031
z: 0.065829226007701
roll: 0
pitch: 1.08210413623648
yaw: 0
3 changes: 3 additions & 0 deletions assets/accessory/zed_mount/config/struct/topology.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
links:
- base_link
joints: {}
383 changes: 383 additions & 0 deletions assets/accessory/zed_mount/meshes/visual/zed_mount.dae

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2025 Enactic, Inc.
# Copyright 2026 Enactic, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -14,8 +14,12 @@

body_link0:
origin:
xyz: -0.016206894902 0 0.244091987626
rpy: 0.0 0.0 0.0
x: -0.016206894902
y: 0.0
z: 0.244091987626
roll: 0.0
pitch: 0.0
yaw: 0.0
mass: 3.74
inertia:
xx: 0.248946829107
Expand Down
28 changes: 28 additions & 0 deletions assets/body/v1.0/config/link/collisions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2026 Enactic, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

body_link0:
origin:
x: 0
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
geometry:
mesh: package://openarm_description/assets/body/v1.0/meshes/collision/body_link0_symp.stl
scale:
x: 0.001
y: 0.001
z: 0.001
28 changes: 28 additions & 0 deletions assets/body/v1.0/config/link/visuals.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2026 Enactic, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

body_link0:
origin:
x: 0
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
geometry:
mesh: package://openarm_description/assets/body/v1.0/meshes/visual/body_link0.dae
scale:
x: 0.001
y: 0.001
z: 0.001
34 changes: 34 additions & 0 deletions assets/body/v1.0/config/struct/reference_points.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2026 Enactic, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

left_arm_mount_point:
parent: body_link0
emit: false
origin:
x: 0
y: 0.03
z: 0.697
roll: -1.5708
pitch: 0
yaw: 0
right_arm_mount_point:
parent: body_link0
emit: false
origin:
x: 0
y: -0.03
z: 0.697
roll: 1.5708
pitch: 0
yaw: 0
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

finger_joint:
limit:
lower: 0.0
upper: 0.044
velocity: 0.661
effort: 150.75
links:
- body_link0
joints: {}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ body_link0:
pitch: 0.0
yaw: 0.0
geometry:
mesh: "package://openarm_description/assets/robot/openarm_v2.0/meshes/body/collision/body_link0_symp.stl"
mesh: "package://openarm_description/assets/body/v2.0/meshes/collision/body_link0_symp.stl"
scale:
x: 0.001
y: 0.001
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ body_link0:
pitch: 0.0
yaw: 0.0
geometry:
mesh: "package://openarm_description/assets/robot/openarm_v2.0/meshes/body/visual/body_link0.dae"
mesh: "package://openarm_description/assets/body/v2.0/meshes/visual/body_link0.dae"
scale:
x: 1.0
y: 1.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,14 @@ right_arm_mount_point:
original_name: body_right_arm_mount_point
canonical_name: null

# Example body-mounted camera reference point. Tune this pose from CAD or
# calibration before using it on hardware.
# zed_front_mount_point:
# parent: body_link0
# origin:
# x: 0.12
# y: 0.0
# z: 0.82
# roll: 0.0
# pitch: 0.0
# yaw: 0.0
# meta:
# kind: sensor_mount
# sensor_family: zed

camera_mount_point:
parent: body_link0
emit: true
origin:
x: 0.03
y: 0.0
z: 0.743
roll: 0.0
pitch: 0.0
yaw: 0.0
Loading
Loading