产品中心

当前位置:首页 - 产品中心

产品中心

Polysync

Polysync为大家提供了一种方便灵活的自动驾驶开发平台。基于该平台,我们可以使用C++语言开发针对不同场合的传感器节点、执行机构节点、算法节点、数据采集和诊断节点等等。

Polysync实战 – 输出Polysync总线数据至Excel文件

本文描述了一种数据采集节点的实现方式,该节点可将Polysync总线上传输的所有传感器数据(障碍物、车道线、交通标志、激光点云、GNSS/IMU数据、OBD数据等)以Excel文件格式(.csv)保存至本地硬盘。


图1 本项目的软件架构

本项目的软件架构如图1所示。由于Polysync基于原生C++标准库,在界面和多线程开发上效率较低,编译也不太方便,因此我们同时使用了功能强大的C++类库Qt,以及Qt Creator进行编程和编译。(经测试,基于Qt5.5.0开发的软件可在已安装Polysync2.0.7的任何电脑或ECU上直接运行,无需Qt商业许可证)


最终软件的运行界面如图2所示。


图2 本项目的软件界面

下文将按步骤讲述Qt环境的搭建方法、主界面布局与配置文件读写、Polysync节点的实现、在主界面的控制逻辑中使用Polysync节点的方法等。


Qt5.5.0下载地址(复制链接,在浏览器中打开)

https://yk3.gokuai.com/file/4fzurfzy#

项目代码已上传至OSChina(复制链接,在浏览器中打开)

https://git.oschina.net/zeertt/PolysyncTXTOut

 

1. Qt环境搭建

Qt安装时会自动将开发环境Qt Creator安装至电脑中。


图3 新建项目对话框

打开Qt Creator后选择New Project则进入图3对话框,选择Qt Widgets Application。

接下来打开项目文件(后缀为.pro),按照图4所示,在文件末尾加入Polysync相关的编译选项、头文件包含路径、以及依赖库等。


图4 配置项目文件,支持Polysync

至此,Qt开发环境已配置完成,接下来可直接包含Polysync头文件开发节点程序了。

 

2. 主界面布局与配置选项

在开发节点之前,先介绍一下如何通过自定义界面实现节点功能的配置。


在本项目中,我们希望实现将Polysync总线上的传感器数据保存至Excel文件,而用户应该可以选择保存的数据类型和设定保存的目标文件夹路径。


因此,我们可以打开界面文件(后缀为.ui),按照图5所示在界面编辑器中布局界面。在上方用户可以选择目标文件夹路径,下方的Message Filter中每个复选框表示一种数据类型。


图5 设计与布局主界面

与界面对应的,我们需要添加一个Config类保存上述的配置,并实现配置的保存和读取,保证用户下次运行时配置不会丢失。Config类的定义如下:


我们在构造函数中实现配置文件的读取,在save函数中实现配置文件的保存,并在所有set函数中自动调用save函数。配置文件的读取和保存可以使用QSettings类实现。

 

---

后续章节请点此链接下载(复制链接,在浏览器中打开)

http://yk3.gokuai.com/file/332f961c#