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

  • oppo哪款手机支持无线充电(oppo哪款手机支持红外线)

    oppo哪款手机支持无线充电(oppo哪款手机支持红外线)

  • win10分辨率1920x1080不见了(win10分辨率1920x1080不见了,显卡驱动显示最新)

    win10分辨率1920x1080不见了(win10分辨率1920x1080不见了,显卡驱动显示最新)

  • 星标好友发朋友圈会提醒吗(星标好友发朋友圈头像会有红点)

    星标好友发朋友圈会提醒吗(星标好友发朋友圈头像会有红点)

  • 小米蓝牙耳机双耳配对(小米蓝牙耳机双耳模式设置)

    小米蓝牙耳机双耳配对(小米蓝牙耳机双耳模式设置)

  • 小米蓝牙耳机重置出厂设置(小米蓝牙耳机重置方法)

    小米蓝牙耳机重置出厂设置(小米蓝牙耳机重置方法)

  • 华为手机为什么不能横屏了(华为手机为什么会突然变成黑白屏)

    华为手机为什么不能横屏了(华为手机为什么会突然变成黑白屏)

  • 苹果手机怎么当遥控器(苹果手机怎么当空调遥控器用)

    苹果手机怎么当遥控器(苹果手机怎么当空调遥控器用)

  • 微型计算机采用总线结构的好处(微型计算机采用的外存储器中不包括)

    微型计算机采用总线结构的好处(微型计算机采用的外存储器中不包括)

  • 华为p40pro手机发热(华为p40pro手机发热怎么解决)

    华为p40pro手机发热(华为p40pro手机发热怎么解决)

  • 微信互删后备注还在吗(微信互删后备注会消失吗)

    微信互删后备注还在吗(微信互删后备注会消失吗)

  • 如何更改工作簿的名称(如何更改工作簿名称颜色)

    如何更改工作簿的名称(如何更改工作簿名称颜色)

  • 一秒语音怎么制作(一秒语音怎么制作视频)

    一秒语音怎么制作(一秒语音怎么制作视频)

  • 账号申诉是什么意思(账号申诉怎么容易成功)

    账号申诉是什么意思(账号申诉怎么容易成功)

  • 天猫魔屏m1怎么用(天猫魔屏m1怎么调节清晰度)

    天猫魔屏m1怎么用(天猫魔屏m1怎么调节清晰度)

  • 抖音点不了赞心怎么办(抖音点赞赞不了怎么办)

    抖音点不了赞心怎么办(抖音点赞赞不了怎么办)

  • 苹果五怎么录屏(旧版苹果5怎么录屏)

    苹果五怎么录屏(旧版苹果5怎么录屏)

  • 天猫精灵怎么连接蓝牙(天猫精灵怎么连接手机)

    天猫精灵怎么连接蓝牙(天猫精灵怎么连接手机)

  • 苹果下载过的app记录怎么删除(苹果下载过的app怎么再次使用密码)

    苹果下载过的app记录怎么删除(苹果下载过的app怎么再次使用密码)

  • 手环是怎么检测睡眠的(手环是怎么检测心率的)

    手环是怎么检测睡眠的(手环是怎么检测心率的)

  • 华为荣耀9x有人脸识别吗(华为荣耀9x手机)

    华为荣耀9x有人脸识别吗(华为荣耀9x手机)

  • ps选区填充快捷键(ps选中区域快速填充)

    ps选区填充快捷键(ps选中区域快速填充)

  • realmex什么时候上市(realmex什么时候停产)

    realmex什么时候上市(realmex什么时候停产)

  • 淘宝如何开店铺步骤(淘宝如何开店铺?)

    淘宝如何开店铺步骤(淘宝如何开店铺?)

  • 苹果x系统占用内存太大怎么办(苹果X系统占用内存太大怎么办)

    苹果x系统占用内存太大怎么办(苹果X系统占用内存太大怎么办)

  • 【vue】 配置代理(vue3.0配置代理)

    【vue】 配置代理(vue3.0配置代理)

  • OpenCV图像几何变换专题(缩放、翻转、仿射变换及透视)【python-Open_CV系列(五)】(opencv几何变换)

    OpenCV图像几何变换专题(缩放、翻转、仿射变换及透视)【python-Open_CV系列(五)】(opencv几何变换)

  • 【Windows Server 2019】Web服务 IIS 配置与管理—— IIS 的安装与基本配置 Ⅲ(windowsserver2019产品密钥)

    【Windows Server 2019】Web服务 IIS 配置与管理—— IIS 的安装与基本配置 Ⅲ(windowsserver2019产品密钥)

  • 金蝶软件制造费用结转步骤
  • 事业单位法人证书查询
  • 为什么租赁只能20年
  • 应交税费明细表填制
  • 小企业计提坏账准备的会计分录怎么写
  • 研发费用加计扣除条件
  • 停业的纳税人还交税吗
  • 房产评估费会计分录
  • 营改增一般纳税人标准
  • 向银行贷款买车 绿本要给银行吗
  • 应收账款计提坏账准备是谨慎性原则吗
  • 民办非企业单位是什么单位性质
  • 应纳税额减征额和减免税额一样吗
  • 加油的普票可以抵扣进项税吗
  • 准备金税前扣除什么意思
  • 每季度财务报表
  • 其他应付转到其他应收
  • 先收钱后开票怎么做分录
  • 生育津贴还扣税吗
  • 清算资本公积中的股本溢价应该怎么处理
  • 8款应用
  • php环境中可毒
  • 怎么区分债券折价还是溢价
  • 财政补助收入核算内容
  • 承包安装工程怎么报价
  • php7.0新特性
  • 货物运输发票怎么备注发票样板
  • 从银行提取现金分录
  • http://与www.开头的网站有何区别
  • php制作留言板包含登录和功能实现
  • laravel入门与实战:构建主流php应用开发框架
  • c语言中函数的实参和形参
  • 网络销售税率怎么算
  • mysql如何上锁
  • 外汇核销是什么意思
  • python3中rindex用法
  • 织梦官方网站
  • 税金及附加如何预测
  • 研发费用资本化条件有哪些
  • 往期企业所得税报表更正
  • 增值税发票没有抵扣联能作废吗
  • 出口关税的计算公式
  • 环保税计税依据怎么算
  • 新开企业如何开发票
  • 装修公司进的材料怎么做分录
  • 出差人员的住宿费计入什么科目
  • 企业员工福利费可以做什么
  • 财政总预算会计的主体是
  • 银行汇票可用于异地结算吗
  • 申报和做账必须一致吗
  • 现金折扣与商业折扣的计算
  • 会计账簿按外表可分为
  • 一个企业至少应纳多少税
  • sql server高级应用
  • mybatis分页插件的原理
  • centos安装编译环境
  • c盘的windows
  • Linux系统下findmnt命令使用全解
  • freebsd使用wifi
  • window10路由
  • win7系统资源管理器无响应
  • 谷歌浏览器点更新没反应
  • cocos2dx怎么用
  • unity单选
  • js 位置
  • 利用职务之便谋取私利是什么罪
  • js 根据时间排序
  • js模拟touch
  • 利用python绘图
  • jquery创建表格
  • javascript获取html元素的方法
  • android应用程序包下载安装
  • 绿化养护的增值税是多少
  • 中山市十大纳税大户
  • 国家税务总局局官网
  • 江苏省定额规则
  • 国税局黑龙江省
  • 河南地税税率怎么计算
  • 国税发2014年39号
  • 个人所得税的通知
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设