# Greenhouse **Repository Path**: mos-cherry/greenhouse ## Basic Information - **Project Name**: Greenhouse - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-21 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 温室 为了快速验证模型部署,计划使用 Leaderboard 的 ROS 2 Agent 来接入模型输入和输出 ## 开源项目 - [Carla](https://github.com/carla-simulator/carla) `~/carla_0.9.15/` - [Leaderboard](https://github.com/carla-simulator/leaderboard) `./leaderboard/` - [Carla ROS Bridge](https://github.com/carla-simulator/ros-bridge) `./docker/ros_client/ros-bridge/` - [Scenario Runner](https://github.com/carla-simulator/scenario_runner) `./scenario_runner/` **note**: I recommand you to put your carla at `~/carla_0.9.15` or you need to edit `./docker/docker-compose.yml` and `./scripts/env.sh` synchronously. And I do **not** recommand you to use carla on dockerhub, since it does not have additional maps. ## 项目结构 - Host: - Carla 0.9.15 - Docker: Ubuntu 22.04 - Leaderboard - ROS 2 Humble - ROS 2 Agent(Leaderboard Node) - LaunchNode - InferNode ```mermaid graph TD A[宿主机] -->|运行 CARLA 仿真器| A1(Carla) subgraph B[ROS2 Humble 容器] B1(Leaderboard 进程) B2(ROS2 Agent 节点) B3(ros bridge 节点) B4(模型推理节点) end A --> B A1 <-->|网络通信(端口 2000)| B1 A1 <-->|网络通信(端口 2000)| B3 B1 -->|Python API| B2 B3 <-->|ROS2 话题| B4 B2 <-->|ROS2 话题| B4 ``` ## 程序结构 ```mermaid classDiagram class ROSBaseAgent { init() _vehicle_control_cmd_callback run_step() destroy() } class ROS2Agent { init() spawn_object() destroy_object() set_global_plan() destroy() } class TCP_Agent { ros_entrypoint() setup() sensors() } ROSBaseAgent <|-- ROS2Agent ROS2Agent <|-- TCP_Agent class leaderboard_node { -/carla/spawn_object(type_, id_, transform, attributes, attach_to=0)[service] -/carla/destroy_object(uid)[service] +CarlaRoute /carla/hero/global_plan[topic] +CarlaGnssRoute /carla/hero/global_plan_gnss[topic] -CarlaEgoVehicleControl /carla/hero/vehicle_control_cmd[topic] -Bool /carla/hero/status[topic] } class infer_node { init() infer_once() } ROS2Agent ..> leaderboard_node : 启动 ```