ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

四旋翼无人机飞控系统设计(控制信号获取及转化)

2021-03-08 23:04:17  阅读:254  来源: 互联网

标签:get rc proportion dead limit 控系统 无人机 旋翼


无人机遥控器控制信号获取

  控制无人机首先要考虑的是给无人机下指令,其次是让其从当前状态达到我们的指令状态。遥控器和飞控的沟通是首先要构建的一环。需要把遥控器的脉冲宽度转化成无人机的状态角度。在这里插入图片描述

  我使用航模通用协议有PWM、PPM与SBUS,我使用基于串口的SBUS协议,根据帧排序解析25个8bit字节即可,SBUS协议在串口解析前要对信号电平进行反向。

  sbus解析c语言实现推荐博文

  接收过来的接收机信号是遥控器各个通道值,比如大多数航模遥控器遵循通道一到通道四对应着无人机的 roll、pitch、throttle、yaw,即是横滚、俯仰、油门和偏航四个无人机的基本操作数值。后面的通道可以应用于飞控功能的切换或者为无人机的相机云台等外设服务。解析出的具体数值是遥控器的发射信号的设置决定的,可以通过更改遥控信号的参数将其设置到一个需要的区间,然后在解析后进行处理。
在这里插入图片描述

  我的处理方式是每个通道都处理到1000 到 2000 之间,遵循大多数无人机飞控对脉宽处理的协议方便信号的应用。经过处理信号归入 1000-2000 的区间,中值为 1500,后面需对通道值进行归一化处理,即将通道的控制值转化为控制量的占比看,比如 1000 为 0,1500 为 50%,2000 为 100%,此值也为受控量的占比,然后用这个值去确定受控受控量,这样处理就能实现两种不同元素数据的归一化。经过转化处理后可得出占比值,对于使用者来说,对四旋翼的操作体现在给它设定一个姿态值。接下来我们需给定无人机 roll、pitch、yaw 这几种自由度的目标值,具体做法是设定一个允许的最大值 ,然后令其乘以之前得到的占比值。至此由接收机SBUS信号转化得到目标角度。

控制信号转化的C语言实现

在每个通道区间1000 到 2000 之间的情况下(1000为0油门,2000位满油门)
parameter :最低和最高值的中值为初始值,rc_get为与初始值的偏差,此处为1500。将偏差转换为期望角度是我们需要做的事,max_abs为区间的一半此处为500,dead_limit为死区,低于此死区不处理,可能是手抖碰到了一点摇杆。

return: proportion 为一个比例值,占允许的最大的角度值的比例。

float rc_convert (float rc_get, float max_abs, float dead_limit)
{
    float proportion;
	
    if (rc_get > dead_limit)
	{
		proportion = (rc_get - dead_limit)/ (max_abs - dead_limit);
	}	
    else if (rc_get < -dead_limit)
	{
		proportion = (rc_get + dead_limit)/ (max_abs + dead_limit);
	}
	else proportion = 0;
	
	return proportion;
}

//eg: PID[roll_angle].Target = ANGLE_MAX * rc_convert (  CH_get[roll_ctrl]-RC_MID,  MAX_ABS, DEAD_LIMIT);

标签:get,rc,proportion,dead,limit,控系统,无人机,旋翼
来源: https://blog.csdn.net/c1724136570/article/details/114551080

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有