据外媒报道,杜克大学(Duke University)曾启动一个研究项目,以将桌面机器人手臂的运动规划速度提高,让机器人可依靠定制的处理器,在几毫秒时间内完成通常需要几秒钟进行的工作。随后,杜克大学研究人员基于该项技术成立一家名为Realtime Robotics的公司,最近,他们正致力于将该技术用于自动驾驶汽车。
让自动驾驶更快做出运动规划,包括汽车决定下一步要做什么的过程,让该过程变快不仅意味着让车辆更快做出决定,还意味着做出更好地决定,以尽可能地保证该车及周围车辆的安全。
问题是,在一个本身就不可预测的世界上行驶,将需要大量计算机来猜测人类的下一步行动。计算机非常擅长该项工作,特别是在道路等半结构化的环境中。大多数计算机使用概率模型预测不确定性对象的下一步动作,例如,大多数模型可能会同意,前方车辆可能会继续以相同速度向前行驶,而且保持在自己的车道内,在没有发出信号的情况下变道的可能性很低,突然刹车的可能性更低。
大多数自动驾驶系统基于概率模型中最有可能发生的场景,即周围物体接下来的动作,来进行运动规划。此类模型会提供一个置信水平,如果系统不确定会发生什么,就会让车辆速度慢下来,但是,该系统仍只能一次规划一个场景,而不是考虑车辆所可能采取的所有行动(甚至有些是不可能的),或做出运动规划,让车辆保持最佳状态去处理只是有可能发生的事情。大多数自动驾驶系统一次只能管理一个运动规划,速度在3 Hz和10 Hz之间,与此不同的是,Realtime Robotics可以运行数十个甚至数百个运动规划,而且每次的计算时间不到1毫秒,即1000 Hz,从而可让自动驾驶系统能够在更短的时间内考虑到更多的潜在结果,做出更好决策。
Realtime Robotics的车辆运动规划系统有一个巨大的预先计算的图形 – 网格,其中包括车辆在无障碍环境中可以采取的所有不同运动轨迹。该网格包括节点和边缘,节点表示特定车辆的配置(位置、速度、行驶方向),而边缘将节点连接起来表示车辆在1秒钟运动时间内,此类配置之间的轨迹。网格中有数千万条边缘,反映了在网格所覆盖的所有时间范围内,车辆配置状态不同所发生的变化。每个边缘都代表着燃料使用或乘客舒适性等方面的代价,代价最低的边缘意味着车辆运动更高效、更平稳。
每10毫秒时间内,Realtime的系统会根据以下步骤进行运动规划:
1. 摄像头、雷达、激光雷达和其他传感器的感知数据会被输入该系统,该系统会识别静态障碍物(如建筑和树木)、确定性的移动障碍物(如足球)以及更具挑战性的非确定性移动障碍物(如其他汽车、行人和自行车)。所有静态和动态障碍物位置的感知数据被放入网格中;
2. 对于每个不确定性障碍物,该系统必须对其在规划间隔时间内可能会遵循的轨迹进行有根据的猜测。幸运的是,有很多模型都在尽力预测汽车、行人和自行车可能会做出什么动作。该系统将不确定性障碍物作为静态对象进行建模,然后进行猜测。
3. 网格中一旦包括了所有障碍物的数据,就可以做出实际的运动规划,告诉车辆下一步应该怎么做。Realtime Robotics的FPGA可配置芯片能够在硬件中将网格数据编码,然后在网格边缘中运行,找到代价最低的路径,从而使得运动规划进行得非常快,只需不到一毫秒的时间就可以交付一个规划,如果需要扩展,也很容易添加更多硬件。
4. 此时,Realtime系统做出的运动规划与其他系统做出的一样好,不同之处在于,Realtime的系统可更快交付规划,然后再次回到步骤3,重新运行,使用稍微不同的猜测法,猜测不确定性移动障碍物可能会做出的动作。由于模型只是对其他车辆或行人接下来的动作做出概率性猜测,因此可能并不会发生。情况越复杂,就越难猜测得准确。但是,如果不断地重复运行步骤3和步骤4,运行10至100次,就可以得出最有可能发生的场景,然后选择最好的运动规划,保证最高的安全性。
5. 最后一步就是执行运动规划,由于该网格的每一个边缘代表每辆车的1秒运动时间,而每10毫秒会计算和执行一个新运动规划,规划速度越快,车辆越有可能更快做出最好的决定。
Realtime Robotics的车辆运动规划系统不止与一次性建立很多运动规划模型有关,还跟车速有关,因为当为一个快速移动的车辆做运动规划时,规划所花费的时间就等于车辆行驶的距离。如果车速在60 km/h(约为40 mph)时,花费10毫秒进行规划与花费100毫秒进行规划会出现1.5米的行驶距离差距,可能成为是否能避开行人的关键因素。在高速公路等车速更快、更受限的环境中,可能需要以更少的规划方案换取更快地规划速度,从而让车辆有更多的反应时间。而在车速更慢、更复杂的环境中,可能需要花费更长的时间规划。
Realtime公司总部位于波士顿,其已经在仿真环境中对该系统进行了广泛的测试,但是还没有机会在真正的汽车上进行测试,尽管该公司正为自动驾驶汽车领域的多家公司研发该系统原型。