【仿真】Carla介绍与使用 [1] (附代码手把手讲解)

10 篇文章 315 订阅
订阅专栏

0. 参考与前言

主要介绍无人驾驶的仿真环境CARLA,开源社区维护,以下为相关参考链接:

  1. Carla官方文档 建议后续找的时候 先按好版本号,有些功能/api 是新版本里有的, Carla官方github

  2. Youtube Python+Window 0.9.5 主要是用Carla环境,使用TensorFlow搭建简单的自我学习自动驾驶车辆【虽然到最后还是没看到学成功的车到底长啥样】

  3. 知乎正在更新中的关于Carla较全面的 介绍链接

  4. 简易安装见: 张聪明的CSDN【压缩包安装法】


此系列为张聪明三次使用carla,终于开始写记录 认认真真搞一次

第一次:是因为 Youtube Python+Window 0.9.5 ,然后当时在windows上没发运行就不了了之了,具体问题见当初在 Github issue链接

第二次:是打算用Carla跑ROS联通,但是很快就… 没搞了 有其他活

第三次:也是这次… Autoware的连接,当然就包括ROS了,其实不难查到Carla有一个专门的分支是用autoware内核的,但是呢… 介于我们还要上实车,所以就相当于remap到autoware的topic上了,但是这次因为要设置NPC玩家的轨迹以便验证每个步骤的流程【识别、OpenPlanner的行驶】所以就刚好认认真真看一次顺便做个笔记

这个系列同步在cnblog和csdn上进行更新,相关专栏和分类链接如下,有用的话 点个小赞,正向反馈~ 👍

  1. CSDN: https://blog.csdn.net/qq_39537898/category_11562137.html
  2. cnblog: https://www.cnblogs.com/kin-zhang/category/2096236.html

更新日志:

20221107:重新链一下代码,感觉上一版代码有些乱

20220527:重置 删除相关notion外链等 添加相关图片和对应链接

20220525:进行了一次较为大的改动,重组了一下目录 和 一些内容;去掉了一些原文的大段英文

20210420:第一版说明发布,总结了CARLA的基本使用

1. CARLA 世界组成

这一点在 引用3. Carla较全面的介绍 进行了介绍,所以我就写点 我的note/补充

首先是交互形式:Client-Server,所以当时我提出windows上无法运行成功时有人回复:是否是2000口没有开(但后续我确认过开了还是不行)就类似于IP握手连接的感觉?所以应该是可以在主机直接连接到其他跑仿真主机的host_ip的 => 后面事实证明2000口被其他的占用了,我-port=3000就成功了 hhhh

主要核心

仅进行一些简单介绍,对整体有个概念,如果没有到用上的时候,没有做说明的,可以暂时不用深入了解

  • Traffic manager. 类似于一个车辆管理器,更多详情见 [3] NPC管理/Traffic Manager ,‼️ 建议后续进行了解
  • Sensors. 车辆上的传感器,可以进行设置,CARLA内置有不少的传感器(LiDAR, Camera, Depth, DVS, Radar等等)
  • Recorder. 内置的一个记录工具,和rosbag异曲同工,更多详情见 [9] replay用法
  • ROS bridge and Autoware implementation. 和ROS相关的一些bridge,可以直接看 github ros-bridge的用法
  • Open assets. 城镇的一些贴图之类的,assets,如果不走UE4 源码编译,基本不会用上,0.9.13里进行了更新,可以修改一些贴图,更多建议自己探索
  • Scenario runner. 场景生成器,类似于做算法测试时希望能生成特定场景的功能。更多详情可以看看CARLA办的排行榜比赛 [7] Carla leaderboard 排行榜,0.9.11/12 好像引入了openscenario的格式进行设置

2. 头文件设置

一般最好的学习方式是直接先看一下官方的示例,一般用压缩包安装法打开后,整体文件夹的位置如下,可以看到 PythonAPI/examples 文件夹下有很多示例

