Hello大家好!眼见着国内的疫情越发的好转了,然而大家还是不要掉以轻心,也希望早一天我们能够面对面的相互交流和智能驾驶相关的技术,为我国的汽车强国之路增砖添瓦。
在此前的一系列的ViCANdo智能驾驶开发、测试平台功能介绍中,我们介绍了以下方面(点击下方标题直接查看):
01点云库(PCL)集成
02XCP集成
03OpenCV集成
04QML集成
那么今天我们继续给大家带来:ViCANdo的JavaScript 集成功能!
JavaScript
JavaScript是一种函数优先的轻量级的,解释型或即时编译型的编程语言。不同于C、C++等语言需要先编译后执行,JavaScript是在程序的运行过程中逐行进行解释并执行的。
而且不同于C、C++等语言,JavaScript实际上是面向非程序人员的脚本语言,当然JavaScript同样具有非常丰富的特性。
ViCANdo-JavaScript
ViCANdo可以通过自定义脚本进行扩展。脚本组件是用 JavaScript 编写的,脚本可以按需启动,也可以由配置为启动脚本的触发器启动。
之所以采用JavaScript,而不采用其他的自定义的语言,也正是因为ViCANdo本质上希望能够搭建一个尽可能方便易用的平台,使用者可以从广泛的资源中获知JavaScript或者前面我们所说的QML语言的使用方式。
示例:在ViCANdo中加载的JS脚本文件Hello.js。而在Hello.js调用了Hello_inc.js文件。
除了JavaScript的通用功能之外,在ViCANdo的应用环境中,我们还提供了一系列的ViCANdo项目的资源接入方式。
下面简单的介绍一些在ViCANdo中用到的对象,有对细节关注的读者,可以联系我们,我们会提供详细的JavaScript脚本使用手册和相关的demo程序。
• 全局对象
使用ViCANdo的时候我们会创建一个Project,对应的这个Project下面的资源均可以被JS脚本调用。
• 全局函数
• 项目对象
基于不同的应用场景,在每一个ViCANdo项目下面,我们会添加一系列的Source和presenter,并添加trigger和dbc文件等。
Source即为我们需要接入的数据,如CAN、lin、Flexray、camera等。
Presenter即为我们在项目中添加的一系列的展示界面。
示例:通过ViCANdo项目中的CAN总线接口发送一帧扩展帧报文。
• 定时器对象
在总线相关的应用中,经常要用到的自然少不了定时器,通过定时器我们可以实现报文的周期发送,应答的定时处理等等操作。
Class Timer()
通过定时器启动JavaScript_function。
• 文件操作
在ViCANdo的JavaScript脚本中我们还可以很方便的实现对于文件的读写操作,以此可以自定义一些信息的记录等。
示例:创建一个TXT文件并写入数据
示例:从一个TXT文件中读取数据
• 支持CAN总线操作
示例:通过Source[0]发送报文
示例:接收到CAN报文后进行操作
• 支持J1939协议
示例:通过SAE J1939协议发送多帧报文
• 支持lin总线
示例:创建Lin的主从节点网络
“ 通过ViCANdo的JavaScript脚本扩展,应用工程师可以简单快捷的创建一些自动化的脚本应用,提高工作效率。更多的JavaScript可用资源就不再这里一一介绍了。欢迎留言交流!”
彩蛋
现在ViCANdo支持对采集的数据进行任意位置的截取,可以从原始的数据中基于应用需求截取单个场景的数据。
而经纬恒润更是在数据截取功能的基础上根据客户的实际应用需求定制了专门的数据截取模块,支持自动或者手动的场景数据截取。
定制的场景截取界面
以上这些也只是ViCANdo工具的一小部分功能,而ViCANdo更是经纬恒润关于智能驾驶的开发、测试平台解决方案的前端组成,在这个方案中我们还是强大的后端数据分析处理、云端数据监控、大数据分析等一系列的模块构成。整个方案既可以满足小型的单车的应用,又可以针对大数量的车队级应用。以期为汽车界的客户提供能够应对未来的智能驾驶发展的相关解决方案。
关于整体的解决方案以及更多ViCANdo相关功能内容介绍,我们将在后续的文章中发布,敬请关注微信公众号。亦可以联系我们相关的客户经理获取最新的方案介绍,期待与您的交流。