[carla入门教程]-6 小项目:基于carla-ros-bridge构建一个小型比赛赛道

本教程详细介绍使用CARLA模拟器构建赛车环境的过程,包括地图设置、车辆及障碍物配置、传感器接口使用等内容。

本专栏教程将记录从安装carla到调用carla的pythonAPI进行车辆操控并采集数据的全流程,带领大家从安装carla开始,到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制.

第六节 基于carla-ros-bridge构建一个小型比赛赛道

本节的主要内容是介绍一个小项目,项目内容为使用carla构建一个赛道以供参赛者使用.要求使用一个脚本就可以很方便的构建出这个赛道,赛道包括一个固定的起点和终点,中间具有几个固定的障碍物,参赛的车辆都是同一款车型,仿真环境中的天气光照等都保持一致.

1.比赛仿真环境要素

1.1 地图

地图的修改只需要在运行launch文件时增加 town:="town07"的参数即可.

  • 如果想要永久修改默认参数,参考以下方法:
    在下面的carla_ros_bridge.launch文件中找到10行, 把’town’的default值改为Town07.
sudo gedit /opt/carla-ros-bridge/melodic/share/carla_ros_bridge/launch/carla_ros_bridge.launch

然后保存即可.

1.2 车辆

1.2.1 定制化修改- 通过在启动命令时引入参数:

我们在官方的 carla_example_ego_vehicle.launch 后面附上生成点spawn_point,车辆滤波器vehicle_filter,就可以轻松实现定制车辆的功能了.

roslaunch carla_ego_vehicle carla_example_ego_vehicle.launch spawn_point:="68.219688,-37.028912,0.5,2.649131,4.661454,104.526855" role_name:="ego_vehicle" vehicle_filter:="vehicle.audi.a2"

当然,我们也可以一步到位,直接在carla_ros_bridge_with_example_ego_vehicle.launch中附带参数:

roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch spawn_point:="68.219688,-37.028912,0.5,2.649131,4.661454,104.526855" role_name:="ego_vehicle" vehicle_filter:="vehicle.audi.a2" town:="town07"

为了方便展示,用文字描述一下上述代码:
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch spawn_point:=“68.219688,-37.028912,0.5,2.649131,4.661454,104.526855”
town:=“town07”
ego_vehicle_role_name:=“ego_vehicle”
vehicle_filter:=“vehicle.audi.a2”

运行上述脚本进行车辆遥控的内容可以参考[carla入门教程]-5 使用ROS与carla通信的3.2节.

在这里插入图片描述

然后我们再配合使用rviz就可以查看传感器数据:

rosrun rviz rviz -d carla_tutorial/rviz_carla_sensor.rviz 

在这里插入图片描述
这里有一个小bug,车辆出生后没有拉手刹,然后会溜车.需要手动按B然后按空格拉手刹.

如果想要修改默认参数,参考1.2.2和1.2.3.

1.2.2 官方生成脚本分析

自带的车辆生成demo的launch文件如下

sudo gedit  /opt/carla-ros-bridge/melodic/share/carla_ego_vehicle/launch/carla_example_ego_vehicle.launch

这个文件实际上是调用另一个launch文件:

/opt/carla-ros-bridge/melodic/share/carla_ego_vehicle/launch/carla_ego_vehicle.lau
### 配置 CARLA 的 IP 地址以启动 launch 文件并解决缺少 CARLA-ROS-Bridge 的问题 #### 1. 配置 CARLA 的 IP 地址 在 CARLA 模拟器中,IP 地址的配置通常涉及 Carla 的服务器端与 ROS 客户端之间的通信。以下是具体的配置方法: - **参数文件配置** 在 CARLA-ROS-Bridge 的 `params.yaml` 文件中,指定 Carla 的主机地址和端口号。路径通常为: ```bash /home/car/carla/ros_ws/src/carla-ros-bridge/carla_ros_bridge/config/params.yaml ``` 打开该文件后,找到以下字段并修改: ```yaml carla: host: "127.0.0.1" # 替换为实际的 IP 地址[^4] port: 2000 # 默认端口为 2000 ``` - **Launch 文件配置** 如果使用自定义的 launch 文件,可以在 XML 文件中添加以下内容: ```xml <param name="carla/host" value="127.0.0.1"/> <!-- 替换为实际的 IP 地址 --> <param name="carla/port" value="2000"/> ``` 确保 IP 地址正确无误,并且能够通过 `ping` 命令测试连通性。 #### 2. 解决缺少 CARLA-ROS-Bridge 的问题 如果在运行 `roslaunch carla_ros_bridge carla_ros_bridge.launch` 时遇到错误,可能是由于环境变量未正确配置或依赖项缺失。以下是解决方案: - **检查环境变量** 确保 `.bashrc` 文件中包含以下内容: ```bash export CARLA_HOME=/path/to/your/CARLA_ROOT # 替换为 CARLA 的安装路径[^2] export PYTHONPATH=$PYTHONPATH:$CARLA_HOME/PythonAPI/carla/dist/carla-<version>-py<python-version>-linux-x86_64.egg source ~/carla-ros-bridge/catkin_ws/devel/setup.bash ``` 修改完成后,运行以下命令使更改生效: ```bash source ~/.bashrc ``` - **安装依赖项** 确保所有依赖项已正确安装。可以运行以下命令以验证: ```bash ./setup.sh ``` 如果出现错误,请根据提示安装缺失的依赖项。 - **检查版本兼容性** 确保 CARLACARLA-ROS-Bridge 的版本匹配。例如,CARLA 0.9.13 应与 CARLA-ROS-Bridge 的对应版本兼容[^2]。 - **调试错误信息** 如果仍然报错,例如: ```plaintext AttributeError: 'CarlaRosBridge' object has no attribute 'shutdown' ``` 这可能是由于代码版本不一致导致的。建议更新 CARLA-ROS-Bridge 至最新版本[^3]。 #### 3. 启动 CARLACARLA-ROS-Bridge 按照以下步骤启动 CARLACARLA-ROS-Bridge- 启动 CARLA 模拟器: ```bash ./CarlaUE4.sh -prefernvidia -quality-level=Low -benchmark -fps=15 ``` - 启动 CARLA-ROS-Bridge: ```bash roslaunch carla_ros_bridge carla_ros_bridge.launch ``` 确保 CARLA 模拟器和 ROS 节点之间的通信正常。 --- ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值