问题及需求
获取当前carla世界三维坐标的二维俯视坐标系表达,即将三维坐标投射到二维坐标系上。
可将carla世界的三维坐标转换为俯视地图上的二维坐标。
可以将汽车在carla世界的连续坐标,投射到俯视地图中,获得汽车轨迹的直观表述。
当前环境
-
Ubuntu 20.04.6 LTS
-
carla0.9.14
程序位置
实现效果
问题解决1-获取carla三维三维点坐标
加载carla地图,设置俯视观察视角,可选是否卸载地图除路网外的其他元素,在carla世界中生成原点和随机点,在carla世界中将其绘制出来,并将carla世界三维点坐标保存到carla_points2.txt中
此时还需截图当前carla俯视图,应包含carla整个世界,其中一个包含绘制点,一个不包含,注意两个截图大小位置应完全相同,保存为carla_town03_allmap_points.png,carla_town03_allmap.png两个文件
关键程序1-设置俯视观察视角
def set_spectator_transform():
# world = client.get_world()#获取世界
spectator = world.get_spectator()
spectator_transform = carla.Transform(
carla.Location(x=0.0, y=0.0, z=200.0),
carla.Rotation(pitch=-90,yaw=-90) # 设置俯视角度
)
spectator.set_transform(spectator_transform)
关键程序2-生成并绘制世界原点和随机点
def get_spawn_points(num_points):
map = world.get_map()
# 获取所有可能的车辆生成点
spawn_points = map.get_spawn_points()
# 随机选择生成点
random.shuffle