【RM2022-软件功率控制开源】防灾科技学院思玄战队
![帅帅的麦兜](https://hz-rm-bbs-web-prod.oss-cn-hangzhou.aliyuncs.com/avatar/pre/v1/000049849_avatar_big.jpg)
思玄战队 软件功率限制开源
本功率限制为纯软件功率限制,充分利用缓冲能量的提升加速度实现。不同的兵种,不同的横纵避震结构都其保护机制略有不同,可自行给调节。
总体而言,该代码十分精简,仅需读取缓冲能量和最大功率限制即可。
经过实测,一级功率优先步兵英雄,都能直接上最抖的坡,无需刻意助跑加速。步兵哪怕你停坡上,照样也能上去。
一级英雄软控和超电对比,二者加速效果差不多,还不如用软件功率控。一级步兵超电相当于70W的软控。
该方案,可灵活控制,与超电能一同使用。哪怕你中途超电烧了,照样能正常使用、除非裁判系统读不到缓冲能量。自行搞个电流计,软件模拟缓冲能量是有必要的。
该方案,本质还是去年我的功率控制帖子,本质就是将各个电机电流期望不同等的放大缩小,在缓冲能量可控范围内。
该怎么用?
首先,你需要自行保证你的地盘速度<=期望编码器解码速度极限,千万不可超调。
然后,该函数调度时间及其次数有额定要求。调度控制函数,100HZ,地盘任务100HZ及以上(我们是250HZ)。
它通过自行解算后,动力再分配,哪怕你一个轮子悬空,也能上最抖的坡!
理论:有些功率控制板方案,就是搞四个电流计读四个地盘电机的电流,其实大可不必。(我鞭我自己)直接算出期望差,电流输出各自放大即可。至于为啥这么“松散”控制它,是因为
地盘本身就是个滞后系统,而且它的可控性远没有云台好,没必要浪费那么高的算力和资源。
用法:将Chassis_Power_Limit(); 函数放在你自身代码地盘之后,切记!然后,代码具体参数可微调。
但是,最后的地方,给电调发送期望电流时,务必加限制函数,在合理的范围内!(如果开了FPU可忽略)。
该代码仅用于学习和交流,禁止商用。主要用以启发后人,降低开发成本。特指,新队伍或没钱、人研究超电的队伍(我说我自己),以及断代的队伍。
断代并不可怕,怕的是断代了,又不去追逐,吃老本。干活的没话语权,不干活的算了还影响别人干活,在哪儿嘻嘻哈哈的。。。(本人深有体会)
希望我的软工限制,能对你们在RM路上有所帮助。。。当然了,那种纯电竞战队就别了,这代码你用不了的,强行加入会有bug了,要寄。
只要你们的代码是你自己写的,深刻理解过,对比赛了解,这代码就很好移。
后记:
关于搭配超级电容,使用!我是写套软件缓冲能量,通过控制板数据计算出地盘实际功率,然后滤波取100HZ数据,作为模拟缓冲能量使用。
将模拟缓冲能量的功率设为车等级限制功率的120%个点,大概超20w左右。(一般80w,车就有个不错的速度性能,够用了)然后,超电依旧一直正常工作。
实测,能让一级功率步兵跑50秒,在80w软件功率限制下。(区域赛实测,电容能量1380j)
针对电容电压过低,可以将模拟缓冲能量的功率阈值动态调低,用位置型pid控制较好点。
//具体代码讲解,看情况吧,有空就给大家录一个,方便上手。 9月2日,电控-子淇。
交流群:656956614B站已出教学。
attach://32175.rarattach://32175.rar[attach]32175[/attach]attach://32175.rar
本功率限制为纯软件功率限制,充分利用缓冲能量的提升加速度实现。不同的兵种,不同的横纵避震结构都其保护机制略有不同,可自行给调节。
总体而言,该代码十分精简,仅需读取缓冲能量和最大功率限制即可。
经过实测,一级功率优先步兵英雄,都能直接上最抖的坡,无需刻意助跑加速。步兵哪怕你停坡上,照样也能上去。
一级英雄软控和超电对比,二者加速效果差不多,还不如用软件功率控。一级步兵超电相当于70W的软控。
该方案,可灵活控制,与超电能一同使用。哪怕你中途超电烧了,照样能正常使用、除非裁判系统读不到缓冲能量。自行搞个电流计,软件模拟缓冲能量是有必要的。
该方案,本质还是去年我的功率控制帖子,本质就是将各个电机电流期望不同等的放大缩小,在缓冲能量可控范围内。
该怎么用?
首先,你需要自行保证你的地盘速度<=期望编码器解码速度极限,千万不可超调。
然后,该函数调度时间及其次数有额定要求。调度控制函数,100HZ,地盘任务100HZ及以上(我们是250HZ)。
它通过自行解算后,动力再分配,哪怕你一个轮子悬空,也能上最抖的坡!
理论:有些功率控制板方案,就是搞四个电流计读四个地盘电机的电流,其实大可不必。(我鞭我自己)直接算出期望差,电流输出各自放大即可。至于为啥这么“松散”控制它,是因为
地盘本身就是个滞后系统,而且它的可控性远没有云台好,没必要浪费那么高的算力和资源。
用法:将Chassis_Power_Limit(); 函数放在你自身代码地盘之后,切记!然后,代码具体参数可微调。
但是,最后的地方,给电调发送期望电流时,务必加限制函数,在合理的范围内!(如果开了FPU可忽略)。
该代码仅用于学习和交流,禁止商用。主要用以启发后人,降低开发成本。特指,新队伍或没钱、人研究超电的队伍(我说我自己),以及断代的队伍。
断代并不可怕,怕的是断代了,又不去追逐,吃老本。干活的没话语权,不干活的算了还影响别人干活,在哪儿嘻嘻哈哈的。。。(本人深有体会)
希望我的软工限制,能对你们在RM路上有所帮助。。。当然了,那种纯电竞战队就别了,这代码你用不了的,强行加入会有bug了,要寄。
只要你们的代码是你自己写的,深刻理解过,对比赛了解,这代码就很好移。
后记:
关于搭配超级电容,使用!我是写套软件缓冲能量,通过控制板数据计算出地盘实际功率,然后滤波取100HZ数据,作为模拟缓冲能量使用。
将模拟缓冲能量的功率设为车等级限制功率的120%个点,大概超20w左右。(一般80w,车就有个不错的速度性能,够用了)然后,超电依旧一直正常工作。
实测,能让一级功率步兵跑50秒,在80w软件功率限制下。(区域赛实测,电容能量1380j)
针对电容电压过低,可以将模拟缓冲能量的功率阈值动态调低,用位置型pid控制较好点。
//具体代码讲解,看情况吧,有空就给大家录一个,方便上手。 9月2日,电控-子淇。
交流群:656956614B站已出教学。
attach://32175.rarattach://32175.rar[attach]32175[/attach]attach://32175.rar
请问这篇文章对你有用吗?
【RM2022-软件功率控制开源】防灾科技学院思玄战队