➜  CARLA tree -L 1
.
├── CarlaUE4
├── CarlaUE4.sh
├── CHANGELOG
├── Co-Simulation
├── Dockerfile
├── Engine
├── HDMaps
├── Import
├── ImportAssets.sh
├── LICENSE
├── Manifest_DebugFiles_Linux.txt
├── Plugins
├── PythonAPI
│   ├── carla
│   ├── examples
│   ├── python_api.md
│   ├── tutorials
│   └── util
├── README
├── Tools
└── VERSION

然后打开时可以看到基本上所有的开头都有这样一段code,其实原因是因为carla有自己的python api库,可以通过此进行定位导入

# -- coding:UTF-8 --
#!/usr/bin/env python

import glob
import os
import sys
import time

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

每个文件请复制这个到头,或者按照下面所示添加库到自己的路径中,注意以下演示的是py2的 一定要根据自己的CARLA版本和py版本进行设置哈!!!

CARLA pip libaray

0.9.13及后的都可以通过pip install

pip3 install carla

0.9.12及以下的【引用3. 提到的方法把carla内置于python库当中去】 注意修改自己的CARLA文件夹、版本号和Python 版本号

cd ~/CARLA_0.9.11/PythonAPI/carla/dist/
unzip carla-0.9.11-py2.7-linux-x86_64.egg -d carla-0.9.11-py2.7-linux-x86_64
cd carla-0.9.11-py2.7-linux-x86_64
gedit setup.py

然后复制这段到setup.py里

from distutils.core import setup
setup(name='carla',
      version='0.9.11', 
      py_modules=['carla'],
      )

最后install一下就行

pip install -e ~/CARLA_0.9.11/PythonAPI/carla/dist/carla-0.9.11-py2.7-linux-x86_64

后话

看到有同学要这个.egg文件,其实CARLA甚至可以不用py37运行也可以的,主要就是找到这样一个对应的py库就行

https://pypi.org/simple/carla/ 在这里 你可以下载到任何python版本下的对应的CARLA版本的py库,对于whl的话 可以直接进行pip install的操作,我随便演示一下:

pip install carla-0.9.3-cp27-cp27mu-manylinux1_x86_64.whl

3. 初步探索

此章节主要参照官方文档的first step里的内容,学有余力者可直接阅读 英文原版文档,之中会添加一些自己的使用经验和碎碎念

如果觉得 1st, 2nd 太啰嗦了 可以直接阅读完整代码: https://gitee.com/kin-zhang/carla-python-api/blob/develop/tutorial/tutorial_spawn_car.py 一般情况下 可以直接看懂 因为我把注释也复制过去了 hhh

1st - World and Client


# 这里是连接Carla 服务器
client = carla.Client('localhost', 2000)
client.set_timeout(10.0) # seconds

# 读取现在开启的Carla里的世界信息
world = client.get_world()

读取世界信息的操作呢,主要是为了后面能

  • world.get_map() 拿到世界地图
  • world.spawn_actor 在世界内生成NPC或自己的车
  • world.get_blueprint_library() 在世界读blueprint的库里都有些啥 加车加传感器
  • world.get_random_location_from_navigation() 就是他名字写的那样

那么这些点后面的 我们应该从哪里得知呢?→ 跳转官方文档链接

2nd - Actors and blueprints


关于world能得到的所有的蓝图见 此链接,我们先试着生成一辆车

# get blueprint library 
blueprint_library = world.get_blueprint_library()
# 你可以在上面给的链接中找到 你想添加的东西
ego_vehicle_bp = blueprint_library.find('vehicle.audi.a2')
# 给我们的车加上特定的颜色
ego_vehicle_bp.set_attribute('color', '0, 0, 0')

关于第二点,是在find里找到添加的东西,建议打开网页然后CTRL+F,然后搜索关键字,比如

  • 如果你想添加的是传感器那么一般以sensor开头,sensor.sensor_type(传感器.传感器类型) sensor.lidar.ray_cast 就是激光雷达,sensor.other.collision 就是碰撞检测的【具体是啥呢 咱也不用管】
  • 如果是车呢,一般就是vehicle开头,vehicle.audi.a2 就是奥迪A2的车型

