跳过主要内容

Carla 模拟器

让我们尝试使用汽车模拟器不仅进行感知还可以进行控制。

在本教程的其余部分中,我们将接受您有一个 carla 模拟器 运行在 localhost:2000 上,这是默认的 carla 配置。

查看 Carla 模拟器安装页面

最快的方式是使用docker:

docker pull carlasim/carla:0.9.13
docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.13 /bin/bash ./CarlaUE4.sh -carla-server -world-port=2000 -RenderOffScreen
# 更多信息在 https://carla.readthedocs.io/en/latest/build_docker/

一旦模拟器启动并运行,我们可以在开始 中添加代码来检测我们的行程中的障碍。 为此,我们只需要替换发送图像的摄头节点。 oasis agent 连接到 carla 服务端,并从车辆的前置摄头捕获图像。 我们可以使用摄头的这个 instaad agent 将图像数据发送到数据流图中的下游算子。

nodes:
- id: oasis_agent
custom:
inputs:
tick: dora/timer/millis/400
outputs:
- position
- speed
- image
- objective_waypoints
- lidar_pc
- opendrive
source: shell
# With Carla_source_node
args: python3 ../../carla/carla_source_node.py
#
# Or with the OASIS AGENT
#
# args: >
# python3 $SIMULATE --output
# --oasJson --criteriaConfig $CRITERIA
# --openscenario $XOSC
# --agent $TEAM_AGENT
# --agentConfig $TEAM_AGENT_CONF
# --destination $DESTINATION

- id: yolov5
operator:
outputs:
- bbox
inputs:
image: oasis_agent/image
python: ../../operators/yolov5_op.py

- id: plot
operator:
python: ../../operators/plot.py
inputs:
image: oasis_agent/image
obstacles_bbox: yolov5/bbox
position: oasis_agent/position

至运行:

dora up
dora start graphs/oasis/oasis_agent_yolov5.yaml --attach

您应该可以看到一个窗口显示 carla 模拟器中来自一个摄头的视图。 在这个摄头流,您应该看到对象检测发生。

您可以使用 ctrl+c 终止您运行中的数据流。

完成第一步是为您展示如何连接 carla 模拟器与 dora。 并无提供任意移动车的控制。