登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
飞控开发区
›
APM飞控
›
APM学习笔记——Ardupilot源代码添加新的飞行模式 ...
返回列表
发新帖
查看:
866
|
回复:
4
APM学习笔记——Ardupilot源代码添加新的飞行模式
[复制链接]
斯伯丁
斯伯丁
当前离线
积分
1093
窥视卡
雷达卡
352
主题
388
帖子
1093
积分
金牌飞友
金牌飞友, 积分 1093, 距离下一级还需 1907 积分
金牌飞友, 积分 1093, 距离下一级还需 1907 积分
积分
1093
飞币
703
注册时间
2017-7-23
发消息
发表于 2022-11-10 05:14:38
|
显示全部楼层
|
阅读模式
首先贴一张官网的Copter架构的高级视图:
1、要改的文件都在ArduCopter文件夹里,如下:
defines.h Copter.hflight_mode.cpp新建一个飞行模式的cpp文件,这里我取名control_newflightmode.cpp下面每个部分详细说明一下。
2、defines.h 需要修改的内容
在control_mode_t枚举的底部,添加我们定义的新的飞行模式名字:
3、新建control_newflightmode.cpp文件,内容如下:
#include "Copter.h"uint64_t last_time=0;//初始化函数bool Copter::new_flightmode_init(bool ignore_checks){ return true;}//run函数,可以在地面站mp上查看消息,方便我们看模式是否切过去,1秒一次void Copter::new_flightmode_run(){ // 计算更新时间/采样间隔 uint64_t now_time = AP_HAL::millis(); if((now_time-last_time)>1000) { gcs_send_text(MAV_SEVERITY_INFO,"hello_newflight_mode"); last_time = AP_HAL::millis(); }}
4、在Copter.h里进行函数申明,主要添加:
bool new_flightmode_init(bool ignore_checks); void new_flightmode_run();
5、flight_mode.cpp的修改
添加new_flightmode_init(bool ignore_checks)和new_flightmode_run()
在set_mode()里添加new_flightmode_init()
在update_flight_mode()里添加new_flightmode_run()
6、到这里代码就已经写完了,这是一个新的飞行模式,里面是空的,只有一个像地面站发是否切换成功的消息,我们打开mp,在全部参数列表里将飞行模式设为21,这里是和我们代码里对应上的,这样我们切到这个这个飞行模式,在地面站的消息里,就可以看到run函数发过来的消息了,根据这个消息我们就知道是否切换成功了。注意的是切换因为我们没有编译地面站,地面站的仪表盘是显示不了的,这里我们看消息是否打印出来判断就行了。
源代码
,
Ardupilot
,
APM
,
学习
相关帖子
•
ArduPilot & SZUAVIA
•
ArduPilot Scripting
•
ArduPilot and GitHub
•
ArduPilot Tradheli Setup Video 2
•
ArduPilot TradHeli Setup Video 1
•
ARDUPILOT 如何让普通人在低空经济中逆袭?飞控里的大乾坤!
•
ArduPilot Mark4 5寸默认PID+滤波调参
•
Ardupilot飞轴传电直,棒性很足,便宜好用7-NANO
•
ArduPilot Developer Conference 2024 - Day 1 会议直播回放
•
ArduPilot Developer Conference 2024 - Day 3 会议直播回放
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
古风剑客
古风剑客
当前离线
积分
1602
窥视卡
雷达卡
34
主题
812
帖子
1602
积分
金牌飞友
金牌飞友, 积分 1602, 距离下一级还需 1398 积分
金牌飞友, 积分 1602, 距离下一级还需 1398 积分
积分
1602
飞币
784
注册时间
2017-8-31
发消息
发表于 2022-11-10 05:27:10
|
显示全部楼层
转发了
回复
支持
反对
使用道具
举报
照妖镜
1194882513
1194882513
当前离线
积分
1638
窥视卡
雷达卡
48
主题
821
帖子
1638
积分
金牌飞友
金牌飞友, 积分 1638, 距离下一级还需 1362 积分
金牌飞友, 积分 1638, 距离下一级还需 1362 积分
积分
1638
飞币
810
注册时间
2017-8-23
发消息
发表于 2022-11-10 05:33:10
|
显示全部楼层
博主搞飞控的吗
回复
支持
反对
使用道具
举报
照妖镜
jctc2011
jctc2011
当前离线
积分
1664
窥视卡
雷达卡
46
主题
840
帖子
1664
积分
金牌飞友
金牌飞友, 积分 1664, 距离下一级还需 1336 积分
金牌飞友, 积分 1664, 距离下一级还需 1336 积分
积分
1664
飞币
817
注册时间
2017-8-30
发消息
发表于 2022-11-10 05:47:18
|
显示全部楼层
不错
回复
支持
反对
使用道具
举报
照妖镜
896953053
896953053
当前离线
积分
1729
窥视卡
雷达卡
54
主题
864
帖子
1729
积分
金牌飞友
金牌飞友, 积分 1729, 距离下一级还需 1271 积分
金牌飞友, 积分 1729, 距离下一级还需 1271 积分
积分
1729
飞币
863
注册时间
2017-8-11
发消息
发表于 2022-11-10 05:54:56
|
显示全部楼层
转发了
回复
支持
反对
使用道具
举报
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表