# TitanMonitor **Repository Path**: kinggreat24/TitanMonitor ## Basic Information - **Project Name**: TitanMonitor - **Description**: Titan数据采集客户端软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-12-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TITAN3 数据采集客户端 Titan3数据采集软件采用CS架构,服务端运行在泰坦的主机上,客户端软件运行在用户电脑上,主机开放的端口为**8000**。数据交换采用**TCP/IP**协议,数据协议如下:
通信的协议为: | length(4-bytes) | header(57-bytes) | data(header.Length) | | :---------------------------: | :-----------------------------------------: | :-------------------: | | length(header) + length(data) | {"Portocal":%4d,"Number": %8d,"Length":%8d} | json | 每一个数据包分为三个部分: - length 数据包长度,大小等于header段的长度加data段的长度,小端字节序 - header 描述数据包的信息,格式为json - Protocal: 数据包的类型 - Number: 数据包的sequence - Length: data字段的长度 - data 数据包内容,格式为json ## 安装 - 可执行程序安装 1. 点击
![1543823115568](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543823115568.png) 2. 下一步,即可安装成功 - 源码编译安装 1. 依赖 - PCL1.8 用于点云数据处理 - QGLViewer 用于显示点云 - QCustomPlot 用于显示数据的频率 - Boost、OpenCV、Qt的各种库 2. 环境VS2015 ## 功能介绍 客户端分为四个页面,分别为摄像头、激光雷达、GPS以及配置页面,主要功能包括以下几部分: 1. 建立于服务器的TCP连接 2. 打开、关闭激光雷达与摄像头等传感器 3. 录制、停止录制数据包 4. 预览图像 5. 预览激光雷达等的数据 6. 显示GPS的消息 其中, 摄像头、激光雷达、GPS是用来预览图像、激光雷达、GPS数据的页面以及相应消息的频率;配置页面用于连接服务器,开关传感器、录制数据等。 ### 连接服务端 服务端目前部署在**2号**主板上,其**IP**为`192.168.5.102`(内网IP)或者`192.168.3.102`(外网IP),端口号为`8000`。具体的操作步骤如下:![1543824522297](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543824522297.png) 1. 打开客户端,点击**配置 -> 输入主机IP -> 输入主机Port -> 连接 **,连接成功之后将弹出成功的对话框, 失败后也将弹出错误提示。 2. 连接失败的提示如下: ![1543824620327](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543824620327.png) --- ### 打开、关闭激光雷达与摄像头传感器 1. 连接服务器成功之后,点击**打开**即可以打开四路激光雷达、3路摄像头的传感器。4路激光雷达分别为:何赛、速腾前向、速腾左侧、速腾右侧;3路摄像头分别为前中、左侧、右侧CSI相机。 2. 打开传感器之后, 点击**关闭**即可关闭上述打开的传感器 --- ### 录制、停止录制数据包 #### 录制数据包 1. 连接服务器成功之后,点击录制,将弹出录制数据对话框,如下:![1543824811133](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543824811133.png) 如果当前Topics显示为空,点击中间的**刷新**按钮即可刷新当前的消息列表。

![1543825088703](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543825088703.png) 2. 选择需要录制的消息,点击

![1543824904196](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543824904196.png) 3. 删除选中的消息点击

![1543824957884](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543824957884.png) 4. 确定消息以及数据包的名字之后,点击**确定**将开始数据包的录制工作。

![1543825139420](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543825139420.png) 点击确定之后, 将弹出进度条,当进度条消息后,数据开始录制。 #### 停止录制数据包 成功开始录制数据包后,**录制**按键将变成**停止录制**,点击停止录制,将弹出进度条,待进度条消息,数据包录制完成。 --- ### 预览图像 主要是显示摄像头的数据以及对应消息的频率。 ![1543825763040](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543825763040.png) 1. 连接服务器成功之后,点击**摄像头**即可进入图像预览界面 2. 点击需要预览的摄像头的名称,即开始显示该摄像头的数据。 --- ### 预览激光雷达 主要是显示激光雷达的频率,以及相应的激光雷达的数据。 ![1543826108981](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543826108981.png) 1. 点击左侧**激光雷达**即进入激光雷达预览界面; 2. 点击需要预览的激光雷达的名称,即开始显示该激光雷达的数据。 --- #### GPS数据预览 ![1543826299719](C:\Users\kinggreat24\Desktop\环宇智行\数据采集软件说明书\assets\1543826299719.png) 1. 点击左侧**GPS**即可进入GPS预览界面,将显示GPS的轨迹; 2. 地图采用的是百度在线地图,因此客户端需要连接网络才能显示位置; ## BUG 目前数据采集软件存在以下几个问题: 1. 由于摄像头目前不怎么稳定,存在有时候摄像头打不开的情况,因此需要代码进行摄像头状态的检查; 2. 摄像头可能不能反复的进行开关,关之后需要运行`./killCamera.sh`,杀掉摄像头的守护进程方可再次打开,这一部分的工作还没有做; 3. 消息的频率可能会因为内网网速的问题导致计算的结果不对。目前计算各个消息的频率是在2号机器中进行的,因此1号机中激光雷达的频率计算可能会偏小; 4. 各个消息的频率有一处可能出现NAN的值,导致计算得到的json数据出错,进而客户端解析出错。 ## 待完善的地方 1. 目前所有的消息都通过一个TCP连接进行数据的传输,传输的效率在数据量很大的时候并不实时,因此如果要实时显示图像、激光雷达的数据,需要建立单独的TCP连接获取数据,这个我可以提供解决的方法; 2. 激光显示的时候,QGLViewer的视角存在一定的问题,需要调一下,以显示所有的点; 3. 主机的存储、内存利用率、CPU利用率已经得到,但是还没有显示,需要显示一下。 4. 百度地图中经纬度的显示与真实位置相差一定的距离,有一个坐标转换需要做一下,还有就是百度离线地图可以去做一下,这样就不用联网了显示GPS数据的时候。 ### 软件架构 ![1543839448370](C:\Users\kinggreat24\Documents\Visual Studio 2015\Projects\titan3_data_collection\assets\1543839448370.png)