carla--使用python进行carla交互仿真
python进行CARLA仿真
1. CARLA简介
CARLA是一个开源的自动驾驶仿真工具,CARLA以Unreal Engine为基础来运行模拟,并使用OpenDRIVE标准来定义场景,可以使用Python API进行CARLA的调用。
Carla的仿真架构是由服务器和客户端组成的:
服务器:即为仿真环境本身,负责图像渲染、物理计算等,服务器的启动需要打开CalaUE4.exe
客户端:使用Carla的API进行车辆及其动作、天气环境等设定
2.QuickStart
2.1 创建Client和World
进行仿真前需要先创建客户端并与服务器连接:
对于windows版本,需要先打开CalaUE4.exe,并且设置一个timeout
client = carla.Client("localhost", 2000)
client.set_timeout(5.0)
现在客户端已经与服务端连接上了,即为一个虚拟的世界,接下来需要创建一个地图,可以加载carla内置的地图
world = client.load_world('Town02')
2.2 添加一些环境参数:天气
现在可以通过python api (set_weather)设置所加载场景的环境,比如天气:
weather = carla.WeatherParameters(cloudiness=0.2,precipitation=0.2,sun_altitude_angle=80.0)
world.set_weather(weather)
2.3 创建一个Actor
接下来需要在所创建的场景中添加物体,包括:车辆、行人、传感器等。这些统称为Actor,不同的Actor有不同的属性。calar中有创建Actor的模板,叫做Blueprints。
下面为定义一个白色的特斯拉:
model3_bp = world.get_blueprint_library().find('vehicle.tesla.model3')
model3_bp.set_attribute('color', '255,255,255')
2.4 Actor的生命周期
生成Actor
使用world对象的spawn_actor可以生成一个actor,可以定义车辆产生的地点:
transform = Transform(Location(x=100, y=300, z=40), Rotation(yaw=180))
actor = world.spawn_actor(blueprint, transform)
定义Actor的动作
model3.set_autopilot(True)
也可以自定义车的位置
location = model3.get_location()
location.x += 10.0
model3.set_location(location)
回收Actor
当我们不在需要某个Actor的时候,可以将其销毁,释放计算资源。
destroyed_sucessfully=actor.destory()
3. 添加传感器
Calar中已经支持了很多传感器,例如:
摄像头: Depth, RGB , Semantic segmentation
探测器: Collision , Lane invasion , Obstacle
其他: GNSS , IMU , LIDAR raycast , Radar
传感器跟其他的Actor最大的不同是,它们需要被安装在车上,因此在生成传感器的时候,需要将其附着到一个车辆类型的Actor上,而出生点是针对于这台车本身的坐标系给定的。
camera_bp = world.get_blueprint_library().find('sensor.camera.rgb')
camera = world.spawn_actor(camera_bp, carla.Transform(carla.Location(x=-5.5, z=2.5), carla.Rotation(pitch=8.0)), model3,carla.AttachmentType.SpringArm)
camera.listen(lambda image:image.save_to_disk('output/%06d.png' % image.frame)
设置观察者
即为观察仿真的视角
while True:spectator = world.get_spectator()transform = model3.get_transform()spectator.set_transform(carla.Transform(transform.location + carla.Location(z=50),carla.Rotation(pitch=-90)))time.sleep(5)
5. 仿真效果
carla--使用python进行carla交互仿真相关推荐
- 使用 Carla 和 Python 的自动驾驶汽车第 4 部分 —— 强化学习Action
欢迎来到自动驾驶汽车的第五部分,并与Carla.Python和TensorFlow加强学习. 现在我们已经有了环境和代理,我们只需要添加更多的逻辑将它们连接在一起,这是我们接下来要做的. 首先,我们将 ...
- 使用 Carla 和 Python 的自动驾驶汽车第 2 部分 —— 控制汽车并获取传感器数据
欢迎来到 Carla 自动驾驶汽车教程系列的第 2 部分.在本教程中,我们将向您介绍 Carla 的 Python API 方面. 首先,Carla 中有几种类型的对象: world:这是你的环境: ...
- 自动驾驶模拟器Carla之python编程-(2)控制汽车
在本节,我们将向您介绍Carla的Python API. Carla中有几种类型的对象.首先,您当然拥有world(世界),这就是你的环境.这样,您便拥有了这个世界中的actors(角色).角色诸如汽 ...
- Carla学习2:carla安装与使用
文章目录 0. 建议 1. carla学习相关链接 1.1 官方资料 1.1 学习教程 2. Carla安装 2.1 服务器端 2.1.1 下载预编译版本(也可以使用下载源码并编译) 2.1.2 启动 ...
- [carla] GNSS传感器与Carla坐标系 转换方法
文章目录 方法1:通过python API直接获取转换后坐标 1.1 GNSS传感器消息-内容介绍 1.2 在线获取方法 1.3 完整代码 方法2-通过离线读取转换关系的方式转换 2.1 转换类代码和 ...
- python基础指令-Python基础——与Python的指令交互
Python是近几年兴起的一门编程语言,也是人工智能的主要语言,在TIOBE排行榜上占据着不错的位置,是许多程序员学习的对象,对于孩子来说,学习Python还是有些吃力的,我们需要从头开始一点点学起. ...
- python timestamp转string_Python仿真区块链【含源码】
在区块链或数字货币领域,Python并不是主流的开发语言.但是如果 你的目的是研究区块链技术的原理,或者需要在自己的笔记本上仿真一个 区块链网络并进行一些研究性的实验,比如完成自己的毕业设计项目 或科 ...
- Python批量运行Gprmax仿真并快速提取雷达波走时和振幅
Python批量运行Gprmax仿真并快速提取雷达波走时和振幅 使用gprmax仿真模拟时,通常在cmd窗口写命令,运行结果保存的文件夹不能任意选择,这样很不方便.尤其是在做钻孔电磁波仿真时,需要大量 ...
- python中和js交互_python和js交互调用的方法
后台代码都是利用的 1.[get方式]使用jquery的get json与后台交互 前端js代码片段 var data= { 'a': $('input[name="a"]').v ...
最新文章
- 【Qt】在QtCreator中使用Ctrl+Shift+f快捷键打开高级查找窗口失效的解决方法
- ubuntu下使用SVN
- 如何在Windows 2000的域环境中自动分发软件
- 2012-12-21
- java如何实现连接wifi_java-是否可以检测到您要连接的WiFi类型?
- 山海树“医+药”O2O闭环 掘金8万亿市场
- SM04在线用户管理
- html5文字飞入插件,jquery使用CSS3实现文字动画效果插件Textillate.js
- vnc非授权访问漏洞
- 独家总结| 一文读懂卡尔曼滤波
- 【Flink】解决Flink在测试环境无法保存checkpoint问题
- HID Global推出全新室内定位服务 助力企业优化配置劳动力
- 如何修改html代码,如何修改网页源代码
- Android NDK开发(一)环境搭建及运行示例
- 乌龟量化估值怎么看_【可视化】Python计算指数的历史PE估值
- 计算机中数值数据的表示
- marvel 1548 phy芯片调式
- Domain or host
- sql --Acess
- ubuntu命令行登陆校园网
热门文章
- CB Insights:全面拆解谷歌AI战略布局
- 浅谈支付宝第三方支付
- 自定义view,仿微信、支付宝密码输入控件的源码实现
- imap服务器收缓存pst文件夹,Outlook 转移OST数据文件 IMAP账户
- 禅与摩托车维修艺术语录摘抄(1)
- P1039 [NOIP2003 提高组] 侦探推理
- k8s安装nfs-subdir-external-provisioner插件
- 计算机主硬盘隐藏分区大小,容量不翼而飞 解密四类硬盘空间隐藏占用(组图)
- Python的Module,Library,Package的区别
- 王者苹果服务器维护几点能玩,《王者荣耀》ios版更新维护到几点 10月17日ios版更新时间介绍...