理论:如何调整四轴4个电机的转速,使飞行器朝不同方向运动
来源:互联网 发布:麻辣it网 编辑:程序博客网 时间:2024/05/02 19:55
今天我们来讨论一下如何调整四轴的4个电机的转速,来使四轴朝4个方向运动起来的。
多旋翼可能有很多轴,或者对称或者不对称。我们以四轴,X 形状为例。
为方便说明,我们把电机进行编号, 右下为9号,右上为10号,左下为11,左上为3号电机。
1.飞行器保持悬停, 4个电机的转速保持一致,来使飞行器保持水平。
四个电机的转速=悬停油门
2.当我们希望飞行器向右飞的时候,我们设定在第一种情况的基础上,增加左边两个电机(3,11)的转速,减小右边两个电机(9,10)的转速。
9号电机=悬停油门 - 右倾的量
10号电机= 悬停油门 - 右倾的量
11号电机 = 悬停油门 + 右倾的量
3号电机= 悬停油门 + 右倾的量
3.当我们希望飞行器向左飞的时候,上面的公式依然成立,只不过右倾的量是负数了。
4.当我们希望飞行器向前飞的时候,那么我们要增加后面一组电机(11,9)的转速,减小前面一组电机(3,10)的转速
9号电机=悬停油门 + 前飞的量
10号电机= 悬停油门 - 前飞的量
11号电机 = 悬停油门+ 前飞的量
3号电机= 悬停油门 - 前飞的量
5.飞行器向后飞的情况,上面公式依然成立,前飞的量为负数。
6.当我们希望飞行器顺时针旋转, 我们增加10号,11号 对角线两个电机的转速,减小3号,9号这条对角线电机的转速。
9号电机=悬停油门 - 旋转的量
10号电机= 悬停油门 + 旋转的量
11号电机 = 悬停油门 + 旋转的量
3号电机= 悬停油门 - 旋转的量
7.当我们希望飞行器逆时针旋转, 我们减小10号,11号对角线两个电机的转速,增加3号,9号这条对角线电机的转速。继续使用上面的公式。
8. 最后,针对一个电机,它同时要负责前后左右和旋转的情况, 那它就叠加了4种情况下的值:
9号电机 = 悬停油门- 右倾的量 + 前飞的量 - 旋转的量
10号电机 = 悬停油门- 右倾的量 - 前飞的量 + 旋转的量
11号电机 = 悬停油门 +右倾的量 + 前飞的量 + 旋转的量
3号电机 = 悬停油门 +右倾的量 - 前飞的量 - 旋转的量
所以实现代码如下:
#define PIDMIX(X,Y,Z) rcCommand[THROTTLE] + axisPID[ROLL]*X +axisPID[PITCH]*Y + YAW_DIRECTION * axisPID[YAW]*Z
#ifdef QUADX
motor[0] = PIDMIX(-1,+1,-1);//REAR_R
motor[1] = PIDMIX(-1,-1,+1);//FRONT_R
motor[2] = PIDMIX(+1,+1,+1);//REAR_L
motor[3] = PIDMIX(+1,-1,-1);//FRONT_L
#endif
一切对称,不对称的多旋翼布局都基于此理论,如果有爱的童鞋,可以补充解释 Y3,Y6 ,V尾的公式。甚至可以创造自己发明的布局,有创意的话就晒出来吧。
多旋翼可能有很多轴,或者对称或者不对称。我们以四轴,X 形状为例。
为方便说明,我们把电机进行编号, 右下为9号,右上为10号,左下为11,左上为3号电机。
1.飞行器保持悬停, 4个电机的转速保持一致,来使飞行器保持水平。
四个电机的转速=悬停油门
2.当我们希望飞行器向右飞的时候,我们设定在第一种情况的基础上,增加左边两个电机(3,11)的转速,减小右边两个电机(9,10)的转速。
9号电机=悬停油门 -
10号电机= 悬停油门 -
11号电机 = 悬停油门 + 右倾的量
3号电机= 悬停油门 + 右倾的量
3.当我们希望飞行器向左飞的时候,上面的公式依然成立,只不过右倾的量是负数了。
4.当我们希望飞行器向前飞的时候,那么我们要增加后面一组电机(11,9)的转速,减小前面一组电机(3,10)的转速
9号电机=悬停油门
10号电机= 悬停油门 -
11号电机 = 悬停油门+
3号电机= 悬停油门 - 前飞的量
5.飞行器向后飞的情况,上面公式依然成立,前飞的量为负数。
6.当我们希望飞行器顺时针旋转, 我们增加10号,11号 对角线两个电机的转速,减小3号,9号这条对角线电机的转速。
9号电机=悬停油门
10号电机= 悬停油门 +
11号电机 = 悬停油门 + 旋转的量
3号电机= 悬停油门 - 旋转的量
7.当我们希望飞行器逆时针旋转, 我们减小10号,11号对角线两个电机的转速,增加3号,9号这条对角线电机的转速。继续使用上面的公式。
8. 最后,针对一个电机,它同时要负责前后左右和旋转的情况, 那它就叠加了4种情况下的值:
9号电机
10号电机 = 悬停油门-
11号电机 = 悬停油门 +右倾的量
3号电机
所以实现代码如下:
#define PIDMIX(X,Y,Z) rcCommand[THROTTLE] + axisPID[ROLL]*X +axisPID[PITCH]*Y + YAW_DIRECTION * axisPID[YAW]*Z
#ifdef QUADX
#endif
一切对称,不对称的多旋翼布局都基于此理论,如果有爱的童鞋,可以补充解释 Y3,Y6 ,V尾的公式。甚至可以创造自己发明的布局,有创意的话就晒出来吧。
0 0
- 理论:如何调整四轴4个电机的转速,使飞行器朝不同方向运动
- 四相八拍步进电机的转速如何计算?
- 如何控制四轴飞行器四个方向飞行
- 多旋翼飞行器电机转动方向大全
- 多旋翼飞行器电机旋转方向图示
- STM32F103控制两个步进电机按照一定转速比运动
- 四轴飞行器的进阶
- 电机转速信号的单片机测量程序
- 电机转速信号的单片机测量程序
- 基于霍尔元件的电机转速测量
- 四轴飞行器实践教程1.1.2飞行器的发展
- 飞行器的分类四轴飞行器实践教程大学霸
- MIT麻省理工的四轴飞行器
- 四轴飞行器的原理和组成
- 浅谈四轴飞行器的力原理
- 我的四轴飞行器经验总结(一)
- 选购四轴飞行器的部件
- 四轴飞行器的空气动力原理
- leetcode 40: Combination Sum II
- 自我积累
- 关于ios中1x、2x、3x图片适配,只用一张搞定
- 保存 web.xml 卡
- 67 三角形面积
- 理论:如何调整四轴4个电机的转速,使飞行器朝不同方向运动
- iOS开发18:UITableView中行的操作
- win2008安装oracle11g
- 【C#/GDI】简单图像处理方法
- eclipse中安装tomcat插件
- CocoaPods安装和使用教程:出处:http://code4app.com/article/cocoapods-install-usage
- iOS项目代码行数统计
- java代码中将金额阿拉伯数字转化为中文大写
- PAT 1085. Perfect Sequence (25)