From c14522e7446d0a0ea30591146c3a3a59fa367d3e Mon Sep 17 00:00:00 2001 From: caomuqing Date: Thu, 13 Mar 2025 15:45:06 -0400 Subject: [PATCH 1/2] add gimbal extension and control interface --- .../gimbal_stabilizer_node.py | 35 ++- .../sensors_bringup/launch/sensors.launch.xml | 3 + .../airlab.gimbal/airlab/gimbal/__init__.py | 11 + .../airlab.gimbal/airlab/gimbal/extension.py | 219 ++++++++++++++++++ .../airlab/gimbal/tests/__init__.py | 11 + .../airlab/gimbal/tests/test_hello_world.py | 55 +++++ .../airlab.gimbal/config/extension.toml | 73 ++++++ .../extensions/airlab.gimbal/data/icon.png | Bin 0 -> 15146 bytes .../extensions/airlab.gimbal/data/preview.png | Bin 0 -> 97802 bytes .../airlab.gimbal/docs/CHANGELOG.md | 7 + .../extensions/airlab.gimbal/docs/Overview.md | 1 + .../extensions/airlab.gimbal/docs/README.md | 3 + .../extensions/airlab.gimbal/premake5.lua | 11 + 13 files changed, 418 insertions(+), 11 deletions(-) create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/__init__.py create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/extension.py create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/__init__.py create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/test_hello_world.py create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/config/extension.toml create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/data/icon.png create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/data/preview.png create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/docs/CHANGELOG.md create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/docs/Overview.md create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/docs/README.md create mode 100644 simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/premake5.lua diff --git a/robot/ros_ws/src/autonomy/1_sensors/gimbal_stabilizer/gimbal_stabilizer/gimbal_stabilizer_node.py b/robot/ros_ws/src/autonomy/1_sensors/gimbal_stabilizer/gimbal_stabilizer/gimbal_stabilizer_node.py index 2bfe5e721..c923f44e6 100644 --- a/robot/ros_ws/src/autonomy/1_sensors/gimbal_stabilizer/gimbal_stabilizer/gimbal_stabilizer_node.py +++ b/robot/ros_ws/src/autonomy/1_sensors/gimbal_stabilizer/gimbal_stabilizer/gimbal_stabilizer_node.py @@ -4,25 +4,38 @@ from rclpy.node import Node from nav_msgs.msg import Odometry from sensor_msgs.msg import JointState -from transforms3d.euler import quat2euler +# from transforms3d.euler import quat2euler +from std_msgs.msg import Float64 # Assuming the desired yaw is published as a Float64 class GimbalStabilizerNode(Node): def __init__(self): super().__init__('gimbal_stabilizer') # Publisher to send joint commands - self.joint_pub = self.create_publisher(JointState, '/joint_command', 10) + self.joint_pub = self.create_publisher(JointState, 'gimbal/joint_command', 10) # Subscriber to receive drone odometry - self.create_subscription(Odometry, '/robot_1/odometry_conversion/odometry', self.odometry_callback, 10) - self.create_subscription(JointState, '/joint_states', self.joint_callback, 10) + self.create_subscription(Odometry, 'odometry_conversion/odometry', self.odometry_callback, 10) + self.create_subscription(JointState, 'gimbal/joint_states', self.joint_callback, 10) + self.create_subscription(Float64, 'gimbal/desired_gimbal_yaw', self.yaw_callback, 10) + self.create_subscription(Float64, 'gimbal/desired_gimbal_pitch', self.pitch_callback, 10) # Initialize joint state message self.joint_command = JointState() self.joint_command.name = ["yaw_joint","roll_joint", "pitch_joint"] self.joint_command.position = [0.0, 0.0, 0.0] + self.desired_yaw = 0.0 + self.desired_pitch = 0.0 + + def yaw_callback(self, msg): + self.desired_yaw = msg.data + # self.get_logger().info(f"Received desired yaw angle: {self.desired_yaw}") + + def pitch_callback(self, msg): + self.desired_pitch = msg.data def joint_callback(self, msg): + self.got_joint_states = True # Inverse the drone angles to stabilize the gimbal # self.joint_command.position[0] = -roll # roll joint # self.joint_command.position[1] = -pitch # pitch joint @@ -33,7 +46,7 @@ def joint_callback(self, msg): # self.joint_command.position[0] = -20.0/180*3.14 # yaw joint # self.joint_command.position[1] = 10.0/180*3.14 # roll joint # self.joint_command.position[2] = 20.0/180*3.14 # pitch joint - self.joint_command.velocity = [float('nan'), float('nan'), float('nan')] + # self.joint_command.velocity = [float('nan'), float('nan'), float('nan')] # self.joint_command.velocity = [-1.0, -1.0, -1.0] # Publish the joint command @@ -50,18 +63,18 @@ def odometry_callback(self, msg): ] # Convert quaternion to Euler angles (roll, pitch, yaw) - roll, pitch, yaw = quat2euler(quaternion, axes='sxyz') + # roll, pitch, yaw = quat2euler(quaternion, axes='sxyz') # Inverse the drone angles to stabilize the gimbal # self.joint_command.position[0] = -roll # roll joint # self.joint_command.position[1] = -pitch # pitch joint # self.joint_command.position[2] = -yaw # yaw joint - self.joint_command.position[0] = -0.0/180*3.14 # yaw joint - self.joint_command.position[1] = -roll # roll joint - self.joint_command.position[2] = 0.0/180*3.14 # pitch joint + self.joint_command.position[0] = -self.desired_yaw/180*3.14 # yaw joint + self.joint_command.position[1] = -0.0/180*3.14 # roll joint + self.joint_command.position[2] = self.desired_pitch/180*3.14 # pitch joint self.joint_command.velocity = [float('nan'), float('nan'), float('nan')] - self.joint_command.velocity = [-1.0, -1.0, -1.0] + # self.joint_command.velocity = [-1.0, -1.0, -1.0] # Publish the joint command self.joint_pub.publish(self.joint_command) @@ -78,4 +91,4 @@ def main(): rclpy.shutdown() if __name__ == '__main__': - main() + main() \ No newline at end of file diff --git a/robot/ros_ws/src/autonomy/1_sensors/sensors_bringup/launch/sensors.launch.xml b/robot/ros_ws/src/autonomy/1_sensors/sensors_bringup/launch/sensors.launch.xml index d59762074..ff55ac15a 100644 --- a/robot/ros_ws/src/autonomy/1_sensors/sensors_bringup/launch/sensors.launch.xml +++ b/robot/ros_ws/src/autonomy/1_sensors/sensors_bringup/launch/sensors.launch.xml @@ -4,4 +4,7 @@ + + \ No newline at end of file diff --git a/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/__init__.py b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/__init__.py new file mode 100644 index 000000000..a54368b2a --- /dev/null +++ b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/__init__.py @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: LicenseRef-NvidiaProprietary +# +# NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +# property and proprietary rights in and to this material, related +# documentation and any modifications thereto. Any use, reproduction, +# disclosure or distribution of this material and related documentation +# without an express license agreement from NVIDIA CORPORATION or +# its affiliates is strictly prohibited. + +from .extension import * diff --git a/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/extension.py b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/extension.py new file mode 100644 index 000000000..b58d5e9d6 --- /dev/null +++ b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/extension.py @@ -0,0 +1,219 @@ +import omni.ext +import subprocess + +import omni.ui as ui +import omni.kit.window.filepicker as filepicker +from omni.isaac.core import World +from omni.isaac.core.utils.stage import add_reference_to_stage +from pxr import Usd +from omni.isaac.core import World +# from omni.ext import get_extension_path +import omni.usd +from pxr import UsdGeom, Gf, UsdPhysics +import omni.graph.core as og +import time + +class MyExtension(omni.ext.IExt): + def on_startup(self): + """Called when the extension is loaded.""" + print("[GimbalExtension] Startup called") # Debug log + + # self.world = World.get_instance() + self.ui = GimbalUI() + print("[GimbalExtension] UI initialized") # Debug log + + def on_shutdown(self): + """Called when the extension is unloaded.""" + # self.world.cleanup() + self.ui.window.destroy() + +class GimbalUI: + def __init__(self): + self.window = ui.Window("Gimbal Extension UI", width=400, height=300) + self.usd_file_path = "" + self.robot_prim_path = "" + self.robot_name = 1 + self.default_usd_path = "omniverse://airlab-storage.andrew.cmu.edu:8443/Library/Assets/Gimbal/gimbal_test.usd" + self.default_robot_path = "/World/TEMPLATE_spirit_uav_robot/map_FLU/spirit_uav" + + self.build_ui() + + def build_ui(self): + with self.window.frame: + with ui.VStack(spacing=10): + # USD File Input + ui.Label("USD File Path", height=20) + with ui.HStack(height=30): + self.usd_input_field = ui.StringField( + model=ui.SimpleStringModel(self.default_usd_path), height=20 + ) + ui.Button("Browse", clicked_fn=self.open_file_picker) + + # Robot Prim Path Input + ui.Label("Robot Prim Path (copy from Stage)", height=20) + self.robot_prim_input_field = ui.StringField( + model=ui.SimpleStringModel(self.default_robot_path), height=20 + ) + + # Robot Name Input + ui.Label("Robot Index", height=20) + self.robot_name_input_field = ui.StringField( + model=ui.SimpleStringModel("2"), height=20 + ) + # Apply Button + ui.Button("Apply and Add Gimbal", height=40, clicked_fn=self.on_apply) + + def open_file_picker(self): + """Opens a file picker to select the USD file.""" + file_picker = filepicker.FilePickerDialog( + title="Select Gimbal USD File", + apply_button_label="Select", + file_extension_filter="*.usd", + apply_clicked_fn=self.on_file_selected + ) + file_picker.show() + + def on_file_selected(self, file_path): + """Callback for file selection.""" + self.usd_input_field.model.set_value(file_path) + + def on_apply(self): + """Apply button callback to add the gimbal and configure the ActionGraph.""" + self.usd_file_path = self.usd_input_field.model.get_value_as_string() + self.robot_prim_path = self.robot_prim_input_field.model.get_value_as_string() + self.robot_name = self.robot_name_input_field.model.get_value_as_string() + + # Validate input + if not self.usd_file_path or not self.robot_prim_path or not self.robot_name: + print("Please fill in all fields.") + return + + # Add the gimbal to the stage + self.add_gimbal_to_stage() + + def find_existing_op(self, xform_ops, op_type): + for op in xform_ops: + if op.GetOpName() == op_type: + return op + return None + + def add_gimbal_to_stage(self): + """Adds the gimbal to the robot and configures the OmniGraph.""" + stage = omni.usd.get_context().get_stage() + + # Add the USD file reference + gimbal_prim_path = f"{self.robot_prim_path}/gimbal" + add_reference_to_stage(self.usd_file_path, gimbal_prim_path) + + + # Apply transformations (scale and translation) + gimbal_prim = stage.GetPrimAtPath(gimbal_prim_path) + if gimbal_prim.IsValid(): + gimbal_xform = UsdGeom.Xformable(gimbal_prim) + xform_ops = gimbal_xform.GetOrderedXformOps() + + # Check if a scale operation already exists + scale_op = self.find_existing_op(xform_ops, "xformOp:scale") + if not scale_op: + scale_op = gimbal_xform.AddScaleOp() + scale_value = Gf.Vec3d(0.01, 0.01, 0.01) + scale_op.Set(scale_value) + + # Check if a translate operation already exists + translate_op = self.find_existing_op(xform_ops, "xformOp:translate") + if not translate_op: + translate_op = gimbal_xform.AddTranslateOp() + translation_value = Gf.Vec3d(0.02, 0.015, 0.1) + translate_op.Set(translation_value) + + print(f"Gimbal added at {gimbal_prim_path} with scale {scale_value} and translation {translation_value}.") + + # Add a fixed joint between the gimbal and the robot + self.add_fixed_joint(stage, self.robot_prim_path, gimbal_prim_path) + + # """Enables the ActionGraph within the gimbal and sets inputs.""" + action_graph_path = f"{gimbal_prim_path}/ActionGraph" + action_graph_prim = stage.GetPrimAtPath(action_graph_path) + + if action_graph_prim.IsValid(): + # Access the graph + graph = og.Controller.graph(action_graph_path) + graph_handle = og.get_graph_by_path(action_graph_path) + + # Set the input value + node_path = "/World/ActionGraph/MyNode" # Replace with the path to your node + input_name = "myInput" # Replace with the name of the input + value = 10 # Replace with the value you want to set + + # Define the path to ros2_context node + ros2_context_path = action_graph_path+"/ros2_context" + self.list_node_attributes(ros2_context_path) + + self.set_or_create_node_attribute(ros2_context_path, "inputs:domain_id", int(self.robot_name)) + self.set_or_create_node_attribute(action_graph_path+"/ros2_subscriber", "inputs:topicName", "robot_"+self.robot_name+"/gimbal/not_used") + self.set_or_create_node_attribute(action_graph_path+"/ros2_subscribe_joint_state", "inputs:topicName", "robot_"+self.robot_name+"/gimbal/joint_command") + self.set_or_create_node_attribute(action_graph_path+"/ros2_publish_joint_state", "inputs:topicName", "robot_"+self.robot_name+"/gimbal/joint_states") + self.set_or_create_node_attribute(action_graph_path+"/ros2_camera_helper", "inputs:topicName", "robot_"+self.robot_name+"/gimbal/rgb") + + # og.Controller.attribute(action_graph_path+"/ros2_context.inputs:domain_id").set(int(self.robot_name)) + # og.Controller.attribute(action_graph_path+"/ros2_subscriber.inputs:topicName").set("robot_"+self.robot_name+"/gimbal_yaw_control") + # og.Controller.attribute(action_graph_path+"/ros2_subscribe_joint_state.inputs:topicName").set("robot_"+self.robot_name+"/joint_command") + # og.Controller.attribute(action_graph_path+"/ros2_publish_joint_state.inputs:topicName").set("robot_"+self.robot_name+"/joint_states") + + + def add_fixed_joint(self, stage, robot_prim_path, gimbal_prim_path): + """Adds a fixed joint between the robot and the gimbal.""" + joint_path = f"{gimbal_prim_path}/FixedJoint" + joint_prim = stage.DefinePrim(joint_path, "PhysicsFixedJoint") + + # Define the fixed joint's relationship to the robot and gimbal components + joint = UsdPhysics.FixedJoint(joint_prim) + if not joint: + print(f"Failed to create fixed joint at {joint_path}") + return + + # Set joint relationships + joint.CreateBody0Rel().SetTargets([f"{robot_prim_path}/base_link/meshes/Cone"]) + joint.CreateBody1Rel().SetTargets([f"{gimbal_prim_path}/yaw"]) + + print(f"Fixed joint created between {robot_prim_path} and {gimbal_prim_path}.") + + def list_node_attributes(self, node_path): + """Lists all attributes of a given node in OmniGraph.""" + stage = omni.usd.get_context().get_stage() + + if not stage: + print("Error: USD stage not found.") + return + + node_prim = stage.GetPrimAtPath(node_path) + + if not node_prim.IsValid(): + print(f"Error: Node not found at {node_path}") + return + + print(f"Attributes in node '{node_path}':") + + for attr in node_prim.GetAttributes(): + print(f"- {attr.GetName()}") + + def set_or_create_node_attribute(self, node_path, attribute_name, value): + """Sets an attribute value for a given node in OmniGraph, creating it if necessary.""" + stage = omni.usd.get_context().get_stage() + node_prim = stage.GetPrimAtPath(node_path) + + if not node_prim.IsValid(): + print(f"Error: Node not found at {node_path}") + return + + attr = node_prim.GetAttribute(attribute_name) + + if not attr: + print(f"Attribute {attribute_name} not found, creating it...") + attr = node_prim.CreateAttribute(attribute_name, Sdf.ValueTypeNames.Int) + + if attr: + attr.Set(value) + print(f"Set {attribute_name} to {value} on node {node_path}.") + else: + print(f"Failed to create or set attribute {attribute_name}.") diff --git a/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/__init__.py b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/__init__.py new file mode 100644 index 000000000..880c75da1 --- /dev/null +++ b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/__init__.py @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: LicenseRef-NvidiaProprietary +# +# NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +# property and proprietary rights in and to this material, related +# documentation and any modifications thereto. Any use, reproduction, +# disclosure or distribution of this material and related documentation +# without an express license agreement from NVIDIA CORPORATION or +# its affiliates is strictly prohibited. + +from .test_hello_world import * diff --git a/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/test_hello_world.py b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/test_hello_world.py new file mode 100644 index 000000000..77e854a40 --- /dev/null +++ b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/airlab/gimbal/tests/test_hello_world.py @@ -0,0 +1,55 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: LicenseRef-NvidiaProprietary +# +# NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +# property and proprietary rights in and to this material, related +# documentation and any modifications thereto. Any use, reproduction, +# disclosure or distribution of this material and related documentation +# without an express license agreement from NVIDIA CORPORATION or +# its affiliates is strictly prohibited. + +# NOTE: +# omni.kit.test - std python's unittest module with additional wrapping to add suport for async/await tests +# For most things refer to unittest docs: https://docs.python.org/3/library/unittest.html +import omni.kit.test + +# Extension for writing UI tests (to simulate UI interaction) +import omni.kit.ui_test as ui_test + +# Import extension python module we are testing with absolute import path, as if we are external user (other extension) +import airlab.tmux_manager + + +# Having a test class dervived from omni.kit.test.AsyncTestCase declared on the root of module will make it auto-discoverable by omni.kit.test +class Test(omni.kit.test.AsyncTestCase): + # Before running each test + async def setUp(self): + pass + + # After running each test + async def tearDown(self): + pass + + # Actual test, notice it is an "async" function, so "await" can be used if needed + async def test_hello_public_function(self): + result = airlab.tmux_manager.some_public_function(4) + self.assertEqual(result, 256) + + async def test_window_button(self): + + # Find a label in our window + label = ui_test.find("TMUX Manager//Frame/**/Label[*]") + + # Find buttons in our window + add_button = ui_test.find("TMUX Manager//Frame/**/Button[*].text=='Add'") + reset_button = ui_test.find("TMUX Manager//Frame/**/Button[*].text=='Reset'") + + # Click reset button + await reset_button.click() + self.assertEqual(label.widget.text, "empty") + + await add_button.click() + self.assertEqual(label.widget.text, "count: 1") + + await add_button.click() + self.assertEqual(label.widget.text, "count: 2") diff --git a/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/config/extension.toml b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/config/extension.toml new file mode 100644 index 000000000..6f891211d --- /dev/null +++ b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/config/extension.toml @@ -0,0 +1,73 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: LicenseRef-NvidiaProprietary +# +# NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +# property and proprietary rights in and to this material, related +# documentation and any modifications thereto. Any use, reproduction, +# disclosure or distribution of this material and related documentation +# without an express license agreement from NVIDIA CORPORATION or +# its affiliates is strictly prohibited. + +[package] +# Semantic Versionning is used: https://semver.org/ +version = "0.1.0" + +# Lists people or organizations that are considered the "authors" of the package. +authors = [ + "Author Name ", +] + +# The title and description fields are primarily for displaying extension info in the UI +title = 'Gimbal extension' +description = "The simplest python UI extension example. Use it as a starting point for your extensions." + +# Path (relative to the root) or content of readme markdown file for UI. +readme = "docs/README.md" + +# Path (relative to the root) of changelog +# More info on writing changelog: https://keepachangelog.com/en/1.0.0/ +changelog = "docs/CHANGELOG.md" + +# URL of the extension source repository. +# repository = "https://github.com/example/repository_name" + +# One of categories for the UI. +category = "Example" + +# Keywords for the extension +keywords = ["kit", "example"] + +# Watch the .ogn files for hot reloading (only works for Python files) +[fswatcher.patterns] +include = ["*.ogn", "*.py"] +exclude = ["Ogn*Database.py"] + +# Preview image and icon. Folder named "data" automatically goes in git lfs (see .gitattributes file). +# Preview image is shown in "Overview" of Extensions window. Screenshot of an extension might be a good preview image. +preview_image = "data/preview.png" + +# Icon is shown in Extension manager. It is recommended to be square, of size 256x256. +icon = "data/icon.png" + +# Use omni.ui to build simple UI +[dependencies] +"omni.kit.uiapp" = {} +"omni.kit.test" = {} +"omni.graph" = {} + +# Main python module this extension provides, it will be publicly available as "import airlab.gimbal". +[[python.module]] +name = "airlab.gimbal" + +[[test]] +# Extra dependencies only to be used during test run +dependencies = [ + "omni.kit.test", + "omni.kit.ui_test" # UI testing extension +] + +[documentation] +pages = [ + "docs/Overview.md", + "docs/CHANGELOG.md", +] \ No newline at end of file diff --git a/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/data/icon.png b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/data/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..70e17a5c9c7d6c4d5a7f43ef10f2a062d7bec708 GIT binary patch literal 15146 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 literal 0 HcmV?d00001 diff --git a/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/data/preview.png b/simulation/isaac-sim/sitl_integration/kit-app-template/source/extensions/airlab.gimbal/data/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..5c3fc1967e0b74ae1976a21ba9175546513a4d59 GIT binary patch literal 97802 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 U Date: Thu, 13 Mar 2025 16:34:45 -0400 Subject: [PATCH 2/2] add docs for gimbal extension --- docs/robot/autonomy/1_sensors/gimbal.md | 33 +++++++++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 34 insertions(+) create mode 100644 docs/robot/autonomy/1_sensors/gimbal.md diff --git a/docs/robot/autonomy/1_sensors/gimbal.md b/docs/robot/autonomy/1_sensors/gimbal.md new file mode 100644 index 000000000..e009674b2 --- /dev/null +++ b/docs/robot/autonomy/1_sensors/gimbal.md @@ -0,0 +1,33 @@ + +# **Gimbal Extension** + +## **Overview** +The **Gimbal Extension** provides an easy way to integrate a controllable gimbal into an existing drone model within the scene. This extension is designed to facilitate the attachment and operation of a camera-equipped gimbal, allowing for real-time adjustments to pitch and yaw angles via ROS 2 messages. + + +## **Installation and Activation** +To enable the **Gimbal Extension**, follow these steps: + +1. Open the **Extensions** window by navigating to: + **Window** → **Extensions** +2. Under the **THIRD PARTIES** section, go to the **User** tab. +3. Locate the **Gimbal Extension** and turn it on. +4. Once enabled, a new **Gimbal Extension** window should appear. + +## **Adding a Gimbal to a Drone** +To attach a gimbal to an existing UAV model: + +1. Copy the **prim path** of the UAV to which you want to add the gimbal. +2. In the **Gimbal Extension** window, paste the copied path into the **Robot Prim Path** text box. +3. Set the **Robot Index** based on the `DOMAIN_ID` of the drone. + - The `DOMAIN_ID` should match the identifier used for the robot to ensure proper communication. + +For a step-by-step demonstration, refer to the video tutorial below: + + + +## **Gimbal Camera Image Topic** +Once the gimbal is successfully added, the camera image feed from the gimbal will be published on the following ROS 2 topic: `/robot_/gimbal/rgb`. + +## **Controlling the Gimbal** +The gimbal pitch and yaw angles can be controled by the ros2 messages `/robot_/gimbal/desired_gimbal_pitch` and `/robot_/gimbal/desired_gimbal_yaw` of type `std_msgs/msg/Float64`, respectively. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 8ba4fb5de..92af1aad0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -66,6 +66,7 @@ nav: - docs/robot/autonomy/0_interface/index.md - Sensors: - docs/robot/autonomy/1_sensors/index.md + - docs/robot/autonomy/1_sensors/gimbal.md - Perception: - docs/robot/autonomy/2_perception/index.md - docs/robot/autonomy/2_perception/state_estimation.md