位置: 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)

  • 互联网时代企业应该怎样做网络推广(互联网时代企业管理面临的挑战)

    互联网时代企业应该怎样做网络推广(互联网时代企业管理面临的挑战)

  • 微信语音通话怎么设置和来电一样(微信语音通话怎么设置铃声)

    微信语音通话怎么设置和来电一样(微信语音通话怎么设置铃声)

  • 华为二代手写笔怎么充电(华为二代手写笔发售时间)

    华为二代手写笔怎么充电(华为二代手写笔发售时间)

  • 华为安装应用要密码怎么解除(华为安装应用要改格式)

    华为安装应用要密码怎么解除(华为安装应用要改格式)

  • word两端对齐怎么设置(word两端对齐不对齐怎么办)

    word两端对齐怎么设置(word两端对齐不对齐怎么办)

  • dwg是什么文件(dwg是什么文件格式电脑怎么打开)

    dwg是什么文件(dwg是什么文件格式电脑怎么打开)

  • 快手小黄车申请退款为什么迟迟不能到帐(快手小黄车申请答题答案)

    快手小黄车申请退款为什么迟迟不能到帐(快手小黄车申请答题答案)

  • 快手怎么横屏看视频(快手怎么横屏看直播回放)

    快手怎么横屏看视频(快手怎么横屏看直播回放)

  • 8488手机是什么牌子(8048是什么手机)

    8488手机是什么牌子(8048是什么手机)

  • 30号办手机卡会不会收月租(30号办手机卡,1号是不是就要交钱了)

    30号办手机卡会不会收月租(30号办手机卡,1号是不是就要交钱了)

  • 微信注销后还能查到聊天记录吗(微信注销后还能恢复吗)

    微信注销后还能查到聊天记录吗(微信注销后还能恢复吗)

  • 电脑麦克风有杂音滋滋怎么解决(电脑麦克风有杂音怎么调)

    电脑麦克风有杂音滋滋怎么解决(电脑麦克风有杂音怎么调)

  • 声音文件格式有哪些(声音文件格式有JPEG)

    声音文件格式有哪些(声音文件格式有JPEG)

  • 索尼8500g和8588g区别(索尼8500G和8500D的区别)

    索尼8500g和8588g区别(索尼8500G和8500D的区别)

  • 手机服务器走丢了怎么办(服务器走丢了)

    手机服务器走丢了怎么办(服务器走丢了)

  • iphone11pro max死机怎么重启(iphone11pro max死机无法重启)

    iphone11pro max死机怎么重启(iphone11pro max死机无法重启)

  • 华为p20lite有语音助手吗(华为p20语音输入怎么设置)

    华为p20lite有语音助手吗(华为p20语音输入怎么设置)

  • 知道mac地址能干什么(知道mac地址能监控吗?)

    知道mac地址能干什么(知道mac地址能监控吗?)

  • word文档怎么调视图(word文档怎么调整页面布局)

    word文档怎么调视图(word文档怎么调整页面布局)

  • 优化电池充电打开还是关闭(优化电池充电打开后还是充满了)

    优化电池充电打开还是关闭(优化电池充电打开后还是充满了)

  • vivoy79便签怎么涂鸦(vivos9便签)

    vivoy79便签怎么涂鸦(vivos9便签)

  • 如何申请腾讯大王卡(如何申请腾讯大王卡19元)

    如何申请腾讯大王卡(如何申请腾讯大王卡19元)

  • 以新西兰南岛奥拉基/库克山国家公园为背景的特卡波湖 (© Sophie Dover/Getty Images)(新西兰南岛西南部)

    以新西兰南岛奥拉基/库克山国家公园为背景的特卡波湖 (© Sophie Dover/Getty Images)(新西兰南岛西南部)

  • 资产损失税前扣除及纳税调整明细表
  • 为什么税务申报要补缴
  • 应付账款支付时需要付款申请单吗
  • 酒店摆放物品是什么
  • 企业代扣代缴个人所得税
  • 施工二级资质是什么意思
  • 商誉在资产负债表中如何体现
  • 资产负债表的期初余额是年初余额吗
  • 资产总额和权益总额必然相等吗
  • 房地产开发企业预缴增值税
  • 期间费用包括哪三种
  • 对公账户如何转到法人账户
  • 签证费怎么支付
  • 电子承兑汇票接收和转出步骤
  • 国外出差差旅费
  • 公司欠增值税如何补交?
  • 免征增值税和营业税政策
  • 员工买了多项东西怎么说
  • 软件开发服务费会计分录
  • 卖股票为什么要留一手
  • 小规模企业申请破产流程
  • 会议案例分析题及答案
  • 出口企业应交税费是负数怎么解释
  • 正常工资薪金本期收入含哪些
  • 增值税纳税申报表在哪里打印
  • 办公室装修合同印花税怎么缴纳?
  • 社保银行扣款未扣怎么办
  • 跨期发票如何进行会计处理?
  • 出口0税率是免抵退还是免税
  • 路由器怎么设置2.4g网络
  • 期间费用可以计入产品成本的费用吗
  • 图灵sdk
  • 结转工程成本属于什么会计科目
  • 收到退回的保证金利息怎么入账
  • 酒店没有营业执照开业员工有责任吗
  • php bcsub
  • 房贷每月利息如何算
  • 辅导期内的企业有哪些
  • 废品损失是什么类账户
  • Create OpenAI Account的教程来啦,赶紧学习吧!
  • thinkphp设置伪静态
  • 新准则规定
  • react中的key的作用
  • 对外支付代扣代缴附加税享受减免吗
  • csdn创作激励
  • yolov3训练自己的数据超详细
  • HTML 事件参考手册
  • phpcms模块
  • 管理人员工资属于直接费还是间接费
  • 餐厅的打包盒一般是多少毫升
  • 确认递延所得税资产时,应估计相关可抵扣
  • 代销费是谁给谁
  • 计提福利费的会计分录
  • 小规模纳税人取得普通发票怎么做账
  • 房地产开发公司注册条件
  • 收到成本发票如何记账
  • 其他应收款收不回来怎么写情况说明
  • 土地使用权出资是什么意思
  • 未发货先开发票
  • 融资手续费计入长期待摊
  • 内部资金管理实施细则
  • sql*loader-309
  • 分类不同
  • 如何关掉数据
  • win8如何修改文件权限
  • xp怎么删除电脑系统
  • windows10 upnp
  • ubuntu安装quagga
  • ubuntu源代码
  • linux系统中怎么输入中文
  • 怎么查看macbook air序列号
  • centos 安装perl
  • Linux系统中矢量图ai格式怎么打开?
  • window10升级不了
  • cocos2dx schedule
  • 表单元素的基本语法
  • 税务副科级选拔
  • 领导班子和领导干部政绩观偏差主要问题清单
  • 关于涉访涉诉终结的规定
  • 出口退税的汇率按什么时候的汇率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设