Getting started with Carla_controller

Dependency

安装运行carla

安装运行ros

配置carla_ros_bridg

安装python simple pid 模块

multiplot画图工具

!Important
carla_controller 要求 carla版本 0.9.5 及以上,适配的 ros_bridge 0.9.5.1

carla_controller 主要由三个部分组成,包括scenario_designer、customed_carla_ros_bridge和rambot_controller。为了仿真您的控制器,您必须先运行carla服务端,这是所有操作的前提。scenario_designer 用来设计您需要的仿真路线及场景,customed_carla_ros_bridge是连接 carla world的桥梁,而rambot_controller则是控制器的样品,展示了消息的接口,您可以仿照它定制自己的控制器。

Usage

首先,设计您自己的场景,自由选择您需要的地图,并自定义路线,障碍物。

cd ~/../CARLA_0.9.5
./CarlaUE4.sh 或者 DISPLAY=  ./CarlaUE4.sh  

推荐使用:

DISPLAY= ./CarlaUE4.sh /Game/Carla/Maps/Town01 -benchmark -fps=10
!Note
该消息的含义如下:不进行图形显示,打开地形均为平面的Town01,将仿真帧率调到最低的10帧 可以根据这个格式更换地图,不打开显示的原因是,这个显示显示的是对整个地图的全局观测, 而不是对车子的观测,而且还会capture 鼠标,不如关掉显示。
cd ~/../(free_scenario_design.py的文件夹下)
python free_scenario_design.py

执行python脚本打开地图编辑视角后通过鼠标键盘自定义路线和线路图;操作方式如下

按键方式 作用 按键方式 作用 按键方式 作用
w c 选择放置物体或者路线模式 鼠标左键 物体模式下预览物体、路线模式下预览位置
s 空格 删除上一次放置的物体 鼠标右键 物体模式放置物体,路线模式下设置waypoint
a Tab 切换摄像头视角 o 切换设置路线模式决定路线是否经过waypoint
d r 记录数据 shift+R/Esc 重启/退出

按R 保存数据, 并新开一个终端,cd到上述文件夹下

python python csv_to_xml_helper.py route input_file_name output_file_name

配置文件已经保存在output_xmls文件夹下,您需要将保存的your_config_name.xml中的内容复制到/carla_scenario_runner_ros/src/carla_scenario_runner_ros/srunner/configs/ControlAssessment.xml中;注意格式

!Note
配置完场景,将运行中的python脚本退出

新开一个终端;运行下述命令,该launch文件将除了控制器的节点全部启动,场景已经准备完毕,等待控制器对小车进行控制;

roslaunch carla_launcher assess_rambot_controller.launch

新开一个终端;运行控制器

roslaunch rambot_controller rambot_controller_simu.launch
!Note
当然,如果你想画图,我们也为你准备了一个开源的画图工具!想要画曲线图,请在仿真运行之前配置好参数!

新开一个终端;运行;

rqt_multiplot