mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-10 14:39:49 +08:00
Modify gemini2.launch.py to resolve the abnormal program behavior of multiple device reconnection in the Foxy version.
This commit is contained in:
@@ -5,6 +5,8 @@ from launch_ros.actions import PushRosNamespace
|
|||||||
from launch.actions import GroupAction
|
from launch.actions import GroupAction
|
||||||
from launch_ros.actions import ComposableNodeContainer
|
from launch_ros.actions import ComposableNodeContainer
|
||||||
from launch_ros.descriptions import ComposableNode
|
from launch_ros.descriptions import ComposableNode
|
||||||
|
from launch_ros.actions import Node
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
def generate_launch_description():
|
||||||
@@ -81,36 +83,52 @@ def generate_launch_description():
|
|||||||
DeclareLaunchArgument('enable_frame_sync', default_value='true'),
|
DeclareLaunchArgument('enable_frame_sync', default_value='true'),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Node configuration
|
# Node configuration
|
||||||
parameters = [{arg.name: LaunchConfiguration(arg.name)} for arg in args]
|
parameters = [{arg.name: LaunchConfiguration(arg.name)} for arg in args]
|
||||||
|
# get ROS_DISTRO
|
||||||
|
ros_distro = os.environ["ROS_DISTRO"]
|
||||||
|
if ros_distro == "foxy":
|
||||||
|
return LaunchDescription(
|
||||||
|
args
|
||||||
|
+ [
|
||||||
|
Node(
|
||||||
|
package="orbbec_camera",
|
||||||
|
executable="orbbec_camera_node",
|
||||||
|
name="ob_camera_node",
|
||||||
|
namespace=LaunchConfiguration("camera_name"),
|
||||||
|
parameters=parameters,
|
||||||
|
output="screen",
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
# Define the ComposableNode
|
# Define the ComposableNode
|
||||||
compose_node = ComposableNode(
|
else:
|
||||||
package='orbbec_camera',
|
# Define the ComposableNode
|
||||||
plugin='orbbec_camera::OBCameraNodeDriver',
|
compose_node = ComposableNode(
|
||||||
name=LaunchConfiguration('camera_name'),
|
package="orbbec_camera",
|
||||||
namespace='',
|
plugin="orbbec_camera::OBCameraNodeDriver",
|
||||||
parameters=parameters,
|
name=LaunchConfiguration("camera_name"),
|
||||||
)
|
namespace="",
|
||||||
# Define the ComposableNodeContainer
|
parameters=parameters,
|
||||||
container = ComposableNodeContainer(
|
)
|
||||||
name='camera_container',
|
# Define the ComposableNodeContainer
|
||||||
namespace='',
|
container = ComposableNodeContainer(
|
||||||
package='rclcpp_components',
|
name="camera_container",
|
||||||
executable='component_container',
|
namespace="",
|
||||||
composable_node_descriptions=[
|
package="rclcpp_components",
|
||||||
compose_node,
|
executable="component_container",
|
||||||
],
|
composable_node_descriptions=[
|
||||||
output='screen',
|
compose_node,
|
||||||
)
|
],
|
||||||
|
output="screen",
|
||||||
# Launch description
|
)
|
||||||
ld = LaunchDescription(
|
# Launch description
|
||||||
args +
|
ld = LaunchDescription(
|
||||||
[
|
args
|
||||||
GroupAction([
|
+ [
|
||||||
PushRosNamespace(LaunchConfiguration('camera_name')),
|
GroupAction(
|
||||||
container
|
[PushRosNamespace(LaunchConfiguration("camera_name")), container]
|
||||||
])
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
return ld
|
return ld
|
||||||
Reference in New Issue
Block a user