102 lines
2.7 KiB
Python
102 lines
2.7 KiB
Python
from launch import LaunchDescription
|
|
from launch_ros.actions import Node
|
|
from launch.actions import DeclareLaunchArgument
|
|
from launch.substitutions import LaunchConfiguration
|
|
|
|
|
|
def generate_launch_description():
|
|
# 声明启动参数
|
|
serial_port_arg = DeclareLaunchArgument(
|
|
'serial_port',
|
|
default_value='/dev/ttyCH340',
|
|
description='CH340 串口设备路径'
|
|
)
|
|
|
|
baudrate_arg = DeclareLaunchArgument(
|
|
'baudrate',
|
|
default_value='115200',
|
|
description='串口波特率'
|
|
)
|
|
|
|
send_frequency_arg = DeclareLaunchArgument(
|
|
'send_frequency',
|
|
default_value='10.0',
|
|
description='发送频率 (Hz)'
|
|
)
|
|
|
|
# 控制参数
|
|
x_move_arg = DeclareLaunchArgument(
|
|
'x_move',
|
|
default_value='0',
|
|
description='平动左右 [-660, 660]'
|
|
)
|
|
|
|
y_move_arg = DeclareLaunchArgument(
|
|
'y_move',
|
|
default_value='0',
|
|
description='平动前后 [-660, 660]'
|
|
)
|
|
|
|
yaw_arg = DeclareLaunchArgument(
|
|
'yaw',
|
|
default_value='0',
|
|
description='云台偏航 [-660, 660]'
|
|
)
|
|
|
|
pitch_arg = DeclareLaunchArgument(
|
|
'pitch',
|
|
default_value='0',
|
|
description='云台俯仰 [-660, 660]'
|
|
)
|
|
|
|
feed_arg = DeclareLaunchArgument(
|
|
'feed',
|
|
default_value='0',
|
|
description='拨弹轮 [-660, 660]'
|
|
)
|
|
|
|
left_switch_arg = DeclareLaunchArgument(
|
|
'left_switch',
|
|
default_value='0',
|
|
description='左拨杆 [0, 15]'
|
|
)
|
|
|
|
right_switch_arg = DeclareLaunchArgument(
|
|
'right_switch',
|
|
default_value='0',
|
|
description='右拨杆 [0, 15]'
|
|
)
|
|
|
|
# 创建节点
|
|
uart_transmitter_node = Node(
|
|
package='amadeus_26',
|
|
executable='uart_transmitter_node',
|
|
name='uart_transmitter_node',
|
|
output='screen',
|
|
parameters=[{
|
|
'serial_port': LaunchConfiguration('serial_port'),
|
|
'baudrate': LaunchConfiguration('baudrate'),
|
|
'send_frequency': LaunchConfiguration('send_frequency'),
|
|
'x_move': LaunchConfiguration('x_move'),
|
|
'y_move': LaunchConfiguration('y_move'),
|
|
'yaw': LaunchConfiguration('yaw'),
|
|
'pitch': LaunchConfiguration('pitch'),
|
|
'feed': LaunchConfiguration('feed'),
|
|
'left_switch': LaunchConfiguration('left_switch'),
|
|
'right_switch': LaunchConfiguration('right_switch'),
|
|
}],
|
|
)
|
|
|
|
return LaunchDescription([
|
|
serial_port_arg,
|
|
baudrate_arg,
|
|
send_frequency_arg,
|
|
x_move_arg,
|
|
y_move_arg,
|
|
yaw_arg,
|
|
pitch_arg,
|
|
feed_arg,
|
|
left_switch_arg,
|
|
right_switch_arg,
|
|
uart_transmitter_node,
|
|
]) |