超维空间S2无人机使用说明书——43、将雷达定位信息通过mavros传给飞控

引言:在实现三维雷达定位后,还需要将定位数据传给飞控,这样无人机才能实现切入定点模式。无人机在有了位置以后,才能实现精确的闭环控制

简介

采用fast-lio定位算法,通过修改源码直接发布定位出来的位置信息和速度信息。在此基础上再经过坐标转换,将ROS下的ENU坐标系里程计信息传给飞控需要的NED里程计信息。

注意:仿真和实物对于本节的操作是一样的,不再单独写一篇说明

硬件:宇树雷达4DLiDAR L1 PM,ROS主控Jetson orin nano 8G

环境:ubuntu20.04,ros-noetic

步骤一:启动mavros通信节点,实现ROS和飞控的双向通信

javascript 复制代码
roslaunch robot_bringup px4.launch

等待出现如下界面表示通信成功,否则请先确保通信正常

步骤二:启动三维雷达

javascript 复制代码
roslaunch unitree_lidar_ros run_without_rviz.launch 

注意:如果报错,请检查是否已经对雷达USB口进行绑定

步骤三: 启动fast-lio定位算法

javascript 复制代码
roslaunch fast_lio mapping_unitree.launch

等待出现如下界面,表明启动成功

同时会自动开启RVIZ,如下

步骤三:查看定位出来的里程计信息

(1)、查看里程计话题名称
javascript 复制代码
rostopic list 

话题/Odometry就是雷达定位出来的里程计话题

(2)、打印里程计数据
javascript 复制代码
rostopic echo /Odometry

步骤四:此时查看话题mavros/vision_pose/pose

javascript 复制代码
rostopic hz /mavros/vision_pose/pose

可以看到,此时这个话题是没有发布和订阅数据的,底层飞控没有拿到雷达定位出来的数据

步骤五:启动雷达位置转换节点

javascript 复制代码
rosrun lidar_to_mavros lidar_to_mavros

注:这个节点作为中间转换节点,一般不需要打印日志信息,只要启动后没有红色报错就可以认为是正常的,如下如所示

步骤六:重复步骤四,查看对应的话题信息

查看姿态信息发布的频率,从下图可以看出,话题已经按照10Hz的频率在发布了

javascript 复制代码
rostopic hz /mavros/vision_pose/pose

查看姿态信息发布的数据信息,从下图可以看出,包含了位置和姿态信息

javascript 复制代码
rostopic echo /mavros/vision_pose/pose

总结:将雷达定位出来的里程计信息传给底层飞控是实现无人机稳定飞行的基础,可以参考其他相关教程,通过地面站再次检查确认无人机是否接收到了可靠的定位信息。否则容易造成炸机

建议,在无人机的相关基础熟悉了以后再进行中级教程的学习

相关推荐
阳光九叶草LXGZXJ28 分钟前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
春日见36 分钟前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
m0_748233171 小时前
30秒掌握C++核心精髓
开发语言·c++
无垠的广袤1 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
阿波罗尼亚1 小时前
Kubectl 命令记录
linux·运维·服务器
极智视界1 小时前
无人机场景 - 目标检测数据集 - 停车场停车位检测数据集下载
yolo·目标检测·数据集·无人机·voc·coco·算法训练
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.2 小时前
Keepalived单播模式配置与实战指南
linux·服务器·负载均衡
风清扬_jd2 小时前
libtorrent-rasterbar-2.0.11编译说明
c++·windows·p2p
u0109272712 小时前
C++中的RAII技术深入
开发语言·c++·算法
IDC02_FEIYA2 小时前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器