- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PX4源码分析,以及思路随笔。
目录:
HYPERLINK \l 环境安装 1.0 环境安装
HYPERLINK \l 三个角 1.1 roll pitch yaw
HYPERLINK \l loop 2.1 loop()
HYPERLINK \l fastloop 3.1 fastloop()
HYPERLINK \l read—AHRS 3.1 .1 read_AHRS()
HYPERLINK \l insupdate ins.update()
HYPERLINK \l ratecontrollerrun 3.1.2 rate_controller_run()
HYPERLINK \l motorssetroll _motors.set_roll()
(嵌套了rate_bf_to_motor_roll)
HYPERLINK \l motorsoutput 3.1.3 motors_output()
HYPERLINK \l update3131 update_throttle_filter()
HYPERLINK \l update3132 update_battery_resistance()
HYPERLINK \l update3133 update_lift_max_from_batt_voltage()
HYPERLINK \l outputlogic output_logic()
HYPERLINK \l output3135 output_armed_stabilizing()
1.0环境安装
首先安装 HYPERLINK /Tools/PX4-tools/px4_toolchain_installer_v14_win.exe px4_toolchain_installer_v14_win.exe,并配置好java环境(安装jdk,32位)。
安装GitHub
网站: HYPERLINK /dev/docs/building-px4-with-make.html /dev/docs/building-px4-with-make.html
若提示失败,在IE浏览器中打开网页,http变为https,不断尝试。
克隆程序(需要翻墙),可能多次失败。
从C:\px4\toolchain\msys\1.0内的eclipse批处理文件打开eclipse。
按照/dev/docs/editing-the-code-with-eclipse.html从第二张图开始。
注:第二张图位置为ardupilot的位置。
HYPERLINK \l _top 返回目录
1.1 ROLL YAW PITCH
HYPERLINK /yuzhongchun/article/details/yuzhongchun/article/details
在航空中,pitch, yaw, roll如图2所示。
pitch是围绕X轴旋转,也叫做俯仰角,如图3所示。
yaw是围绕Y轴旋转,也叫偏航角,如图4所示。
roll是围绕Z轴旋转,也叫翻滚角,如图5所示。
HYPERLINK \l _top 返回目录
2.1 loop函数:
Setup各种初始化,先忽略。
2.初始定义
第一个是函数名,第二个单位为赫兹为过多少时间调用一次,第三个单位为微秒,即为最大花费时间。
const AP_Scheduler::Task Copter::scheduler_tasks[] = {
SCHED_TASK(rc_loop, 100, 130), /* 控制角 */
SCHED_TASK(throttle_loop, 50, 75), /*油门控制*/
SCHED_TASK(update_GPS, 50, 200), /* GPS更新*/
3.从Loop()开始。
(1)等待数据
ins.wait_for_sample();?
我认为ins是 Inertial Sensor,也就是指惯性传感器。
void AP_InertialSensor::wait_for_sample(void)
uint32_t timer = micros();
(2)计算最大循环时间
您可能关注的文档
- 课题3制取氧气(第2课时)选读.pptx
- 哈工大骨干培训调研数据选读.docx
- 哈工大机械设计大作业千斤顶选读.docx
- 哈工大机械设计螺纹传动千斤顶设计3.1.1说明书完整版选读.docx
- 课题2二氧化碳制取的研究选读.pptx
- 口译课presentation《马云对话查理·罗斯》选读.pptx
- 哈工大螺旋起重器千斤顶方案2选读.docx
- 海草房的保护与开发选读.docx
- 海大微生物学考试复习选读.docx
- 海底捞的核心竞争力选读.docx
- DB44_T+2767-2025河口海湾总氮、总磷水质评价指南.docx
- 中医药科技成果转化评价技术规范.docx
- DB44_T+2750-2025农村供水工程数字化建设技术导则.docx
- DB44_T+2769-2025金属矿山生态修复技术规范.docx
- 镁合金航天航空零部件长效防护微弧氧化膜层工艺规范.docx
- 《甘青青兰中绿原酸和胡麻苷含量的测定 高效液相色谱法》发布稿.pdf
- DB44_T+753-2025声环境质量自动监测技术规范.docx
- 信息技术 智算服务 异构算力虚拟化及池化系统要求.docx
- DB44_T+2759-2025黄荆栽培技术规程.docx
- 废生物制药溶媒再生乙腈.docx
原创力文档


文档评论(0)