位置: IT常识 - 正文

四轮电磁------电磁循迹位置式PID(四轮电车电机价格)

编辑:rootadmin
四轮电磁------电磁循迹位置式PID 四轮电磁------电磁循迹位置式PID

推荐整理分享四轮电磁------电磁循迹位置式PID(四轮电车电机价格),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:电磁四轮技术报告,电动四轮车电机在哪里?,四轮电机,四轮电机,四轮电机,电磁四轮组,电磁四轮技术报告,电磁四轮智能车,内容如对您有帮助,希望把文章链接给更多的朋友!

四轮电磁------电磁循迹位置式PID(四轮电车电机价格)

看了很多篇博客,针对我们智能车校内赛的电磁循迹,我对循迹方案如下:

电磁前瞻+舵机+例程

我们使用的是龙邱科技的电磁前瞻:

舵机 舵机是由占空比控制旋转方向,但一定要注意❗️:例程上给定的占空比是250~1250,那么舵机中值就应该为750;但是,当舵机装上车后,舵机的中值必须要自己去测试:我测得的舵机占空比为483-603,则舵机中值应该为543。🌕所以,一定要确定属于自己的智能车的舵机中值。

以及逐飞科技的例程:

采集电磁+处理数据对电磁需要采集并处理数据;大致过程如下:定义二维数组储存电感采集的数值,最多保存四次采集的数据采集电感并保存在数组中滤波处理数据,减小误差归一化适应赛道利用差比和求出偏离中心电磁线的bias/****定义变量****/int32 GET_AD_VALUE[4][GET_AD];//采集GET_AD数据int32 GET_AD_MEAN[4];//5组平均数int32 GET_AD_MEAN_OLD[4][12];//5组过去的平均数static uint32 GET_AD_STORE[4][4];//两侧+中间两个 一共使用4个电感//差比和float OUT_rate=10.0; //对外圈电感的信任程度float IN_rate=20.0; //对内圈电感的信任程度float OTHER_rate=20.0;//对底下电感的信任float bias;//差比和输出float bias_n;//差float bias_d;//和//电感数据的处理与获取void AD_get(void){ int i=0,j=0,k=0; uint32 temp ; /*1.定义二维数组储存电感采集的数值,最多保存四次采集的数据 ADC_PIN0 | ADC_PIN1 | ADC_PIN2 | ADC_PIN3 L_AD[4][4] L_AD_Mean { 0 1 2 3 mean均值 0 |*** *** *** *** *** R2 1 |*** *** *** *** *** R1 2 |*** *** *** *** *** M0 3 |*** *** *** *** *** L1 4 |*** *** *** *** *** L2 } */ for(i = 0;i < 4;i++)//每次数据后移,以保存当此采集的数据 { GET_AD_STORE[i][3] = GET_AD_STORE[i][2]; GET_AD_STORE[i][2] = GET_AD_STORE[i][1]; GET_AD_STORE[i][1] = GET_AD_STORE[i][0]; } //2.电感采集并保存在数组中 //连续读十次取平均 for(i = 0;i < GET_AD;i++) { GET_AD_VALUE[0][i] = adc_mean_filter(ADC_0,ADC_PIN0,ADC_12BIT, GET_AD);//R2 GET_AD_VALUE[1][i] = adc_mean_filter(ADC_0,ADC_PIN1,ADC_12BIT, GET_AD);//R1 GET_AD_VALUE[2][i] = adc_mean_filter(ADC_0,ADC_PIN2,ADC_12BIT,GET_AD);//M0 GET_AD_VALUE[3][i] = adc_mean_filter(ADC_0,ADC_PIN3,ADC_12BIT, GET_AD);//L1 } //冒泡排序法排序 for(k = 0;k < 4; k++) { for(i = 0; i < GET_AD - 1; i++) { for(j = 0; j < GET_AD - 1 - i; j++) { if(GET_AD_VALUE[k][j] > GET_AD_VALUE[k][j + 1]) { temp = GET_AD_VALUE[k][j]; GET_AD_VALUE[k][j] = GET_AD_VALUE[k][j + 1]; GET_AD_VALUE[k][j + 1] = temp; } } } } //掐头去尾 取平均 for(i = 0;i < 4;i++) { for(j = 2;j < 9;j++) { GET_AD_STORE[i][1] += GET_AD_VALUE[i][j]; } GET_AD_MEAN[i] = (uint16)GET_AD_STORE[i][1]/8; } //3.对采集数据的处理 for(i = 0;i < 4;i++) { GET_AD_MEAN[i]=1000*(float)(GET_AD_MEAN[i]*1.0- AD_MIN*1.0)/(AD_MAX*1.0 - AD_MIN*1.0);//归一化适应赛道 }//GET_AD_MEAN[i]是从0开始的 应该为0 1 2 3 lcd_showstr(0,1,"rpm:");//最右边 lcd_showint32(30,1,GET_AD_MEAN[3],5); lcd_showstr(0,2,"rlm:");//右中间 lcd_showint32(30,2,GET_AD_MEAN[2],5); lcd_showstr(0,3,"llm:");//左中间 lcd_showint32(30,3,GET_AD_MEAN[1],5); lcd_showstr(0,4,"lpm:");//最左边 lcd_showint32(30,4,GET_AD_MEAN[0],5); //传统意义的差比和算法 bias_n = ((GET_AD_MEAN[0] - GET_AD_MEAN[3])*OUT_rate + (GET_AD_MEAN[1] - GET_AD_MEAN[2])*IN_rate)*1000;//差 bias_d = ((GET_AD_MEAN[0] + GET_AD_MEAN[3])*OUT_rate + absq(GET_AD_MEAN[1], GET_AD_MEAN[2])*OTHER_rate)*100;//求和 bias = bias_n * 1.0/ bias_d; lcd_showstr(0,5,"bias:"); lcd_showfloat(50,5,bias,3,2);}/******返回两个数的差的绝对值******/uint32 absq(int32 a,int32 b){ if(a >= b) return a-b; else return b-a;}舵机位置式PID/************************* * AD_cal(); *控制舵机达到指定位置483-603 * -60 ---- 60 * 将舵机中值看为0 * P输出: * P输出 =Kp * 本次误差 * D输出 =Kd (本次误差-2上次误差+上次误差) * 得到的AD_out一定要加上舵机中值占空比后在控制舵机 * **********************/void AD_cal(){ AD_pid.sum_error =bias*1.9/(OUT_rate+IN_rate); AD_out = AD_pid.K_p * AD_pid.sum_error + AD_pid.K_d * (AD_pid.sum_error-AD_pid.last_error); AD_pid.last_error = AD_pid.sum_error; printf("AD_out:%f\n",AD_out); lcd_showstr(0,6,"AD:"); lcd_showfloat(30,6,AD_out,3,2); if(AD_out > AD_limit) AD_out = AD_limit; else if(AD_out < -AD_limit) AD_out = -AD_limit; AD_out+=STEER_MIDDLE; steer_duty(AD_out);}

