关键词:DroneCAN GNSS,全球导航卫星系统,北斗卫星导航系统,全球定位系统,格洛纳斯卫星导航系统,伽利略卫星导航系统,DroneCAN_GUI_Tool,u-center,u-blox NEO-M9N
Keyword:DroneCAN GNSS,GPS,Beidou/BDS,GLONASS,Galileo,DroneCAN_GUI_Tool,u-center,u-blox NEO-M9N
摘要:测试和使用Pogo-DroneCANGNSS定位模块,使用DroneCAN调试器、DroneCAN_GUI_Tool上位机和u-center上位机进行测试,并在Ardupilot上实际应用。
哈喽大家好,我是Mokel,我将在这期视频和大家介绍并测试Pogo智能科技的一款DroneCAN GNSS模块(Global Navigation Satellite System,全球导航卫星系统),它采用STM32L4高性能MCU,u-blox NEO-M9N多频接收机,支持多频定位系统,包括美国的GPS、中国的北斗/Beidou/BDS、欧盟的伽利略Galileo、俄罗斯的格洛纳GLONASS等,在我的实测环境中,这款Pogo-DroneCAN GNSS模块在空旷地带最多可以接收到29颗卫星,常规可以接收到超过24颗卫星,具备良好的定位精度和可靠性。此外,该模块还内置集成了QMC5883L磁力计。
该模块采用的是4Pin标准CAN接口,也称GH1.25-4P、JST-GH-4pins 和 UCANPHY-Micro,是一种常见且应用广泛的CAN物理接口,具备良好的抗干扰能力。
你可以在某宝搜索dronecan gps获取商品或者直接通过链接跳转到商品详情页了解更多信息:item.taobao.com/item.htm?ab…
使用DroneCAN调试器和DroneCAN_GUI_Tool上位机查看DroneCANGNSS模块
如果你还没安装和使用过DroneCAN_GUI_Tool上位机和DroneCAN调试器,你可以查看 这个Pogo-DroneCAN调试器合集 阅读相关的教程/文章,然后我们将DroneCAN调试器、DroneCANGNSS模块按照下图接线,并通过typeC连接到电脑。
在电脑上打开DroneCAN_GUI_Tool上位机,选择STM...Virtual COM Port 或 USB串行设备(COMx),点击OK进入上位机,然后依次在左上角设置local NodeID,在右下角点击小火箭icon(该操作的作用是给连接到DroneCAN调试器的DroneCAN外设,比如这里的DroneCANGNSS模块,自动分配DroneCAN NodeID),可以看到识别到了Pogo-DroneCANGNSS节点(pogo.cangps)。
双击该Pogo-DroneCANGNSS节点(pogo.cangps),DroneCAN_GUI_Tool为会该节点打开一个Node属性界面,你可以该界面点击FetchAll查看和修改DroneCANGNSS模块的所有参数,也可以点击Update Firmware更新该GNSS模块的固件。Pogo智能科技的这款DroneCANGNSS模块目前不需要修改任何参数。
关闭Node属性界面,在Tools -> Bus Monitor 打开 CAN bus monitor(COMx)界面,点击该界面左上角的摄像头icon,可以看到上位机收到了Pogo-DroneCANGNSS模块发送的数据,其中有节点状态数据uavcan.protocol.NodeStatus,磁力计数据uavcan.equipment.ahrs.MagneticFieldStrength,gnss状态数据ardupilot.gnss.Status,卫星定位数据uavcan.equipment.gnss.Fix2等。我们主要查看卫星定位数据uavcan.equipment.gnss.Fix2,可以看到卫星定位数据显示我们当前定位状态为3D_FIX,卫星数量为29颗,其他数据大家可自行研究。
通过DroneCAN_GUI_Tool的Serial forwarding让u-center与Pogo-DroneCANGNSS建立连接
关闭CAN bus monitor界面,回到DroneCAN_GUI_Tool主界面,点击Panels -> Serial Forwarding,此时DroneCAN_GUI_Tool在本地 2001端口为 125:pogo.cangps 节点创建了一个TCP Server,当有客户端与该TCP Server建立连接时,DroneCAN_GUI_Tool会将接收到的Pogo-DroneCANGNSS模块(125:pogo.cangps)的数据全部转发给客户端。如果你本机的2001端口已经被占用,那么你可以自行调整为其他端口,比如8888,8777等。
然后我们打开u-center(注意不是u-center2)上位机,还没有安装过的可以在 u-blox官网(www.u-blox.com/en/product/…
在u-center主界面的左上角点击 Receiver -> Connection -> Network Connection -> New...,在弹出的输入框里输入TCP Server的地址(Address):tcp://127.0.0.1:2001,点击OK建立连接。当你已经创建过Connection之后,你就可以在直接点击 Receiver -> Connection -> Network Connection -> 1 tcp://127.0.0.1:2001 与 TCP Server 建立连接。
然后点击 View -> Messages View,在弹出的 Messages 框里点击 UBX -> NAV -> PVT,我们可以查看当前卫星定位情况,其中 Position Fix Type 和 Svs Used 与我们在DroneCAN_GUI_Tool -> CAN bus monitor 界面关注的两个数据是一致的。
此外,我们还可以先通过右上侧的快捷按钮打开卫星列表,然后双击左侧的SAT(Satellite Information,卫星信息)或者右键点击 SAT 后选择 Poll Message 或 Enable Message,就可以将卫星列表展示在页面里。
在Ardupilot飞控固件上实测Pogo-DroneCANGNSS定位模块
将Pogo-DroneCAN GNSS模块连接到飞控的CAN1口,需要注意的是,请确保你的飞控已经开启了CAN总线支持和已经设置通讯协议为DroneCAN,如果你不确定你的飞控是否完成了设置,你可以查看 这篇文章(开启Ardupilot/Pixhawk的CAN总线支持和设置通讯协议为DroneCAN/UAVCAN)来检查你的飞控,然后用typeC线将飞控连接到电脑,打开Mission Planner,选择对应的COM端口和波特率,点击连接,等待MP与飞控完成连接。
目前(截至该文章发布之日即2024年11月),Ardupilot飞控固件的GPS参数还不是默认开启对DroneCAN GNSS的支持,所以我们切换到 配置/调试 -> 全部参数表 -> GPS参数组 -> GPS TYPE参数,将其从默认值1(AUTO)修改为 9(DroneCAN),然后点击右侧的写入参数,再对飞控断电-上电重启后重新连接到Mission Planner。
重新连接好后,切换到 初始设置 -> 可选硬件 -> DroneCAN/UAVCAN,点击MAVlink-CAN1,界面会显示当前系统中的DroneCAN节点,在这里一共有3个,分别是 127节点MP地面站,10节点飞控本体,125节点Pogo-DroneCAN GNSS模块(pogo.cangps),然后点击最右侧的 Inspector 弹出 UAVCAN Inspector,这里显示了每个节点向CAN总线上发出的DroneCAN数据分别是哪些,在这里可以看到 125节点pogo.cangps 对外发出了多种不同的DroneCAN数据。
切换到飞行数据界面,如果你的页面此处并未显示 卫星数 指标,那么你可以双击此处,在弹出的 Display This 对话框里勾选 satcount 指标,对话框会自动关闭并且此处变更为显示你选择的 卫星数 指标,如果对话框没有自动关闭,你可以点击对话框右上角的 x 关闭该对话框。
将你的飞控和Pogo-DroneCAN GNSS/GPS 模块移动外户外空旷地带,等待搜星完成,在我的实测环境中最多可以接收到29颗卫星,常规可以接收到超过23颗卫星,具备良好的定位精度和可靠性。
如果你在进行以上操作的过程中遇到了无法解决的问题,你可以提供图文信息向Pogo智能科技店铺客服咨询,Pogo智能科技店铺客服会向你提供相应的技术服务。