MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏

前面章节已经描述清楚指令和航点的上传,有些优化和功能测试的工作在接下来的章节里面完成MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第1张图片

1 GMAP图片加载

我们要实现上图所示的地面站上实时显示载具的位置和方向信息。这就需要GMPA图层的相关知识,关于图层就介绍在前面几章有提到,在本章节的目录里面有个网址也详细介绍了图层的相关知识。MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第2张图片
MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第3张图片

 核心代码如上,新建的位图bitmap里面直接加载了源代码picture里面的一副图片,根据控制器yaw角的角度对于图标做了旋转,让图标既可以显示位置也可以在地图上更具载具的机头朝向实时显示在地图上。

2 实时路径显示与地图纠偏

要利用得到的GPS数据,在GMAP上显示出载具的实时轨迹。在GMAP上规划点比较容易,但是每个点应该具有清除操作,就是数据航点可定是清楚以前的航点。 

MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第4张图片

因为国内的地图数据都是有偏差的,所有地图都要数据纠偏,在MP的代码里面的GMAP的库,都是有纠偏函数的,所有如果用的MP里面的GMAP库,自带纠偏,如果从GMAP官网下载的库,那么就需要纠偏函数。在MP里面的纠偏函数如下:

MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第5张图片

MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第6张图片

也比较简单注意纠偏数据即可,如果使用MP里面的GMAP库是自带的,如果用GMAP官方的注意下即可。一般的地面站地图选着均为谷歌中国卫星地图,因为这个地图是更新最好的地图,其他地图的更新比较慢。地图精度对比:基本上没有太大的差异。

MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第7张图片

3、指令发送的添加

mavlink协议的指令添加在前面也讲过,其实mavlink的指令添加要结合控制器端的代码来联合调试,因为官方代码更新的频率很快所以很多指令的支持在新版本的代码里面不一定响应,请结合飞控代码一起调试。在进入RC通道的模拟遥控器控制载具的时候,控制板的默认遥控器完全失效,这时候PC地面站完全剥夺了控制权这是要注意的地方。(最近测试这个和控制板代码的版本有关系,我们下载的测试版代码可以同时控制),就是比较简单的指令发送。

MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第8张图片

MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第9张图片

MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第10张图片

响应按键事件发生指令到控制板
MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第11张图片

为按键触发函数,选择的是常用的WASD游戏按键作为,载具的方向控制按键。

  1. 窗体属性设置为TUREMP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第12张图片
  2. 按键松开检测绑定
    MP地面站二次开发教程(四)地面站优化及其功能测试----Gmap图层使用及其载具动态显示和地图纠偏_第13张图片

你可能感兴趣的:(c#)