更新接口

This commit is contained in:
cyy
2026-06-20 21:54:04 +08:00
parent 954ca7f8a7
commit a58cbbf481
5 changed files with 366 additions and 203 deletions

View File

@@ -9,78 +9,77 @@ from launch_ros.actions import Node
def generate_launch_description():
"""启动 origincar_bridge 节点,所有参数可通过命令行覆盖。"""
# 声明 launch 参数(名称, 默认值, 说明)
declare_http_host = DeclareLaunchArgument(
"http_host",
default_value="192.168.11.159",
"http_host", default_value="192.168.11.159",
description="仿真机 IP 地址",
)
declare_http_port = DeclareLaunchArgument(
"http_port",
default_value="8765",
"http_port", default_value="8765",
description="HTTP API 端口",
)
declare_timeout = DeclareLaunchArgument(
"timeout", default_value="1.0",
description="HTTP 请求超时 (秒)",
)
declare_sync_rate = DeclareLaunchArgument(
"sync_rate", default_value="30.0",
description="scan/odom/imu/power 同步频率 (Hz)",
)
declare_image_rate = DeclareLaunchArgument(
"image_rate", default_value="10.0",
description="图像拉取频率 (Hz)",
)
# 话题名称
declare_image_topic = DeclareLaunchArgument(
"image_topic",
default_value="/image",
"image_topic", default_value="/image",
description="图像发布话题",
)
declare_imu_topic = DeclareLaunchArgument(
"imu_topic",
default_value="/imu",
"imu_topic", default_value="/imu/data_raw",
description="IMU 发布话题",
)
declare_scan_topic = DeclareLaunchArgument(
"scan_topic", default_value="/scan",
description="激光雷达发布话题",
)
declare_odom_topic = DeclareLaunchArgument(
"odom_topic", default_value="/odom",
description="里程计发布话题",
)
declare_power_topic = DeclareLaunchArgument(
"power_topic", default_value="/PowerVoltage",
description="电池电压发布话题",
)
declare_cmd_vel_topic = DeclareLaunchArgument(
"cmd_vel_topic",
default_value="/cmd_vel",
"cmd_vel_topic", default_value="/cmd_vel",
description="控制指令订阅话题",
)
declare_image_rate = DeclareLaunchArgument(
"image_rate",
default_value="30.0",
description="图像拉取频率 (Hz)",
)
declare_imu_rate = DeclareLaunchArgument(
"imu_rate",
default_value="30.0",
description="IMU 拉取频率 (Hz)",
)
declare_timeout = DeclareLaunchArgument(
"timeout",
default_value="1.0",
description="HTTP 请求超时 (秒)",
)
# 节点
bridge_node = Node(
package="origincar_bridge",
executable="bridge_node",
name="origincar_bridge",
output="screen",
parameters=[
{
"http_host": LaunchConfiguration("http_host"),
"http_port": LaunchConfiguration("http_port"),
"image_topic": LaunchConfiguration("image_topic"),
"imu_topic": LaunchConfiguration("imu_topic"),
"cmd_vel_topic": LaunchConfiguration("cmd_vel_topic"),
"image_rate": LaunchConfiguration("image_rate"),
"imu_rate": LaunchConfiguration("imu_rate"),
"timeout": LaunchConfiguration("timeout"),
}
],
parameters=[{
"http_host": LaunchConfiguration("http_host"),
"http_port": LaunchConfiguration("http_port"),
"timeout": LaunchConfiguration("timeout"),
"sync_rate": LaunchConfiguration("sync_rate"),
"image_rate": LaunchConfiguration("image_rate"),
"image_topic": LaunchConfiguration("image_topic"),
"imu_topic": LaunchConfiguration("imu_topic"),
"scan_topic": LaunchConfiguration("scan_topic"),
"odom_topic": LaunchConfiguration("odom_topic"),
"power_topic": LaunchConfiguration("power_topic"),
"cmd_vel_topic": LaunchConfiguration("cmd_vel_topic"),
}],
)
return LaunchDescription(
[
declare_http_host,
declare_http_port,
declare_image_topic,
declare_imu_topic,
declare_cmd_vel_topic,
declare_image_rate,
declare_imu_rate,
declare_timeout,
bridge_node,
]
)
return LaunchDescription([
declare_http_host, declare_http_port, declare_timeout,
declare_sync_rate, declare_image_rate,
declare_image_topic, declare_imu_topic, declare_scan_topic,
declare_odom_topic, declare_power_topic, declare_cmd_vel_topic,
bridge_node,
])