carla 环境中增添车辆

附上整个程序的代码

import glob
import os
import sys

try:
    sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
        sys.version_info.major,
        sys.version_info.minor,
        'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
    pass

import carla

import random
import time

actor_list = []                                                    #创建一个actor列表
try:                                                           #封装一下
    client = carla.Client('127.0.0.1', 2000)                   #创建一个客户端
    client.set_timeout(2.0)                                    #如果2s未通信上,报错
    world = client.get_world()                                 #获取仿真世界
    blueprint_library = world.get_blueprint_library()          #获取一个蓝图库
    bp = blueprint_library.filter('model3')[0]                 #创建一个model3
    print(bp)
    transform = random.choice(world.get_map().get_spawn_points())#随机抓取一个点
    vehicle = world.spawn_actor(bp, transform)                   #将上一个点生成一辆车
    vehicle.set_autopilot(True)                                 #vehicle进入自动驾驶
    actor_list.append(vehicle)  # 把vehicle放进actor列表
    location = vehicle.get_location()                            #定义车辆的位置
    print(location)                                              #定义车辆的起始位置
    time.sleep(120)                                              #让车跑120s
finally:
    for actor in actor_list:                                    #将actor_list中的
        actor.destroy()                                         #将所有的actor都销毁
        print("所有的演员都over!")

 实现环境

技巧 (网格线的位置为(0,0,0,))

 

 成果展示

 

具体代码解释

1.将一些通用库和动态模型引入所编写的代码文件

import glob
import os
import sys

try:
    sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
        sys.version_info.major,
        sys.version_info.minor,
        'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
    pass

import carla
import random
import time

2.创建一个对象列表方便控制

actor_list = []                                         #创建一个actor列表

3.需要一个客户端,与carlaUE4.exe服务器通信。这里很重要

client = carla.Client('127.0.0.1', 2000)                   #创建一个客户端

(ps:因为大家大分部用的都是自己的电脑,即本地计算机的IP地址,故这里的localhost填“127.0.0.1”)

4.设置客户端与服务器的链接超时时间

 

 client.set_timeout(2.0)                                    #如果2s未通信上,报错

 5.创建世界

world = client.get_world()                                 #获取仿真世界

6.获取蓝图库blueprints,从蓝图库中提取模型

 blueprint_library = world.get_blueprint_library()       #引入蓝图库
 bp = blueprint_library.filter('model3')[0]              #创建一个model3中第一个模型

7.放置模型(车辆)的位置 

 transform = random.choice(world.get_map().get_spawn_points())#随机抓取一个点
 vehicle = world.spawn_actor(bp, transform)                   #将上一个点生成一辆车

8. 设置模型在仿真世界的动作,将模型加入对象列表

vehicle.set_autopilot(True)                                 #vehicle进入自动驾驶
actor_list.append(vehicle)                                  # 把vehicle放进actor列表

 9.小编个人认为满世界找车辆不太容易,就打印出了车辆的位置(不是必须的)

print(vehicle.get_location())                                  # 打印第一辆车的位置

10.销毁车辆和一切对象

    for actor in actor_list:                                #将actor_list中的
    actor.destroy()                                         #将所有的actor都销毁

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值