mirror of
https://github.com/SHC-ASTRA/rover-ros2.git
synced 2026-02-11 09:20:40 +00:00
feat: add ros2 control option to main launch for core
This commit is contained in:
@@ -1,13 +1,21 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
from launch import LaunchDescription
|
from launch import LaunchDescription
|
||||||
from launch.actions import DeclareLaunchArgument, OpaqueFunction, Shutdown
|
from launch.actions import (
|
||||||
|
DeclareLaunchArgument,
|
||||||
|
OpaqueFunction,
|
||||||
|
Shutdown,
|
||||||
|
IncludeLaunchDescription,
|
||||||
|
)
|
||||||
from launch.substitutions import (
|
from launch.substitutions import (
|
||||||
LaunchConfiguration,
|
LaunchConfiguration,
|
||||||
ThisLaunchFileDir,
|
ThisLaunchFileDir,
|
||||||
PathJoinSubstitution,
|
PathJoinSubstitution,
|
||||||
)
|
)
|
||||||
|
from launch.launch_description_sources import PythonLaunchDescriptionSource
|
||||||
|
from launch.conditions import IfCondition
|
||||||
from launch_ros.actions import Node
|
from launch_ros.actions import Node
|
||||||
|
from launch_ros.substitutions import FindPackageShare
|
||||||
|
|
||||||
|
|
||||||
# Prevent making __pycache__ directories
|
# Prevent making __pycache__ directories
|
||||||
@@ -133,4 +141,46 @@ def generate_launch_description():
|
|||||||
description="Launch mode: arm, core, bio, anchor, or ptz",
|
description="Launch mode: arm, core, bio, anchor, or ptz",
|
||||||
)
|
)
|
||||||
|
|
||||||
return LaunchDescription([declare_arg, OpaqueFunction(function=launch_setup)])
|
ros2_control_arg = DeclareLaunchArgument(
|
||||||
|
"use_ros2_control",
|
||||||
|
default_value="false",
|
||||||
|
description="Whether to use DiffDriveController for driving instead of direct Twist",
|
||||||
|
)
|
||||||
|
|
||||||
|
rsp = IncludeLaunchDescription(
|
||||||
|
PythonLaunchDescriptionSource(
|
||||||
|
PathJoinSubstitution(
|
||||||
|
[
|
||||||
|
FindPackageShare("core_description"),
|
||||||
|
"launch",
|
||||||
|
"robot_state_publisher.launch.py",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
),
|
||||||
|
condition=IfCondition(LaunchConfiguration("use_ros2_control")),
|
||||||
|
launch_arguments={("hardware_mode", "physical")},
|
||||||
|
)
|
||||||
|
|
||||||
|
controllers = IncludeLaunchDescription(
|
||||||
|
PythonLaunchDescriptionSource(
|
||||||
|
PathJoinSubstitution(
|
||||||
|
[
|
||||||
|
FindPackageShare("core_description"),
|
||||||
|
"launch",
|
||||||
|
"spawn_controllers.launch.py",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
),
|
||||||
|
condition=IfCondition(LaunchConfiguration("use_ros2_control")),
|
||||||
|
launch_arguments={("hardware_mode", "physical")},
|
||||||
|
)
|
||||||
|
|
||||||
|
return LaunchDescription(
|
||||||
|
[
|
||||||
|
declare_arg,
|
||||||
|
ros2_control_arg,
|
||||||
|
rsp,
|
||||||
|
controllers,
|
||||||
|
OpaqueFunction(function=launch_setup),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|||||||
Submodule src/astra_descriptions updated: 4ab41e9c82...8354f9f369
Reference in New Issue
Block a user