Skip to content

Commit 20946bf

Browse files
Merge pull request #1 from NVIDIA-ISAAC-ROS/release-4.1
Isaac ROS 4.1
2 parents e898baf + 16f3317 commit 20946bf

8 files changed

Lines changed: 275 additions & 2 deletions

.gitattributes

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Images
2+
*.gif filter=lfs diff=lfs merge=lfs -text
3+
*.jpg filter=lfs diff=lfs merge=lfs -text
4+
*.png filter=lfs diff=lfs merge=lfs -text
5+
*.psd filter=lfs diff=lfs merge=lfs -text
6+
7+
# Archives
8+
*.gz filter=lfs diff=lfs merge=lfs -text
9+
*.tar filter=lfs diff=lfs merge=lfs -text
10+
*.zip filter=lfs diff=lfs merge=lfs -text
11+
12+
# Documents
13+
*.pdf filter=lfs diff=lfs merge=lfs -text
14+
15+
# For meshes
16+
*.dae filter=lfs diff=lfs merge=lfs -text
17+
*.DAE filter=lfs diff=lfs merge=lfs -text
18+
*.stl filter=lfs diff=lfs merge=lfs -text
19+
*.STL filter=lfs diff=lfs merge=lfs -text

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,13 @@
1-
# My Repository
2-
This is my new repository.
1+
# Sensor Mounting Rig
2+
3+
## Overview
4+
5+
Sensor Mounting Rig provides URDF and other files associated with hardware mounting of sensors onto the Jetson Developer Kits.
6+
7+
Please see [the guide](https://nvidia-isaac-ros.github.io/robots/sensor_mounting_rig/index.html) for details.
8+
9+
---
10+
11+
## Latest
12+
13+
Update 2026-02-02: Initial release
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2+
# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# SPDX-License-Identifier: Apache-2.0
17+
18+
cmake_minimum_required(VERSION 3.22.1)
19+
project(thor_devkit_realsense_rig_description LANGUAGES C CXX)
20+
21+
find_package(ament_cmake_auto REQUIRED)
22+
ament_auto_find_build_dependencies()
23+
24+
if(BUILD_TESTING)
25+
find_package(ament_lint_auto REQUIRED)
26+
ament_lint_auto_find_test_dependencies()
27+
endif()
28+
29+
# Embed versioning information into installed files
30+
ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common)
31+
include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake")
32+
generate_version_info(${PROJECT_NAME})
33+
34+
ament_auto_package(INSTALL_TO_SHARE meshes urdf launch)
35+
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2+
# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# SPDX-License-Identifier: Apache-2.0
17+
import isaac_ros_launch_utils as lu
18+
from launch import LaunchDescription
19+
20+
21+
def generate_launch_description() -> LaunchDescription:
22+
args = lu.ArgumentContainer()
23+
args.add_arg('urdf_override_file', default='None', cli=True)
24+
args.add_arg('calibrated_urdf_file', default='None')
25+
args.add_arg('camera_model', default='d455',
26+
description='RealSense model for determining nominals calibration file',
27+
choices=['d435', 'd455'], cli=True)
28+
actions = args.get_launch_actions()
29+
30+
nominals_file = lu.if_else_substitution(
31+
lu.is_equal(args.camera_model, 'd435'),
32+
'urdf/thor_devkit_realsense_rig_d435.urdf.xacro',
33+
'urdf/thor_devkit_realsense_rig_d455.urdf.xacro')
34+
35+
actions.append(lu.log_info(f'Using nominals file: {nominals_file}'
36+
f'given camera model: {args.camera_model}'))
37+
actions.append(
38+
lu.add_robot_description(nominals_package='thor_devkit_realsense_rig_description',
39+
nominals_file=nominals_file,
40+
override_path=args.urdf_override_file,
41+
robot_calibration_path=args.calibrated_urdf_file))
42+
43+
return LaunchDescription(actions)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:fbbddb285414ede941711596e60be71e7834e6357f72acef9f5aebbc93b7a590
3+
size 81434
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?xml version="1.0"?>
2+
3+
<!--
4+
SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
SPDX-License-Identifier: Apache-2.0
19+
-->
20+
21+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
22+
<package format="3">
23+
<name>thor_devkit_realsense_rig_description</name>
24+
<version>4.1.0</version>
25+
<description>
26+
Jetson Thor developer kit RealSense mounting rig, URDF, mesh, and robot description launch file.
27+
</description>
28+
29+
<maintainer email="isaac-ros-maintainers@nvidia.com">Isaac ROS Maintainers</maintainer>
30+
<license>Apache-2.0</license>
31+
<author>Aleksandr Efitorov</author>
32+
<author>Jeffrey Leong</author>
33+
34+
<buildtool_depend>ament_cmake</buildtool_depend>
35+
<build_depend>isaac_ros_common</build_depend>
36+
<exec_depend>isaac_ros_launch_utils</exec_depend>
37+
<exec_depend>launch</exec_depend>
38+
<exec_depend>launch_ros</exec_depend>
39+
<exec_depend>robot_state_publisher</exec_depend>
40+
41+
<export>
42+
<build_type>ament_cmake</build_type>
43+
</export>
44+
</package>
45+
46+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
4+
# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#
18+
# SPDX-License-Identifier: Apache-2.0
19+
-->
20+
<robot name="thor_devkit_realsense_rig_d435" xmlns:xacro="http://www.ros.org/wiki/xacro">
21+
<xacro:arg name="robot_namespace" default="/"/>
22+
<xacro:property name="M_PI" value="3.1415926535897931"/>
23+
24+
<!-- Mount pose of the Thor rig relative to base_link -->
25+
<link name="base_link"/>
26+
27+
<joint name="base_to_thor_mount" type="fixed">
28+
<parent link="base_link"/>
29+
<child link="thor_mount_link"/>
30+
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
31+
</joint>
32+
33+
<link name="thor_mount_link"/>
34+
35+
<!-- Camera indexing corresponds to front (camera0), left (camera1), right (camera2). -->
36+
<!-- Assume cameras are installed right-side up -->
37+
<joint name="camera0" type="fixed">
38+
<parent link="thor_mount_link"/>
39+
<child link="camera0_link"/>
40+
<origin xyz="0.0 0.025 0.019" rpy="0.0 0.0 0.0"/>
41+
</joint>
42+
<link name="camera0_link"/>
43+
44+
<joint name="camera1" type="fixed">
45+
<parent link="thor_mount_link"/>
46+
<child link="camera1_link"/>
47+
<origin xyz="-0.100 0.0601 0.019" rpy="0.0 0.0 ${M_PI/2}"/>
48+
</joint>
49+
<link name="camera1_link"/>
50+
51+
<joint name="camera2" type="fixed">
52+
<parent link="thor_mount_link"/>
53+
<child link="camera2_link"/>
54+
<origin xyz="-0.050 -0.0601 0.019" rpy="0.0 0.0 ${-M_PI/2}"/>
55+
</joint>
56+
<link name="camera2_link"/>
57+
58+
</robot>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
4+
# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#
18+
# SPDX-License-Identifier: Apache-2.0
19+
-->
20+
<robot name="thor_devkit_realsense_rig_d455" xmlns:xacro="http://www.ros.org/wiki/xacro">
21+
<xacro:arg name="robot_namespace" default="/"/>
22+
<xacro:property name="M_PI" value="3.1415926535897931"/>
23+
24+
<!-- Mount pose of the Thor rig relative to base_link -->
25+
<link name="base_link"/>
26+
27+
<joint name="base_to_thor_mount" type="fixed">
28+
<parent link="base_link"/>
29+
<child link="thor_mount_link"/>
30+
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
31+
</joint>
32+
33+
<link name="thor_mount_link"/>
34+
35+
<!-- Camera indexing corresponds to front (camera0), left (camera1), right (camera2). -->
36+
<!-- Assume cameras are installed right-side up -->
37+
<joint name="camera0" type="fixed">
38+
<parent link="thor_mount_link"/>
39+
<child link="camera0_link"/>
40+
<origin xyz="0.0 0.0475 0.019" rpy="0.0 0.0 0.0"/>
41+
</joint>
42+
<link name="camera0_link"/>
43+
44+
<joint name="camera1" type="fixed">
45+
<parent link="thor_mount_link"/>
46+
<child link="camera1_link"/>
47+
<origin xyz="-0.1225 0.0601 0.019" rpy="0.0 0.0 ${M_PI/2}"/>
48+
</joint>
49+
<link name="camera1_link"/>
50+
51+
<joint name="camera2" type="fixed">
52+
<parent link="thor_mount_link"/>
53+
<child link="camera2_link"/>
54+
<origin xyz="-0.0275 -0.0601 0.019" rpy="0.0 0.0 ${-M_PI/2}"/>
55+
</joint>
56+
<link name="camera2_link"/>
57+
58+
</robot>

0 commit comments

Comments
 (0)