sim_smart_car_bridge

ROS2 桥接中转节点:将 Origincar 仿真的 HTTP API 与 ROS2 话题双向桥接。

数据流

仿真机 HTTP API  ←———HTTP———→  origincar_bridge  ←———ROS2———→  你的其他节点

GET  /image  ──→  cv_bridge 解码  ──→  sensor_msgs/Image       /image
GET  /imu    ──→  填充字段       ──→  sensor_msgs/Imu          /imu
POST /cmd    ←──  speed/steer   ←──  geometry_msgs/Twist        /cmd_vel

依赖

依赖 用途
rclpy ROS2 Python 客户端
sensor_msgs Image / Imu 消息
geometry_msgs Twist 消息 (cmd_vel)
cv_bridge OpenCV ↔ ROS Image 转换
opencv-python 图像解码
numpy 图像数组处理
requests HTTP 请求

安装

cd <your_workspace>
git clone http://106.14.170.56:57575/cyy/sim_smart_car_bridge.git src/origincar_bridge
colcon build --packages-select origincar_bridge --symlink-install
source install/setup.bash

使用

launch 启动(推荐)

ros2 launch origincar_bridge bridge.launch.py http_host:=192.168.11.159

直接运行

ros2 run origincar_bridge bridge_node --ros-args -p http_host:=192.168.11.159

运行时调参

ros2 param set /origincar_bridge image_rate 15.0
ros2 param set /origincar_bridge timeout 2.0

可配置参数

参数 默认值 说明
http_host 192.168.11.159 仿真机 IP 地址
http_port 8765 HTTP API 端口
image_topic /image 图像发布话题
imu_topic /imu IMU 发布话题
cmd_vel_topic /cmd_vel 控制指令订阅话题
image_rate 30.0 图像拉取频率 (Hz)
imu_rate 30.0 IMU 拉取频率 (Hz)
timeout 1.0 HTTP 请求超时 (秒)

上游 API

本节点对接 Origincar Simulation 的 HTTP API端口 8765

端点 方法 说明
/image GET 前置摄像头 JPEG 图像
/imu GET IMU 数据 (MPU6050) JSON
/state GET 小车状态 JSON
/cmd POST 发送控制指令 {"speed": 1.0, "steer": 0.3}

项目结构

origincar_bridge/
├── package.xml                    # ROS2 包清单
├── setup.py                       # ament_python 构建入口
├── setup.cfg
├── resource/
│   └── origincar_bridge           # 包标记
├── launch/
│   └── bridge.launch.py           # 启动文件
└── origincar_bridge/
    ├── __init__.py
    └── bridge_node.py             # 桥接节点主程序
Description
ros2仿真桥
Readme 44 KiB
Languages
Python 100%