Attributes have an carla.ActorAttributeType variable. It states its type from a list of enums. Also, modifiable attributes come with a list of recommended values.
这句话是指 每一个blueprint呢都是有附加的东西的,比如颜色?你可以看看关于attibute的类型有哪些

  • 但是这点我没发现是从哪里来的,比如我怎么知道attribute有颜色

    知道了在BP的库链接里能看到,每一个find里面都有它自身附带的属性;可以 获取或设置attribute


看完了怎么去找到blueprint,那么怎么把他加入到world并跟踪其状态,包括位置、信息(如果是传感器的话 就会有传感器的一系列消息 比如相机会有图片、激光雷达会有点云)

The world object is responsible of spawning actors and keeping track of these. Spawning only requires a blueprint, and a carla.Transform stating a location and rotation for the actor.

也就是我们已经有了blueprint那么只需要给出transform就OK啦!

# 设置固定点,和他的朝向应该是怎样的
transform = carla.Transform(carla.Location(x=-9, y=80, z=2), carla.Rotation(yaw=180))

# 随机的获取世界中的一个点,这一行你也可以在spwan_npc.py中看到
spawn_points = world.get_map().get_spawn_points()

# 然后把之前的blueprint填入第一个参数中,transform填入第二个参数中
actor = world.spawn_actor(ego_vehicle_bp, transform)
  • map.get_spawn_points() for vehicles. Returns a list of recommended spawning points.
  • world.get_random_location() for walkers. Returns a random point on a sidewalk. This same method is used to set a goal location for walkers.

官方文档的 这个章节有详细的讲解怎么添加传感器到车上,行人的轨迹等。基于我的需求 我就写到这里了,噢 还有个部分就是创建出来的NPC你在退出的时候要销毁,不然… 就会有很多很多很多NPC只能关闭Carla本身去销毁,而且后续也容易出BUG

然后这里就是运行完后直接CTRL+C停止脚本的同时,执行销毁

按照下面的代码及位置生成车辆

停止运行并,销毁车辆

可以直接阅读完整代码: https://gitee.com/kin-zhang/carla-python-api/blob/develop/tutorial/tutorial_spawn_car.py

关于生成我们已经清楚了【可以留个作业:怎么生成走路的行人,也就是制作重复行人过马路的场景 .gif图如下, 会再下次再贴代码讲】那么在使用过程中我们可能需要设置行人过马路或者突然横穿马路的情景,在这里,我们继续实现前者以便验证一些感知、规划算法等

根据以上提供的完整代码后,再阅读下面的模块 就应该能知道 放置位置啦!

首先关于这一点还有一些知识,但也就是官网上的,主要呢就是说 整个actor的状态你都是可以知道的;当你生成了很多actors后,可以使用

# 读取现在开启的Carla里的世界信息
world = client.get_world()
# 前提是你定义的client.get_world()是赋给了叫world的变量哈

# 这样就拿到了这个世界里所有actor的信息
actor_list = world.get_actors()

我们可以看到图片中是运行的结果,如果你只想关注vehicle可以actor_list.filter('vehicle.*') 而图片中我是抽取了限速标志 看看所有限速标志的位置即其id号

那么我是怎么知道他的是type_id而不是type呢?【别问 问就是我… 以为是type然后报错了 然后就去官网,有一说一官网的文档写的那叫一个好,前提是你入门了这个…】 Python API reference

打开文档后我们可以看到如图所示的然后就知道了一个actor所包含的东西,往下翻还可以看到为什么我能拿到他的位置因为Methods里面有:Getters都有些啥

同时还可以设置一些参数,注意输入的数据格式即可,比如你可以先生成车辆,再把车辆set_location

说了Actors的操作后,我们还需要强调一点前面提到过的,destory销毁这些,不然你仅仅退出,这个actor还是会在这个地图里的,如果下一个位置你还是在这里生成车辆