以上便是我最近对于电磁PID的一个学习⭐️。 在做完速度环PID和舵机PID后,我的小车已经可以简单循迹和跑起来啦😋~~ 灰常开心,嘿嘿,但是仍需不断的优化和改进方案。在后续的时间里,我会着手于元素判断,舵机PID的调参。继续努力,加油!!!

本文链接地址:https://www.jiuchutong.com/zhishi/300319.html 转载请保留说明!

上一篇:身份证号码的正则表达式及验证详解(JavaScript,Regex)(身份证号码的正确读法)

下一篇:【Pytorch】torch.nn.init.xavier_uniform_()(pytorch torch)

  • 小米10有没有指纹解锁(小米有没有指关节截屏)

    小米10有没有指纹解锁(小米有没有指关节截屏)

  • z390内存频率(z390s01内存频率)

    z390内存频率(z390s01内存频率)

  • 华为指南针在哪(华为指南针位置在哪里)

    华为指南针在哪(华为指南针位置在哪里)

  • 安卓ios在哪里打开(安卓怎么打苹果符号)

    安卓ios在哪里打开(安卓怎么打苹果符号)

  • oppo手机抢红包提示音怎么设置(OPPO手机抢红包反应灵敏度最快的是哪款?)

    oppo手机抢红包提示音怎么设置(OPPO手机抢红包反应灵敏度最快的是哪款?)

  • 苹果se2有耳机孔吗(苹果se2手机有没有耳机孔)

    苹果se2有耳机孔吗(苹果se2手机有没有耳机孔)

  • 电脑摔了一下开机黑屏(电脑摔了一下开机一直滴滴)

    电脑摔了一下开机黑屏(电脑摔了一下开机一直滴滴)

  • 手机一直说话关不掉了怎么办(手机一直说话关不了怎么办)

    手机一直说话关不掉了怎么办(手机一直说话关不了怎么办)

  • ipad隔空投送搜不到iphone(ipad隔空投送搜索不到对方)

    ipad隔空投送搜不到iphone(ipad隔空投送搜索不到对方)

  • 计算机中的指令和数据采用什么存储(计算机中的指令和数据采用的是)

    计算机中的指令和数据采用什么存储(计算机中的指令和数据采用的是)

  • 探探一天能滑多少人(探探一天滑多少人)

    探探一天能滑多少人(探探一天滑多少人)

  • 独显都可以组双通道吗(独显都可以组双显吗)

    独显都可以组双通道吗(独显都可以组双显吗)

  • 高斯投影是等什么投影(高斯投影怎么理解)

    高斯投影是等什么投影(高斯投影怎么理解)

  • 华为p9电池用一下就没电了怎么办(华为手机p9电池多少钱一块)

    华为p9电池用一下就没电了怎么办(华为手机p9电池多少钱一块)

  • 苹果11手电筒怎么开(苹果11手电筒怎么关掉快捷键)

    苹果11手电筒怎么开(苹果11手电筒怎么关掉快捷键)

  • 小米手机数据怎么转移到内存卡(小米手机数据怎么备份到电脑上)

    小米手机数据怎么转移到内存卡(小米手机数据怎么备份到电脑上)

  • 短信黑名单怎么解除(短信黑名单怎么拉黑)

    短信黑名单怎么解除(短信黑名单怎么拉黑)

  • 计算机上onc是什么键(计算机上的on/c表示什么意思)

    计算机上onc是什么键(计算机上的on/c表示什么意思)

  • 华为nova5呼吸灯怎么设置(华为nova5呼吸灯在哪里)

    华为nova5呼吸灯怎么设置(华为nova5呼吸灯在哪里)

  • 双4g有什么用(双4g有用吗)

    双4g有什么用(双4g有用吗)

  • 手机下载什么软件可以做表格(手机下载什么软件可以制作表格)

    手机下载什么软件可以做表格(手机下载什么软件可以制作表格)

  • LVI-SAM:配置环境、安装测试、适配自己采集数据集(lvs安装配置)

    LVI-SAM:配置环境、安装测试、适配自己采集数据集(lvs安装配置)

  • 2023英伟达显卡排名天梯图(已更新)(2023英伟达显卡天梯图完整版)

    2023英伟达显卡排名天梯图(已更新)(2023英伟达显卡天梯图完整版)

  • 社保由税务局统一征收的地区
  • 经营所得和企业所得
  • 娱乐行业缴纳的税收
  • 利润表的期末余额
  • 工程施工与工程结算在资产负债表里
  • 支付一年房租的会计科目
  • 工会基金是扣个人还是扣企业的
  • 代开增值税票普票专票税点一样吗
  • 年度销售返利的计算方法
  • 补缴社保的工资表
  • 计算完工产品成本和月末在产品成本
  • 利润分配亏损太多如何处理?
  • 公司支付给股东付银行利息要交税吗怎么交
  • 餐饮增值税发票税率
  • 施工企业开专票还是开普票好
  • 季报进入国税官网后怎么操作?
  • 工程预缴税款几个点
  • 股票价格变化的原因
  • 资产组可收回金额包含商誉的可收回金额吗
  • 半年报利润分配是否需要审计?
  • 消费税怎样做分录
  • 商品损耗怎么做会计分录
  • mac怎么打印文件内容
  • 贷款贴息是什么政策
  • 计提长期债券利息分录
  • 鸿蒙3.0手机适配名单荣耀
  • 报销旅游门票怎么报销
  • javascript遇到的问题
  • win10专业版下载教程
  • 承包合同包含的内容
  • php ftp功能
  • php ftell
  • 融资租入固定资产的入账价值
  • 建筑工程甲级什么意思
  • 阿德莱德 景点
  • 一借多贷的会计分录格式
  • 静态显示方式
  • 销售金额较大多少算较大
  • php curl_exec
  • pytorch开源项目
  • 小满秒懂百科
  • 全局平均池化(GAP)层
  • yolo v4 v5
  • prompt命令用法
  • 新公司有免税政策吗
  • 开具红字发票资料清单
  • 当月收入可以下月开票吗
  • 劳务成本账务处理
  • 汇算清缴是怎么弄的
  • 如何降低应收账款成本
  • 企业资金占用费利率
  • 建筑业异地预缴企业所得税怎么算
  • 发放职工薪酬的记账凭证
  • 建筑安装企业外雇施工人员劳务费用什么做支付凭证
  • 生产成本福利费如何分摊
  • 未达到起征点的税金怎么做凭证
  • 企业内部银行转账怎么记账
  • 营改增后建筑行业进项税能抵扣吗
  • 建立明细账科目怎么排顺序
  • mysql安装与配置详细教程
  • win2000系统安装教程
  • iis6配置网站
  • 进入bios设置u盘启动
  • win7通知区域图标无法设置
  • win10更新中重启会怎么样
  • 开关光驱是平移还是旋转
  • cocos2d面试题
  • nodejs readdir
  • Error: String types not allowed (at 'layout_gravity' with value 'bottom/center_horizontal').
  • node.js怎么用
  • xcopy命令怎么用
  • jquery操作样式的方法
  • android基础入门教程
  • opencvandroid开发实战
  • 全面解析朝鲜战争
  • 教育费附加最新政策2023
  • 销售车位需要交房产税吗
  • 代理记账和代理的区别
  • 转卖车位土地增值税税率
  • 工商财税小知识
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设