3

我想尝试开发一种可以处理所有人工智能和其他计算内容的冗余自动驾驶汽车计算架构。为此,我购买了一些包含集成 GPU 的边缘计算设备(Nvidia Jetson TX2s)。然后我用千兆以太网交换机将它们连接起来,现在我可以与它们通信了。

我需要你对系统架构的建议。如何实施这个故障安全、安全关键和冗余系统?有一些集群示例可提供高可用性。但我想这样做:“每个计算节点运行相同的进程,然后将结果输出到主节点。主节点分析并投票结果并选择最好的。如果计算节点失败(错误、系统停机、缺电等) ),系统应该意识到故障并将故障节点的计算负载转移到健康节点。每个节点还应该运行一些节点特定的任务,而不受协作进程的影响。

你的想法是什么?任何关键字、建议、方法推荐都对我有帮助。

4

1 回答 1

3

汽车的主要系统/软件安全标准是ISO 26262。如果您打算认真制作汽车产品,您将需要获取一份副本并按照流程进行操作。

汽车自动驾驶级别的主要分类是SAE J3016_201806。通过事先知道您要达到的级别,您可以省去很多麻烦。在尝试做更复杂的事情之前,您可能想要为 1 级(“动手”)拍摄,例如自适应巡航控制或车道偏离预防系统。

以下是我从安全工作中收集到的一些一般主题:

  • 没有普遍接受的方法来确定软件故障的概率。甚至有一种观点认为软件不会失败。相反,大多数安全标准将软件中实现的安全重要功能分配给不同的“级别”,这些“级别”需要根据某些标准进行更高级别的审查,包括严重性、与危险的接近程度(是否存在联锁?)等。
  • 大多数安全标准将软件定义为在硬件上运行的一切,因此您需要确保您使用的操作系统也符合标准。这通常意味着实时操作系统。
  • 使您的安全重要功能尽可能简单。如果你可以用基本的电路和逻辑门(例如紧急停止)来做一些事情,那么就去做吧,因为数学和分析对于硬件来说要成熟得多。
  • 获取并遵循与安全相关的编码标准。汽车应用的主要应用是MISRA C。
  • 研究使用故障树分析来识别发生事故所需的故障关系。这也有助于识别单点故障。
  • 如果可能,尽量减轻设计中的危险。程序缓解和个人防护设备应该是最后的手段。
  • 至少,您需要一个用于安全驾驶员的硬电子紧急停止装置和一个由观察员操作的遥控紧急停止装置。
于 2019-09-23T23:37:28.410 回答