上一篇ROS及PX4环境搭建
1. 前言
这学期有一门机器人导论课程,最近在课程实验中使用了turtlebot,对ROS下机器人应用的开发有了深入的理解,经验在px4开发上也同样适用。
根据turtlebot实验的经验,我开始有能力阅读px4例程源码。根据官方教程的指导,我学会了如何用gazebo仿真环境下运行C++程序。
- turtlebot和px4的区别
- 编译方式
- 前者是工作空间下catkin_make
- 后者是工作空间的Firmware下“make……”
- 程序包结构
- 后者是
- 后者是
- 运行C++程序的方式
- 前者是新开一个终端,输入
rosrun experiment1 talker
- 后者是在刚刚那唯一的终端中按下回车,然后输入C++文件名
- 前者是新开一个终端,输入
- 编译方式
2. Hello sky
2.1 代码构成
2.2 运行
- Step 1
zth@SugoAsurada:~/catkin_ws/Firmware$ sudo make px4_sitl_default gazebo
- Step 2:在上面的那个终端中按下回车,然后输入cpp文件名,回车。
2.3 理解代码
PX4源码初学习(px4_simple_app.c)
关于px4中uorb以及px4_simple_app的终极理解
3. px4在环仿真实验
3.1 参考文献
参考博客:px4在环仿真实践操作
3.2 实验内容
主要验证博客中在gazebo下的在环仿真的部分。
3.3 实验问题解决
过程中碰到的一些问题:
- 博客中的cmake命令和…之间有个空格。
- make命令紧接着cmake命令执行,在同一目录下。
- 如果报错就在这两句命令前加sudo来解决。
make posix_sitl_default gazebo
该句我没有执行成功,我执行的是zth@SugoAsurada:~/catkin_ws/Firmware$ sudo make px4_sitl_default gazebo
3.4 实验步骤
- 首先在QGC中规划路线,点击添加航点,然后在右边的任务一栏中点击添加一些参数。
- 点击上传。
- 回到这个页面,开始任务。
飞机起飞,按照设定的路径飞行。
- 换带有摄像头的无人机,进行上述实验。
- QGC控制两架无人机起飞。
- 存在的问题:环境中共有3架无人机,无人机1无法控制。