所以一定要记得destroyed_sucessfully = actor.destroy() # Returns True if successful 这个destory命令 在运行后,特别是针对于在Carla中用学习来不断创造场景的

当然你还可以设置你的视野,所以你可以绑定你的视野,或者是… 绑定相机的位置 到司机的位置

spectator = world.get_spectator()
transform = vehicle.get_transform()
spectator.set_transform(carla.Transform(transform.location + carla.Location(z=50),
carla.Rotation(pitch=-90)))

读取交通灯的状态

#Get the traffic light affecting a vehicle
if vehicle_actor.is_at_traffic_light():
    traffic_light = vehicle_actor.get_traffic_light()

甚至是改变交通灯的状态【上帝模式】

#Change a red traffic light to green
if traffic_light.get_state() == carla.TrafficLightState.Red:
    traffic_light.set_state(carla.TrafficLightState.Green)
    traffic_light.set_set_green_time(4.0)

3rd - Maps and navigation

啊 后悔,太晚才看这个点… 写到这里还是再次建议大家看官方文档比较好,如果对英文阅读没有什么障碍的话,文档的语言都很简单放心 不像论文那样,字都认识连起来不知道啥意思【没错说我自己呢】

在上面的例子中,我们可以在client后建立世界的时候,加载自己想要的地图

    try:
        client = carla.Client('localhost', 2000)
        client.set_timeout(2.0)
        world = client.load_world('Town01') #load Town 01 Map
				world = reload_world() #reload the same map as world have
TownSummary
Town01A basic town layout with all “T junctions”.
Town02Similar to Town01, but smaller.
Town03The most complex town, with a 5-lane junction, a roundabout, unevenness, a tunnel, and much more. Essentially a medley.
Town04An infinite loop with a highway and a small town.
Town05Squared-grid town with cross junctions and a bridge. It has multiple lanes per direction. Useful to perform lane changes.
Town06Long highways with many highway entrances and exits. It also has a Michigan left.
Town07A rural environment with narrow roads, barely non traffic lights and barns.
Town10HDA city environment with with different environments such as an avenue or a promenade, and more realistic textures.

更多关于城镇路线俯视图图片可以 跳转此处查看

对于地图的格式,其实如果要在其他地方用的话,是可以直接提取地图里的waypoint点的,准确点是根据OpenDRIVE 1.4的标准来看,也就是说其实在Carla世界里是不需要建图、定位,直接导航即可,The traffic signs defined in the OpenDRIVE file are translated into CARLA as landmark objects that can be queried from the API. In order to facilitate their manipulation, there have been several additions to it.

  • carla.Landmark objects represent the OpenDRIVE signals. The attributes and methods describe the landmark, and where it is effective.
    • carla.LandmarkOrientation states the orientation of the landmark with regards of the road’s geometry definition.
    • carla.LandmarkType contains some common landmark types, to ease translation to OpenDRIVE types.
  • A carla.Waypoint can get landmarks located a certain distance ahead of it. The type of landmark can be specified.
  • The carla.Map retrieves sets of landmarks. It can return all the landmarks in the map, or those having an ID, type or group in common.
  • The carla.World acts as intermediary between landmarks, and the carla.TrafficSign and carla.TrafficLight that embody them in the simulation.

下面我们可以试着读取一下地图里有的waypoint,world.get_map().generate_waypoints(distance) 如果是老版本可能是world.map().generate_waypoints(distance) 或者是没有这个功能

waypoint点显示图 Town01下的

def main():
    
    try:
        SpawnActor = carla.command.SpawnActor
        client = carla.Client('localhost', 2000)
        client.set_timeout(2.0)
        world = client.load_world('Town01')

        distance = 10 #waypoint的间距
        waypoints = world.get_map().generate_waypoints(distance)
        for w in waypoints:
            world.debug.draw_string(w.transform.location, 'O', draw_shadow=False,
                                            color=carla.Color(r=255, g=0, b=0), life_time=120.0,
                                            persistent_lines=True)
        while True:
            world.wait_for_tick()
        
    finally:
        print('\ndestroying vehicles')
        time.sleep(0.5)

