埃里克·威廉博士,凯斯斯瑞士
自动驾驶汽车将在未来的配送业务中发挥关键作用,特别是在室内/室外和街道/人行道的混合运营中。瑞士Kyburz ag是一家成熟的电动运输车辆制造商,它凭借自己品牌的基于其成熟的eTrolley底盘的机器人运输车辆加入了这个竞争激烈的市场。与竞争对手的一个重要区别是,Kyburz强调将功能安全规范应用于其机电系统开发。
本演示演示了如何围绕MATLAB构建基于模型的设计工作流®,仿金宝app真软件®, Stateflow®可以大大加快开发进程。我们将提供各种例子来突出这种方法的好处,重点是与开发安全的自动驾驶系统相关的控制挑战。从模型中自动生成符合安全要求的代码,消除了容易出错的手工转换为手写代码的问题,显著提高了生产率和软件质量。
记录时间:2019年5月22日
很高兴来到这里。非常感谢您为我们提供了一个论坛来描述我们在公司的工作。我想从这里开始。我认为,忽略幻灯片上的车辆是我的疏忽。
这是一个自动驾驶或自动eRod。所以我们从2016年开始销售这些eRod车辆。我们在苏黎世联邦理工学院赞助了一个项目,学生们可以把eRod变成一个自动机器人车辆。
一点点更新:我最近刚刚进入了Kyburz的研究领导的角色,所以这一角色有什么关系?我认为这是世界上最伟大的工作之一。我拿出了未来的想法和计划。但我也可以自己做这项工作。所以我一直是Matlab用户,我想我现在想了大约18年。当我教导时,我花了一点休息。现在我很乐意回到它。
在我开始讲之前,我想先介绍一下Kyburz。屏幕左上方的车辆对你们中的一些人来说可能有点熟悉,尤其是那些住在瑞士的人。在房间里的澳大利亚人看来,左下角的车辆可能有点眼熟。我们刚刚从瑞士卖了1000辆车到澳大利亚。基本上,我们的主要产品是最后一英里的电动汽车。下载188bet金宝搏这张地图显示了瑞士各地的车辆分布情况。
该公司自1993年以来由马丁·基布尔兹拥有和经营。我们大约有100人坐在苏黎世郊外。我领导的团队,是一个很小的团队。所以我们有一组可监管的资源。在我们看这些幻灯片的时候我想回到这一点因为我觉得这对我们为什么在这里很重要。
为了激发自动系统的问题,我们在Kyburz讨论自动输送系统。我们所有的车辆都专注于物流链的最后一英里或第一英里。这个行业一直在变化。
所以传统的做法是,一个邮递员给很多人送邮件,因为几个世纪以来,这个系统就是这样运作的。然而,由于电子交流的结果,以及现在有多少人通过互联网进行交流,这一业务一直在下降。因此,客户在他们的边际上感到了一定程度的痛苦。
因为他们有其他收入流,例如,包裹交付 - 问题在于经济学不一样。所以你有一个人为另一个人的人为特定的时间。所以每次交付中两到三分钟,那个人正在为另一个人工作。所以它不会像很好地缩放。
业务正在增加。有更多的包裹正在递送。但通过这种方式为我们的客户创造收入并不容易。所以他们一直在寻找新的替代方案。他们一直在寻找某种东西来解决这个问题,机器人就是其中之一。
所以两年前,我们开始了一个项目,看看我们能做些什么。这里的挑战是,这些机器人必须是各种各样的。它们必须更好、更便宜、更快、更可靠,甚至可能比人工快递更人性化。所以有很多悖论。这是一个非常具有挑战性的任务。但我希望,在这节课中,我会描述我们是如何选择的。
这些是我们迄今为止的原型。第一个原型,红盒子,我们建造的第二辆车,被设计用来作为一个移动补给站。不知道你是否意识到这一点,一辆柴油卡车载着邮包在城市里四处转悠,然后让邮政工人来收集然后投递。这个红色的原型车,是用来代替柴油的。所以我们仍然有这样的模型,一个人走过来,遇到了交通工具。但是不再需要邮递员来送邮件了。
第二辆原型车,在幻灯片上很难看到尺寸的差异,但它实际上是一辆相当大的车。差不多有2又1/2米长。装上去差不多有500公斤重。它被卖给了挪威邮报。这是一个与挪威伙伴Buddy Mobility合作的项目。基本上,这个想法实际上是要完全取代邮政工人。车辆在物流中心装载,然后运送邮件。稍后我会给大家展示一些图片。
这是两种商业模式。从本质上说,我们看了看我们的选项面板,决定专注于我们下一个原型的通用模型。所以这里的概念草图,灰色的飞行器,是一种尚未制造的飞行器。
但本质上,这种设计是这样的你会有一个托盘或一个盒子,可以容纳邮袋,或储物柜,或任何你想在表面上运输的东西。所以本质上,这是一个多用途的自动递送系统。你会注意到我们在这个阶段没有交付人员。所以我认为这是一个重要的区别。
当我说到挑战的时候,这里有三个主要的挑战,我们有兴趣用我们的自主系统来解决。可用性问题,我会详细描述。我在这里提一下。你必须像人类一样擅长递送包裹或邮件。
你必须尽可能安全或更安全,你必须证明这一点。那是一个关键点。我们也是,当我们正在开发这些事情时,我们需要能够模拟 - 这在一天早些时候提出了一点,我们需要模拟难以验证现实世界的情况。因此,您必须提出模拟,您可以测试的事情,以确保您的控制策略有效。
让我们关注第一个问题。我想在这里展示一个思想实验。你有这个人。他们每天递送300个包裹。他们有标准工作日和标准工资。
现在我们想看看这个机器人,会出现和交付的邮件,你可以做一些快速的数学在你的头,说,好吧,我需要大约2 1/2机器人来弥补这包裹递送我看超过100000瑞士法郎最初购买成本。它的摊销是多少?也可能是2年,2年半,然后你就可以拿回这笔钱了。
但是关于自治的丑陋秘密呢?那一队人坐在后面的房间里,用摄像机监视着系统,随时准备在接到通知时介入,帮助机器人从它不了解的情况中拯救出来呢?那些人呢?谁支付?
所以我们当我们看着这个小玩具经济问题我认为我只是把数字弄错了,所以我可以给你正确的型号后,展示让我们发现你可以摊销这些系统如果你解开,这基本上意味着人类干预每天一次,但从未经过三每天。所以本质上,你有一个非常严格的要求关于你能在多大程度上干预机器人的操作。
那么我们的设计意味着什么?所以基本上,我们选择的是什么,然后将各种传感器技术和计算能力一起装入这些平台,并实现我们不应该随时涉及的人。所以当你俯视这个表的列时,你可能会看到总是一个绿色和一个黄点,这意味着我们总是有一些逆力,无论是本地化还是试图避免在这些各种场景中的障碍。
当然,这个表格比我在这里展示的要宽得多。但作为一个例子,我想我应该加入一些背景。像要处理的透明障碍物,或者可爱的、柔软的、模糊的、我们不想越过的障碍物,这些都是我们在设计传感器系统和设计时真正考虑的东西。
这就是我们的目标。我们如何做到这一点呢?因此,在这种情况下,我们面临的挑战是提出一个有效的工作流,让一个非常小的团队完成大公司正在做的事情。我有一个由两个程序员组成的团队。所以还有很多工作要做。
本质上,我们从我们的规格开始。所以我们把它们写出来,连接到我们正在使用的基于模型的设计范例中。我们写代码。然后我们生成代码。我们基本上是自动生成PLC代码,然后我们要编译它并把它放到控制器上。这使我们能够达到安全的水平这是我们的控制系统很难达到的。
我不想赘述这一点,因为默罕默德很好地解释了国家流动对你的工作的价值。但我只是想展示一个简单的图表例子,我们实际上用它来测试一些想法。我想把它和。我想我可能做得不像Mohammed在他的演讲第34页中做的那么好,在那张幻灯片中,他比较了标准代码和statflow模型。但这种方法在处理复杂性时更有效。
所以如果我们让所有的传感器都冗余地工作,就会有大量的复杂性需要我们处理。特别是当你在不同情况下用到不同的控制器时,抱歉,这张幻灯片在statflow建模器中被放大了。因为它实际上是我们使用的控制器之一。所以,如果你把这张照片放大,你可以——[笑]。无论如何,这里的想法是,我们可以处理所有的复杂性,以一种对一个小团队来说是可测试和可调试的方式。这对我们用这种方式建模很有帮助。
所以我现在要把齿轮切换有点一点并谈谈我们的安全方法。所以我们正在建造机器,而不是车辆。这是我想制作的一个关键点,因为这意味着我们不必遵守非常严格的功能安全规则。但我们选择自愿做。
原因是我们在汽车行业看到的很多最佳实践都是有意义的。在这个阶段这样做是明智的,因为在那个时候,我们知道无论如何我们都处于最先进的水平。所以我想说,Kyburz的一个关键优势是我们有能力让新的车辆概念上路。这是自治系统空间的策略之一。
这是我们的V循环流程,对于汽车行业的人来说,定义我们的规格,然后进行测试。我将花一点时间来谈谈这看起来是怎样的。所以在单元级别上,一直到V的底部,我们将直接使用工具箱在Simulink中测试简单的单元测试。金宝app
再上一关,我们有一个很好的方法,将生成的代码导入code Assist,并联合模拟我们生成的测试平台,也是自动的。这是一种一箭双雕的好方法因为我们可以检查代码是否一致以及它是否在模块级别上实现了我们想要的功能。
然后我们再往前一步。我相信在杰森的演讲中提到过,关于旅行者号和ROS。所以我们也使用了ROS,但仅限于Gazebo多物理环境。这很好,因为它与机器人系统工具包很好地结合,然后帮助我们模拟整个系统的行为。我们可以观察传感器的回声。我们可以把噪音引入我们的系统。稍后我会放几段我们在凉亭玩的视频。
不过,我想在这里提到的是,我之前展示的工具链是为了让代码进入我们的车辆而设计的,这些车辆可以通过认证。所以我们当然想使用工具链,这样你就可以通过TUF和其他认证机构的过程获得代码。我有点怀疑你是否能够获得一个完全在ROS中运行的控制器。但在这方面,我可能是错的。
这就是我们在单元级的简单串行通信测试的例子。我们有这个控制器函数块它是从控制器中自动生成的。我们正在检查CRC是否被正确评估,然后从惯性导航系统。如果我们有什么问题,我们基本上就会出问题。
这是我的最后一部分。最后我想留点时间给大家提问。所以我现在要做的是模拟极端情况。我们有这个危险和风险分析,我们对我们的车辆系统进行分析。我们识别各种各样的故障模式,检查它们发生的概率,如果它发生了有多糟糕,以及它有多可控。
在这种情况下,对于自治系统,可控性总是最坏的情况因为理论上,没有人在那里。然后我们来看看其中的一些例子,看看试图过马路的例子。所以,如果我们的车辆是为人行道操作和道路操作而设计的,当我们遇到交通灯时,会发生什么?我们怎么过那条路?
或者在最底部的恶劣天气——当我们用传感器透过雾和雨时,会发生什么?我们怎么可能通过?最后,对机器人来说最困难的挑战是,如果天气很热,你没有手拿冰淇淋,会发生什么?这是我们非常关心的测试案例。我觉得这家伙太热了,想在那里游泳。
我们这里的方法是,将我们的代码,我们在Simulink中的控制器代码,链接到ROS,也就是Gazebo。金宝app右边是我们的一个测试。这是用来评估我们使用激光的回避。正如你所看到的,它可能并没有让它成为一个生产——灾难性的失败,非常饥饿的机器人。但从本质上说,这个工具的真正优点在于,我们可以在非常紧凑的迭代周期内以某种敏捷的方式更改代码,因为我们所做的一切都是基于规范的。但要测试某些想法,这是一个非常有用的方法,节省了我们很多时间。
就这对公司的意义而言,就像其他公司一样,我们有严格的最后期限。这是我们的第一个原型。这是第一次现场直播。我想,如果我们数得清楚的话,我大概有一周的时间来准备整个控制器代码。
所以我认为你们在左边看到的是我们最重要客户的首席执行官之一。所以她来我们的机构看我们。我想我能及时开发出这个系统是因为我使用的工具链。所以它确实有效。它是有效的。如果你想在截止日期前完成这些事情,这是很重要的。
我要在这里结束了。我保证会留些时间给大家提问。回到第一点,我们有一个非常复杂的系统要控制。我们正在努力确保一个机器人在三个不同的定位系统中有八个不同的距离传感器,它的行为是一致的,并且具有高可用性。为了做到这一点,我们必须管理一个相对复杂的监督控制器。为了测试和调试,基于模型的设计方法是非常有用的。
我们真的很好地利用我们可用的工具箱,以确保我们遵循我们的规范。这些规范的主要问题之一是文件。所以你必须记录你的规范和你的测试。而且采取这种结构化方法的种类真的很有帮助。
最后,我展示了我们如何能够模拟一些极端情况来确保我们的机器人能够在现实世界中自我表现因为最终,当我们部署时,我应该早些提到的。我们把储物柜模型卖给了挪威邮报作为示范。所以现在它在现实世界中,我们必须确保它确实有效。
到此为止,我想说非常感谢。希望我能把立方体扔到别人身上。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。