文章目录
参考文章
Ardupilot-ArduCopter-3.2.1 源码解读
https://www.renrendoc.com/paper/164558851.html
APM(Ardupilot)——遥控器RC input
https://blog.youkuaiyun.com/yinxian5224/article/details/102744285
RC输入和输出
https://emotionfly.blog.youkuaiyun.com/article/details/127862084?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-127862084-blog-102836314.235%5Ev43%5Epc_blog_bottom_relevance_base5&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-127862084-blog-102836314.235%5Ev43%5Epc_blog_bottom_relevance_base5&utm_relevant_index=2
APM_ArduCopter源码解析学习(二)——电机库学习
https://blog.youkuaiyun.com/zhangfengmei1987/article/details/110448094
四旋翼飞行器搭建教程(px4ardupoilotapm )讲诉
https://www.renrendoc.com/paper/212794803.html
前言
本文介绍ArduPilot 的radio相关内容。
RC 输入:这是飞控板接收来自遥控器的信号。遥控器的摇杆、开关和按钮产生的输入信号被转换为 PWM 信号,用于控制飞行器的运动、姿态和其他功能。例如,升降、横滚、俯仰和偏航通常由 RC 输入控制。
RC 输出:这是飞控板向执行器发送的信号。执行器可以是伺服、电机、电调等。通过调整 PWM 信号的脉冲宽度,可以控制执行器的位置、速度和扭矩。例如,电机的转速、伺服的位置和舵面的角度都由 RC 输出控制。
一、遥控器输入初始化
1.init_ardupilot()
\ArduCopter\system.cpp
void Copter::init_ardupilot()
{
...
init_rc_in();
rc().init();
...
}
2.init_rc_in()
横滚通道:[-4500,4500] ;
俯仰通道:[-4500,4500] ;
偏航通道:[-4500,4500] ;
油门通道:[0,1000] ;
其他外部通道值:0-1000
\ArduCopter\radio.cpp
void Copter::init_rc_in()
{
channel_roll = rc().channel(rcmap.roll()-1);
channel_pitch = rc().channel(rcmap.pitch()-1);
channel_throttle = rc().channel(rcmap.throttle()-1);
channel_yaw = rc().channel(rcmap.yaw()