PX4+ROS+T265+LD06雷达的自主规划导航无人机代码教程

先看展示视频https://www.bilibili.com/video/BV18P411U7m2/?spm_id_from=333.337.search-card.all.click

https://www.bilibili.com/video/BV1vT411B7oj/?spm_id_from=333.999.0.0

代码压缩包链接:http://链接: https://pan.baidu.com/s/196AJXeHnAINteb_6P8LAlQ?pwd=r7wn 提取码: r7wn 复制这段内容后打开百度网盘手机App,操作更方便哦

 gitee链接

https://gitee.com/Canada-a/my_drone.git

使用说明:

## 直接下载压缩包drone_ws到主目录编译就行或者git clone

git clone步骤:

在主目录下打开终端,输入:
git clone https://gitee.com/Canada-a/my_drone.git

然后进入my_drone里面

把drone_ws这个工作空间复制或者移动到主目录下进行编译就行。

cd drone_ws
catkin_make

## 该代码是在T265 PX4 ROS MOVEBASE LD06雷达下的自主导航规划无人机

## 使用方法:

* 先要配置T265定位,这个可以在网上搜,可以参考`https://www.bilibili.com/video/BV16o4y177fV/?spm_id_from=333.788`

`https://blog.csdn.net/qq_38768959/article/details/127775815?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169898636816800225538514%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=169898636816800225538514&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-127775815-null-null.142^v96^pc_search_result_base6&utm_term=px4%20t265&spm=1018.2226.3001.4187` 这两个

* 定位可以了后,记得开启你对应的雷达驱动,就可以运行这个功能包里的程序了

## my_nav功能包使用

#先把drone_ws/src/my_nav/config目录下的costmap_common_params.yaml文件打开,修改

observation_sources的参数

scan: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}把

sensor_frame:以及topic:的内容修改成你对应的雷达的坐标系和话题即可。

# launch文件 ##记住cartographer算法要自己配,如果不想建图且能导航的话直接用下面的noslam_nav.launch ,要想建图导航的话要自己配好slam算法包

* carto_slam.launch 这个是启动cartographer算法的,但是是后台运行,没有rviz。

* map.launch 这个是用cartographer建图的,可以直接用

* move_base.launch 这个配置的movebase的文件,不用管

* nav_demo_indoor3.launch 这个是一边建图一边导航的

* noslam_nav.launch 这个挺有意思的,就是不需要建图又可以局部导航的文件,具体效果可看` https://www.bilibili.com/video/BV18P411U7m2/?spm_id_from=333.337.search-card.all.click`

* sim.launch 这个是配合px4仿真使用的

# src文件

* ros_nav.cpp 这个很重要,这个是把movebase的规划速度给到px4底层控制的代码,实机和xtdrone仿真的区别就在这了,具体可看代码注释

* send_goal.cpp 这个是可以多航点自己导航的代码,就是不用rviz打点,我这里只给了一个点,具体的可以自己分析代码自己加自己想要的点上去就行了,就不在这过多赘述了

## 操作命令步骤

* 在启动完mavros和t265后,运行如下

* * 以不建图导航为例子

* cd ~/drone_ws

* source devel/setup.bash

* roslaunch my_nav noslam_nav.launch

* 再开一个终端启动movebase和px4转换节点

* rosrun my_nav ros_nav

* * 然后飞机会自己起飞到0.6m左右的高度悬停,这时候rviz里打点导航就可以了

## 扩展

其实不一定非得要t265,用单线雷达定位以及气压定高也可以的,只是需要把雷达的slam建图位置给搞出来给飞控做ekf融合也行。用vins也可以的,只是要把vins里程计给飞控做下融合就行,方法就是把里程计发布到`mavros/vision_pose/pose`这个话题就行。

版权声明:本文为博主作者:老板没有虾啊原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/m0_70235216/article/details/134209242

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2024年4月16日
下一篇 2024年4月22日

相关推荐