if __name__ == '__main__':

    try:
        main()
    except KeyboardInterrupt:
        pass
    finally:
        print('\ndone.')

这样一来如果在Carla里面去实现什么,根本不需要再用大采样的方式了,采样只需在两个waypoint与可达点范围内即。至此我们已经知道怎样获取waypoint了,可以试一试manual_control.py内,获取我们车的位置所处的waypoint甚至是lane_id,判断是否在junction里等一系列

运行演示gif 判断是否到了交叉路口处

运行判断的示意图

for ego_vehilce in my_vehicles:
                waypoint01 = my_maps.get_waypoint(ego_vehilce.get_location(),project_to_road=True, lane_type=(carla.LaneType.Driving))
                client.get_world().debug.draw_string(waypoint01.transform.location, 'O', draw_shadow=False,
                                            color=carla.Color(r=255, g=0, b=0), life_time=120.0,
                                            persistent_lines=True)
                # Examples of a waypoint accessing to lane information
                inside_junction = waypoint01.is_junction
                width = waypoint01.lane_width
                # right_lm_color = waypoint01.right_lane_marking.color
                print('waypoint:',waypoint01)
                print('is inside junction:',inside_junction,'lane width',width)

插入的位置与前置条件:

  1. 需要一开始把自己的车型定下来,或者看好actor_id然后再到另一个py脚本找这个对应的id
  2. 一定要记得get_map()这样才有前面提到的一些操作
  3. waypoint其下也有判断, 点击此处官方文档进行了解
  4. is_junction其实在官方的3st这个节下写错了应该是没有()不然会报错bool no callback

4th. Sensors and data

这一节主要是告诉大家怎么将现有的车上安装 传感器,和传感器的数据格式,其实在manual_control.py和tutorial.py里面都有… 看着看着也就会模仿了,比如RGB相机的,怎么看有什么呢?前面提到了blueprint大集合官方文档: https://carla.readthedocs.io/en/latest/bp_library/ 然后CTRL+F 输入sensor就可以看到所有的传感器类型即其输出的信息

# 找到传感器的蓝图
# Find the blueprint of the sensor.
blueprint = world.get_blueprint_library().find('sensor.camera.rgb')
# Modify the attributes of the blueprint to set image resolution and field of view.
blueprint.set_attribute('image_size_x', '1920')
blueprint.set_attribute('image_size_y', '1080')
blueprint.set_attribute('fov', '110')
# Set the time in seconds between sensor captures
blueprint.set_attribute('sensor_tick', '1.0')

# 设置传感器位置,attach to的vehicle
transform = carla.Transform(carla.Location(x=0.8, z=1.7))
sensor = world.spawn_actor(blueprint, transform, attach_to=my_vehicle)

# 接收传感器的数据
# do_something() will be called each time a new image is generated by the camera.
sensor.listen(lambda data: do_something(data))

...

# This collision sensor would print everytime a collision is detected. 
def callback(event):
    for actor_id in event:
        vehicle = world_ref().get_actor(actor_id)
        print('Vehicle too close: %s' % vehicle.type_id)

sensor02.listen(callback)

至于这个 留个作业可以是【当然如果考虑同步时间的话 可能有些困难建议 可以再往下读一篇 CARLA时间设置】

自己设置一个收集照片 Lidar 信息的npc玩家 来收集自己的数据集,答案在 代码在 这里 link me,完整解释在这里: 【仿真】Carla之收集数据脚本 [7] (附完整代码)

4. 总结

  1. Carla原来比我想的强大太多了,主要是关于地图的定义也很明确,传感器类型,等等等等简直了… 太适合做学习类的了
  2. 感觉下来学习Carla最重要的就是看官方文档而不是百度,首先明确自己想要干什么,比如设置速度,设置位置,你就要知道actor.get_location()或者是actor.set_location()这些都可以在blueprint那里面看到每一个blueprint下都有什么属性
  3. 以上,也算是给自己做一个笔记了,后续可能会继续学习怎么建立学习的环境(看到github上其实有很多挺棒的,但是版本都比较老了)

