在CARLA中获取CARLA自动生成的全局路径规划

CARLA生成全局路径规划的代码在

carla/PythonAPI/carla/agents/navigation

在自己的carla客户端py文件中

python 复制代码
from agents.navigation.basic_agent import BasicAgent  # pylint: disable=import-error

如果是pycharm开发,要在pycharm的Settings - Project Structure, Add Content Root中加入agents的上级文件夹。

获得所有的生成点

python 复制代码
spawn_points = world.get_map().get_spawn_points()

在其中选择一个起点和一个终点

python 复制代码
start_location = spawn_points[0]
destination = spawn_points[38]

调用BasicAgent的set_destination函数,生成一个全局导航路径。

python 复制代码
agent = BasicAgent(vehicle, 30)
global_route_trace = agent.set_destination(destination.location, start_location=start_location)

上面代码的vehicle是一个汽车的类实例(如何生成一个汽车,参见博主另一篇文章:在CARLA中手动开车,添加双目相机stereo camera,激光雷达Lidar-CSDN博客

设置观察视角

python 复制代码
spectator = world.get_spectator()
transform = carla.Transform()
bv_transform = carla.Transform(transform.location + carla.Location(z=250,x=0), carla.Rotation(yaw=0, pitch=-90))
spectator.set_transform(bv_transform)

将路径可视化,画出上图的效果

python 复制代码
world.debug.draw_string(destination.location, str("destination"), life_time=100)
world.debug.draw_arrow(destination.location, destination.location + destination.get_forward_vector(), life_time=100)

for tup_i in global_route_trace:
    waypoint_i = tup_i[0]
    location = waypoint_i.transform.location
    world.debug.draw_arrow(location, location + waypoint_i.transform.get_forward_vector(), life_time=100)

以上!

相关推荐
myprogramc10 分钟前
十大排序算法
数据结构·算法·排序算法
记得早睡~13 分钟前
leetcode150-逆波兰表达式求值
javascript·算法·leetcode
qy发大财16 分钟前
跳跃游戏(力扣55)
算法·leetcode
BingLin-Liu19 分钟前
蓝桥杯备考:搜索算法之排列问题
算法·职场和发展·蓝桥杯
计算机小白一个22 分钟前
蓝桥杯 Java B 组之岛屿数量、二叉树路径和(区分DFS与回溯)
java·数据结构·算法·蓝桥杯
curemoon1 小时前
理解都远正态分布中指数项的精度矩阵(协方差逆矩阵)
人工智能·算法·矩阵
柃歌1 小时前
【UCB CS 61B SP24】Lecture 7 - Lists 4: Arrays and Lists学习笔记
java·数据结构·笔记·学习·算法
柃歌1 小时前
【UCB CS 61B SP24】Lecture 4 - Lists 2: SLLists学习笔记
java·数据结构·笔记·学习·算法
SKYDROID云卓小助手3 小时前
无人设备遥控器之如何分享数传篇
网络·人工智能·算法·计算机视觉·电脑
Lqingyyyy3 小时前
P2865 [USACO06NOV] Roadblocks G 与最短路的路径可重复的严格次短路
开发语言·c++·算法