生活做爰网站,房地产网站建设,婚纱摄影网站设计案例,好的竞价账户托管外包文章目录 前言一、通过Spectator获取坐标二、通过道路ID获取坐标总结 前言
CARLA没有直接的方法给使用者查找地图坐标点来生成车辆#xff0c;这里推荐两种实用的方法在特定的地方生成车辆。 一、通过Spectator获取坐标
1、Spectator#xff08;观察者#xff09;#xf… 文章目录 前言一、通过Spectator获取坐标二、通过道路ID获取坐标总结 前言
CARLA没有直接的方法给使用者查找地图坐标点来生成车辆这里推荐两种实用的方法在特定的地方生成车辆。 一、通过Spectator获取坐标
1、Spectator观察者我们通过键盘的W A S D按键以及鼠标的左键可以移动Carla Client的画面实际移动的是Spectator的位置。
2、假设我们将Spectator通过W A S D按键以及鼠标移动到当前的位置按键调整的是x,y,z位置鼠标调整的是pitch,yaw,roll。 3、执行下述代码通过API获取当前Spectator位置再将车辆生成到当前位置。
import carlaclient carla.Client(localhost, 2000)
carla_world client.get_world()#获取CARLA世界中的spectator
spectator carla_world.get_spectator()
transform spectator.get_transform()
print(transform)
#打印Transform(Location(x115.515007, y-16.447723, z1.146989), Rotation(pitch10.587230, yaw-3.618074, roll0.000049))#生成车辆
blueprint carla_world.get_blueprint_library().filter(vehicle.*)[0]
ego carla_world.spawn_actor(blueprint, transform)二、通过道路ID获取坐标
1、假设你有roadrunner打开carla的xodr地图选中任意车道你会发现右侧有road id 17和lane id -5有了这两个参数就好办了。xodr地图路径在 D:\CARLA_0.9.14\WindowsNoEditor\CarlaUE4\Content\Carla\Maps\OpenDrive) 2、通过代码直接生成到目的道路和车道。
import carlaclient carla.Client(localhost, 2000)
carla_world client.get_world()target_road_id 17
target_lane_id -5#获取carla地图
map carla_world.get_map()
# 每隔2m生成1个waypoint
waypoints map.generate_waypoints(2.0)
# 遍历路点
ego None
for waypoint in waypoints:if waypoint.road_id target_road_id:lane_id waypoint.lane_id# 检查是否已经找到了特定车道ID的路点if lane_id target_lane_id:location waypoint.transform.location#稍微设置一下z坐标如果z为0的话车会掉下去。location.z 1ego_spawn_point carla.Transform(location, waypoint.transform.rotation)print(ego_spawn_point)#生成车辆blueprint carla_world.get_blueprint_library().filter(vehicle.*)[0]ego carla_world.spawn_actor(blueprint, ego_spawn_point)break#这里补充观察者代码3、上面的代码已经生成了车辆到指定的road id 和 lane id的位置我们现在可以设置一个spectator看看车辆有没有在目的地这部分代码和上面的代码一起执行。
# 顺便搞个观察者安装到车辆看看车到了目标点没有
camera_bp carla_world.get_blueprint_library().find(sensor.camera.rgb)
# 设置生成Camera的附加类型为Rigid
Atment_SpringArmGhost carla.libcarla.AttachmentType.Rigid
# 设置Camera的安装坐标系
Camera_transform carla.Transform(carla.Location(x-5, y0, z2),carla.Rotation(pitch-10, yaw0, roll0))
# 生成Camera
camera carla_world.spawn_actor(camera_bp, Camera_transform, attach_toego,attachment_typeAtment_SpringArmGhost)
#设置spectator坐标
carla_world.get_spectator().set_transform(camera.get_transform())总结
roadrunner网上比较多资源也比较容易安装可以绘制日常仿真使用的地图有时间的可以安装学习一下。