赠人点赞 手有余香 😆;正向回馈 才能更好开放记录 hhh

开源仿真软件CARLA说明CARLA An Open Urban Driving Simulator
02-20
CARLA是英特尔实验室联合丰田研究院、巴塞罗那计算机视觉中心联合发布的开源模拟器。 CARLA 的开发包括从最基础的直到支持城市自动驾驶系统的开发、训练和验证。除了开源代码和协议,CARLA 还提供了为自动驾驶创建的开源数字资源(包括城市布局、建筑以及车辆),这些资源都是可以免费获取和使用的。这个模拟平台能够支持传感套件和环境条件的灵活配置。
CARLA传感器详细文档介绍+python实例(持续更新ing)
热门推荐
weixin_44169614的博客
08-20 2万+
作为模拟真实驾驶环境的模拟器,CARLA提供了丰富的传感器接口,不同传感器的特点不同,应该针对不同场景选择合适的传感器或将多种传感器结合使用
Autoware&Carla联合仿真
最新发布
weixin_31735943的博客
08-07 72
自动驾驶仿真这两年的需求越来越大,各家自动驾驶公司忙着量产落地,如何尽可能多的测试算法系统的稳定性?如何用最小的成本完成?这就涉及到仿真的内容,而目前领域使用最多的是Carla,今天就为大家分享下Autoware&Carla的联合仿真实现;版本说明该教程所使用的版本如下:之所以使用docker版本进行学习,是因为安...
Carla Simulator自动驾驶模拟器 使用教程
weixin_42269064的博客
06-08 1448
(car){获取对car演员的控制权control = car.get_control(),根据用户的键盘按键pygame.key.get_pressed(),如果等于K_w或K_s或K_a或K_d或K_SPACE,就分别制定control动作control.throttle\reverse\steer\hand_brake,然后应用到car演员上car.apply_control(control),返回false;(6.5)根据control()的返回值,如果按esc键,就停止while循环。
开源交通流仿真平台Carla安装踏坑
03-07 918
前言CARLA是一个开源的仿真平台,旨在支持自动驾驶研究和开发。它提供了一个虚拟环境,让研究人员和开发人员可以测试他们的自动驾驶系统、感知算法、决策逻辑和控制策略,而无需在真实世界中操作实际车辆,从而大大减少了研究和开发的成本和风险。特点和功能开放和易于使用CARLA是完全开源的,提供了详尽的文档和示例,帮助用户快速上手和使用。逼真的环境:CARLA提供了多个精心设计的城市环境,包括街道、交通标...
介绍一款开源的自动驾驶仿真模拟器-Carla
weixin_50262060的博客
09-07 7306
Carla介绍
2024年C C++最新C语言--内存函数(3),2024年最新这些面试官常问的开发面试题你都掌握好了吗
2401_84978588的博客
05-13 447
和memcpy的差别就是memmove函数处理的源内存块和⽬标内存块是。是⽤来设置内存的,将内存中的值以字节为单位设置成想要的内容。95%以上C C++开发知识点,真正体系化!出现重叠,就得使⽤memmove函数处理。
carla使用方法
ygf666的博客
02-09 715
1.下载虚拟引擎(Unreal Engine) 1.1下载epic game Launcher 方法一:官网下载EPIC GAMES 方法二:网盘下载 链接:https://pan.baidu.com/s/1jLee3ugPK7C6blWC_NjnCQ 提取码:009m 1.2安装对应版本的虚拟引擎 2.下载对应的carla版本 方法一:carla官网 方法二:百度网盘 从这篇文章中获得网盘链接carla自动驾驶仿真之资源管理 3.打开carla 双击其中的虚拟引擎CarlaUE4.exe 接下来就可以
Carla基础 | Carla预编译版安装与ROS联合仿真图文教程
FRIGIDWINTER的博客
05-06 2946
Carla是一个开源的自动驾驶仿真平台,旨在帮助开发者设计、训练和评估自动驾驶系统。本文详细介绍Carla预编译版与carla-ros-bridge的安装流程,并给出与ROS进行联合仿真的实际案例,为后续实验做准备
Carla入门教程
qq_40971025的博客
07-06 1057
https://blog.csdn.net/weixin_43450646/article/details/106993185?ops_request_misc=&request_id=&biz_id=102&utm_term=carla&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-106993185
carla 仿真0.9版本
09-10
carla 仿真0.9版本 自动驾驶仿真平台。
仿真Carla介绍与基本使用 [1] (代码 基础版).doc
07-09
Carla介绍与基本使用Carla是一款开源的自动驾驶模拟平台,主要用于开发和测试自动驾驶算法。它由Unreal Engine提供支持,提供了高度真实的环境模拟,包括动态天气、交通规则、多传感器模拟等,使得开发者可以...
autoware.universe和carla联合仿真的点云以及高清地图
09-26
readme文件包含地图下载地址以及密码,其中地图包含autoware.universe和carla联合仿真的点云以及高清地图,包括Town1-Town7
【C++】ROS:Carla开源仿真器配置与使用示例
DevFrank的博客
06-29 4924
开源仿真环境配置与使用示例
大起底!CARLA 0.9.15正式发布!数字孪生、大地图、素材一键导入!
CV_Autobot的博客
11-29 704
编辑| 深信科创点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心【仿真测试】技术交流群本文只做学术分享,如有侵权,联系删文前言11月10日,CARLA正式发布0.9.15版本!带来数字孪生程序化、大地图上新、素材一键导入等诸多新特性。这些升级显著的加速了CARLA的内容创作流程。本文由深信科创CTO、CARLA核心开发者潘余曦博士,深信科创工程师、CARL...
Carla使用介绍
sinat_25882019的博客
07-11 1万+
由于实验室做实验的需要,开始接触驾驶的仿真环境Carla。这个模拟环境真的很真实,可探究的地方很多。记录一下探究的历程好了 源代码和相关的文件地址在github 上发布了,并且不定时更新。 打开网址后是一些相关的介绍说明之类的,往下拉就会看到Building CARLA标题,下面有分别对应Linux和Windows的两个版本,选择你所需要的环境对照相应文件配置就是了。 由于我当时4月份弄这个...
仿真-Carla初识-运行
周陽讀書
04-25 374
carla
自动驾驶仿真CARLA学习之路(一)
luxiangz的博客
07-07 5936
CARLA是一款开源的自动驾驶模拟器
详细介绍一下仿真软件CARLA的组成及其作用
05-12
CARLA是一款开源的仿真软件平台,用于开发和测试自动驾驶和智能交通系统。它由多个模块组成,每个模块都有自己的功能和作用。 1. CARLA Server:CARLA Server是CARLA的核心组件,它负责管理整个仿真环境,包括车辆、道路、交通信号灯、行人等。它还提供了多种API,可以方便地控制和获取仿真环境中的各种信息。 2. CARLA Client:CARLA Client是与CARLA Server连接的客户端,它可以通过API与CARLA Server进行通信,控制和获取仿真环境中的信息,例如车辆的位置、速度、方向等。 3. Unreal Engine 4:CARLA使用Unreal Engine 4作为视觉引擎,它可以提供高质量的图形效果,使仿真环境更加真实。 4. ROS Bridge:CARLA还提供了ROS Bridge,可以将ROS和CARLA集成起来,使得用户可以使用ROS的功能控制和获取CARLA中的信息。 5. Python API:CARLA还提供了Python API,使得用户可以使用Python编写控制程序,控制车辆在仿真环境中行驶。 总之,CARLA是一个非常强大的仿真平台,可以用于开发和测试各种自动驾驶和智能交通系统。它的组成部分都有各自的作用,可以方便地控制和获取仿真环境中的信息,使得开发和测试变得更加容易和高效。
写文章

热门文章

  • 【仿真】Carla介绍与使用 [1] (附代码手把手讲解) 37539
  • 【Python】Hydra 库使用记录 27987
  • Modern Robotics, Course 1: Foundations of Robot Motion 现代机器人学 课程记录及习题 27013
  • 【Autoware】Autoware安装教程 22524
  • 1 Introduction to Self-Driving Cars 课程习题编程解答及笔记 16043

分类专栏

  • Python 1篇
  • C++相关库使用记录
  • 论文阅读 30篇
  • 点云检测 3篇
  • 基础计算及数学 3篇
  • 机器人仿真 1篇
  • CARLA 10篇
  • Python, C++相关库使用记录 2篇
  • Self-Driving 无人驾驶 17篇
  • Ubuntu & ROS 18篇
  • Reinforcement Learning 强化学习 8篇
  • C++ & 数据结构 4篇
  • 机器学习 & 深度学习 11篇
  • VSCode 1篇
  • Robotics Specialization 8篇
  • 树莓派区 2篇

最新评论

  • 【仿真】Carla介绍与使用 [1] (附代码手把手讲解)

    CSDNxiaoh: 您好,我在执行命令”./CarlaUE4.sh -carla-port=6000“后,出现一个黑框,一直没反映 请问是什么情况

  • 【ROS】 在VScode中 ROS Debug 配置方法非常详细版

    之於: .launch文件是catkin_make -DCMAKE_BUILD_TYPE=Debug出来的吗,我怎么没有弄出来?

  • 【仿真】Carla之Docker 运行 及 渲染相关 [6]

    m0_53306757: 你好 请问怎么降低渲染质量呀,我在终端打开低渲染模式,然后加载其他地图后就会carla崩溃

  • 1 Robotics: Aerial Robotics 第1+2周 课程学习记录及课后习题解答

    xinjim: 作为个刚入门MATLAB的菜鸡,这第一个编程作业让我想吐血了(之前第一周的视频看了两遍,第二周的视频实在涉及太多公式了,需要好多数学和物理基础)

  • 【仿真】Carla简易安装 Window Ubuntu均适用 附ROS的简单连接 [0]

    Kin-Zhang: 我当时还是 4G-6G 储存空间,显卡运行吃大概3G;但是最新的版本好像大了2倍不止....

最新文章

  • 【基础教程】Tutorial on Pytorch 结合官方基础文档和个人经验
  • 随手记录: Ubuntu NVIDIA显卡驱动安装后 屏幕亮度无法调节 无法连接外显示器等问题
  • 【论文阅读】自动驾驶光流任务 DeFlow: Decoder of Scene Flow Network in Autonomous Driving
2024年3篇
2023年11篇
2022年37篇
2021年36篇
2020年25篇
2019年5篇

目录

目录

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kin-Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢雕塑制作加工精准推荐阳江玻璃钢雕塑包括哪些安徽卡通玻璃钢雕塑美陈装饰玻璃钢雕塑厂家璃钢雕塑厂家商场开业美陈文案策划范文四川仿铜玻璃钢雕塑销售电话主题玻璃钢雕塑出售西安商场春季美陈济南定制玻璃钢雕塑供应商连云港玻璃钢花盆厂家北京竞度空间玻璃钢雕塑仿真花美陈商场门头杭州商场美陈生产企业生产玻璃钢雕塑厂家哪里好凯里玻璃钢雕塑定做电话杭州大型玻璃钢雕塑市场河北工业玻璃钢雕塑生产基地玻璃钢雕塑实施方案福建玻璃钢雕塑摆件哪里买上海市玻璃钢雕塑生产厂家玻璃钢跑步运动人物雕塑江苏戏曲玻璃钢脸谱雕塑公司美陈商场圣诞节装饰玻璃钢花盆制品厂家山西玻璃钢小品雕塑维修翻新菏泽标识玻璃钢卡通雕塑公司信阳玻璃钢卡通雕塑生产厂家乐山玻璃钢卡通雕塑保山市玻璃钢雕塑设计公司白城玻璃钢雕塑工程电话多少香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化