当前位置:网站首页 > R语言数据分析 > 正文

cruise软件教程(cruise2019安装教程)



目前的研究需要使用CARLA仿真环境进行数据集的录制,从github上面clone了一份从A点移动到B点的代码,这份代码是在地图中人工选择两个坐标然后进行移动,虽然能够满足数据录制的需求,但是只能沿直线移动。所以我参考carla给的automatic_control.py这个例子对代码进行了修改,基本的修改思路是利用get_spawn_points()从地图中提取点,然后将车辆放置在起点,利用BehaviorAgent对象控制车辆,同时设置终点给BehaviorAgent对象。在代码跑起来之后,车辆能够自主前进,但是完全不按照道路走,相当于给了一个目标,然后车就沿直线冲过去,最后撞到墙上停下。

遇到的这个问题确实不好描述,所以也不知道怎么搜索。查了许多资料,基本确定可能出错的位置有三个:地图加载错误、车辆出错以及agent对象错误。

地图加载一般不会出错,整个过程使用初始化好的client对象的get_world函数就可以得到一个地图,而地图点又是地图内置的,不太可能出现问题。车辆出错的位置可能是加载或者中间过程中的每一步控制。agent对象出错则可能是规控策略、路标出错等原因。通过不断打断点,最终发现在agent对象创建后,我们需要通过set_destination函数来设置目的地,而在这个函数内,会直接根据起点和终点计算好中间过程的每个路标点,后续在循环过程就会根据计算的路标点对车辆下发控制指令。而在这个位置,我发现代码计算出的终点竟然为坐标原点(0,0,0,)。但是传入进去的时候设置好的起始点是有坐标的。更加离谱的是,就算在这一步将起点和终点设置为同样的,车辆也会开出去撞墙。
在这里插入图片描述
进一步排查发现,是在设置目的地时,车辆的自身位置被初始化为了(0,0,0,),所以导致第一个路标点的计算就出错了,所以车辆才会朝着一个方向走直线撞墙。但是对照两个文件的写法,在初始化actor车辆对象的时候是完全一样的,所以不存在车辆设置的问题。

最后通过各种搜索,无意中发现了在carla的github评论区,有一个老哥也遇见了这个问题,并且作者和其他人给出了一些解决方案。个人理解是这个属于系统的一个bug,在初始化车辆后,必须要使用同步系统的tick函数同步一下,否则设置的车辆并不出现在起点,而是出现在原点,所以在将这个车辆actor对象赋值给agent时,车辆自身的初始位置就是错的,进而导致了后续路标点计算的错误。

估计是carlaAPI内部的bug,作者自己也没有指出问题所在。在初始化actor之后,调用tick函数进行一下同步即可。
在这里插入图片描述

修改过后的carla代码放在gitte里面了,链接如下:

到此这篇cruise软件教程(cruise2019安装教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
                            

版权声明


相关文章:

  • 华为模拟器路由器接口配置ip地址是多少(华为模拟器rip路由配置)2025-03-19 21:36:04
  • bt1120协议(tr111协议)2025-03-19 21:36:04
  • dateutils 工具类做减法(dateutils.format)2025-03-19 21:36:04
  • imx6ull是arm几(imx6u6a)2025-03-19 21:36:04
  • zipsinger签名(zip签名软件)2025-03-19 21:36:04
  • ruinita手表价格及图片(ruixine手表价格表)2025-03-19 21:36:04
  • oracle教程 菜鸟(oracle教程 csdn)2025-03-19 21:36:04
  • redis连接数配置(redis连接数怎么看)2025-03-19 21:36:04
  • win11安装vmware(win11安装vmware16蓝屏)2025-03-19 21:36:04
  • druiddatasource 密码加密(druid加密算法)2025-03-19 21:36:04
  • 全屏图片