PX4源码以及思路随笔1选读.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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)计算最大循环时间

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档