[持续更新]CRALA模拟器优质学习资料整合
-
目录
前言
一、carla官网
二、视频类
1.1 车辆生成及rgb摄像头安装
1.2 从油管搬运过来的概述
1.3 运动规划/MPC控制
1.4 其他
二、文档类
2.1 小飞自动驾驶系列分享 - 知乎
2.2 Python酷 - 来Python酷学Python库[点击跳转]
2.3 【仿真】Carla之收集数据快速教程 (附完整代码) [点击跳转]
2.4 Carla 学习笔记(1)之雷达与摄像头联合采集数据并存储数据[点击跳转]
2.5 CARLA的使用笔记一: 放置车辆和前置摄像头[点击跳转]
三、可能遇到的问题:
3.1 线程报错问题
3.2 pandas安装问题
前言
carla作为一款优质自动驾驶模拟器,在国内却没有太多的系列教程,比较有代表性的有叶小飞在知乎的系列文章,精简概述carla的一些功能,但对于新手来说还不够详细,以下是CRALA模拟器比较优质的一些学习资料整合
一、carla官网
首推carla官网,详细全面,内容太多以至于找起来不方便,没有整段能跑的代码且对英语阅读能力要求比较高,适合不着急的时候花时间慢慢啃:
carla官网:CARLA Simulator
二、视频类 1.1 车辆生成及rgb摄像头安装Python控制特斯拉自动驾驶,ADAS仿真软件Carla学习笔记第一部分_哔哩哔哩_bilibili安装RGB摄像头,ADAS仿真软件Carla学习笔记第二部分_哔哩哔哩_bilibili
import argparse
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 == 'n在全网都t' else 'linux-x86_64'))[0])
except IndexError:
pass
import carla
import random
import time
import numpy as np
import cv2
IM_WIDTH = 800
IM_HEIGHT = 640
def process_img(image):
i = np.array(image.raw_data)
i2=i.reshape((IM_WIDTH , IM_HEIGHT ,4))
i3 = i2[:,:,:3]
cv2.imshow(" ",i3)
cv2.waitKey(100)
return i3/255.0
actor_list = []
try:
client = carla.Client('127.0.0.1', 2000)
client.set_timeout(2.0)
world = client.get_world()
blueprint_library = world.get_blueprint_library()
bp = blueprint_library.filter('model3')[0]#指定车辆
print(bp)
transform = random.choice(world.get_map().get_spawn_points())#随即出发降落点
vehicle = world.spawn_actor(bp, transform)
vehicle.set_autopilot(True)
actor_list.append(vehicle)
cam_bp = blueprint_library.find ("sensor.camera.rgb")
print(cam_bp)
cam_bp.set_attribute("image_size_x",f"{IM_WIDTH}")
cam_bp.set_attribute("image_size_y",f"{IM_HEIGHT}")
cam_bp.set_attribute("fov","110")
spawn_point = carla. Transform(carla.Location(x=2.5, z=2.7))
sensor = world.spawn_actor(cam_bp,spawn_point,attach_to=vehicle)
actor_list.append (sensor)
sensor. listen (lambda data: process_img (data))
time.sleep(120)
finally :
for actor in actor_list:
actor.destroy()
print("201904020115 ")
原视频没有放出代码,这里我把自己跟着写的放出来了,和视频里代码是一样的,但摄像头的画面是不正常的,我根据其他博客改成了以下这种,但画面还是只有一帧,没有实现和视频里一样的实时画面拍摄效果,知道怎么解决的小伙伴欢迎评论区留言讨论!
import argparse
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
import numpy as np
import cv2
IM_WIDTH = 640
IM_HEIGHT = 480
def process_img(image):
i = np.array(image.raw_data)
i2 = i.reshape((IM_HEIGHT, IM_WIDTH, 4))
i3 = i2[:, :, :3]
cv2.imshow("", i3)
cv2.waitKey(20)
return i3 / 255.0
actor_list = []
try:
argparser = argparse.ArgumentParser(
description=__doc__)
argparser.add_argument(
'--host',
metavar='H',
default='127.0.0.1',
help='IP of the host server (default: 127.0.0.1)')
argparser.add_argument(
'-p', '--port',
metavar='P',
default=2000,
type=int,
help='TCP port to listen to (default: 2000)')
args = argparser.parse_args()
actor_list = []
client = carla.Client(args.host, args.port)
client.set_timeout(20.0)
world = client.get_world()
blueprint_library = world.get_blueprint_library()
bp = blueprint_library.filter('model3')[0]
print(bp)
spawn_point = random.choice(world.get_map().get_spawn_points())
vehicle = world.spawn_actor(bp, spawn_point)
vehicle.apply_control(carla.VehicleControl(throttle=1.0, steer=0.0))
vehicle.set_autopilot(True) # if you just wanted some NPCs to drive.
actor_list.append(vehicle)
#https://carla.readthedocs.io/en/latest/cameras_and_sensors
blueprint = blueprint_library.find('sensor.camera.rgb')
blueprint.set_attribute('image_size_x', f'{IM_WIDTH}')
blueprint.set_attribute('image_size_y', f'{IM_HEIGHT}')
blueprint.set_attribute('fov', '110')
spawn_point = carla.Transform(carla.Location(x=2.5, z=0.7))
sensor = world.spawn_actor(blueprint, spawn_point, attach_to=vehicle)
actor_list.append(sensor)
sensor.listen(lambda data: process_img(data))
time.sleep(60)
finally:
print('destroying actors')
for actor in actor_list:
actor.destroy()
print('done.')
1.2 从油管搬运过来的概述
Carla和Python实现自动驾驶_哔哩哔哩_bilibili
1.3 运动规划/MPC控制CarLa仿真器下实现自动驾驶运动规划_哔哩哔哩_bilibili
CARLA-MPC控制_哔哩哔哩_bilibili
自动驾驶运动规划-CarLa_哔哩哔哩_bilibili
1.4 其他b站的carla教程讲的东西差不多,一般停留在入门介绍和基础功能教学。油管的carla教程比b站的要全面和丰富,能科学上网可以去学习,不过是全英而且很多没有字幕,讲的时长一般也都很久,也是比较适合有时间慢慢啃。
二、文档类 2.1 小飞自动驾驶系列分享 - 知乎该系列值得学习,从几个主要方面都对carla做了介绍,包括:
2.2 Python酷 - 来Python酷学Python库[点击跳转]这几篇也从基本概念-交互-摄像头使用-交通管理器四个方面对carla进行了介绍,值得学习
2.3 【仿真】Carla之收集数据快速教程 (附完整代码) [点击跳转]该篇文章介绍了如何在车上安装前摄、侧摄以及在头顶的激光雷达并保存影像到指定文件夹地点,
一开始运行可能会遇到报错说车辆模型不存在,改一下车辆模型名称就好了,点击这里查看可从蓝图库调用的车辆模型名称:CARLA蓝图库可调用的车辆模型名称大全_问题多多快快改的博客-CSDN博客
再跑就没问题了,很棒的模型!
代码下载: tutorial/collect_data.py · 张聪明/CarlaPythonAPI - Gitee.com
2.4 Carla 学习笔记(1)之雷达与摄像头联合采集数据并存储数据[点击跳转]一开始运行可能也会遇到报错说车辆模型不存在,改一下车辆模型名称就好了,方法同上,
再运行可以实现摄像头采集数据并存储到指定文件夹,不过摄像头不是固定在车上,而是在一个固定位置,搞了很久没能找到解决方法,感兴趣的朋友欢迎在留言区评论讨论!
2.5 CARLA的使用笔记一: 放置车辆和前置摄像头[点击跳转]车辆放置成功,但摄像头画面只有起始地点拍摄的一帧,没有实现实时画面拍摄效果,知道怎么解决的小伙伴欢迎评论区留言讨论!
1.QObject::moveToThread: Current thread (0x7f632833ba40) is not the object's thread (0x7f63283b1ec0). Cannot move to target thread (0x7f632833ba40) 2.ModuleNotFoundError: No module named 'conda'
3.2 pandas安装问题3. from pandas._libs.tslibs import IncompatibleFrequency, OutOfBoundsDatetime ImportError: cannot import name 'IncompatibleFrequency' 4.AttributeError: module pandas has no attribute core
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)