11#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
梯队队员superdoggy
2020-1-9 19:29:41 只看该作者
B版的官方程序 枪口热量还有底盘功率的数据来源于哪里?(小哥哥 回复我一下)
12#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
步兵Evan-GH
2020-1-9 19:31:01 只看该作者
目前参赛队伍的机器人主控采用的多为STM32,STM32的CAN收发器Fifo的深度仅有3,这就导致了如果CAN线上设备过多则容易试得在某些时刻丢失掉部分数据,或者是CAN线上有一个发送速率很快(比如远超1KHz)的设备持续发送信息也会导致有时无法解析到其他设备(电调等设备都是1KHz)的报文信息,请问官方在这一方面有什么方法解决吗?
13#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
梯队队员superdoggy
2020-1-9 19:31:15 只看该作者

B版的官方程序 枪口热量还有底盘功率的数据来源于哪里?裁判系统里面并没有赋值 也有没有调用呀(小哥哥 回复我一下)
14#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
管理员RoboMaster赛务
 楼主| 2020-1-9 19:31:46 只看该作者
hello,大家晚上好!
15#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
梯队队员djiuser_fQ0rHPX
2020-1-9 19:32:10 只看该作者
想知道CAN总线控制电机和PWM控制电机的区别,就除了接线数量的差别外,还有什么呢?对这个不是特别了解
16#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
梯队队员wangshulei
2020-1-9 19:32:48 只看该作者
我想请教下,在由编码器的值推算车子运动的里程的时候,即函数“mecanum_position_measure”中,为什么用编码器的数值“total_ecd”进行计算,是这样的算法误差比较小吗?为社么不把每个时间段内运动的距离进行积分呢?
17#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
正式队员空城伤
2020-1-9 19:33:03 只看该作者
开播了吗?
回复

使用道具 举报

18#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
管理员RoboMaster赛务
 楼主| 2020-1-9 19:33:07 只看该作者
本期圆桌主题:步兵代码的那些问题,主讲嘉宾:@陈小豪右边童鞋。我们的嘉宾会在活动时间内依次回答各位的问题,大家不要着急,先讲问题打出来~
19#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
步兵陈小豪右边童鞋
2020-1-9 19:33:20 只看该作者
Q:关于CAN控制电机的问题我比较好奇,也有些疑惑……希望能够得到解答。

例程在CAN控制电机方面,似乎是使用了中断接收CAN回报的各种信息,如果我没有记错的话是1kHz发送的报文。然后在RTOS中开了一个线程来尽可能快的解析收到的信息并计算PID,向电机发出PID计算出的目标电流值,并且这个线程执行速度应该远快于1kHz。

所以如果说电机回报的速度是1kHz,那么理论上PID的执行频率如果大于1kHz,是否可以说PID计算出来的信息就是重复的呢?如果是重复的,那以1kHz的速度发送控制数据包,是否可以达到同样的控制效果?

另外在我自己实验的时候发现,单纯发送一帧数据哪怕电流给到最大值,电机也不会转动。只有当以一定频率(印象中是100Hz)发送的时候,电机才会转动。但是无论是以100Hz的频率发送数据包还是以1kHz的频率发送数据包,电机的转速都没有显著的变化。

其中电调对CAN控制的处理机制让我很不解,查阅大量资料未果,希望得到一些解答。例如,是否一帧控制帧在电调内有着一定时间的生命周期,每包在下一包到来之前都会维持当前电流环目标值一定的时间?如果能略加指点,不胜感激!
A:控制频率应该与数据反馈频率相一致, 对于不一致场景 ,通常是使用串级PID ,外内环频率不一致,但对应PID频率应该是需要一致的,对于控制不了电机问题, 应该检测CAN发送函数,或者使用逻辑分析仪采集发送的can包,以确认是否消息发送,或者使用一些官方demo程序,发送全固定值进行检测。
20#

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
梯队队员djiuser_oMkvf69
2020-1-9 19:33:34 只看该作者
c620的dome的
MX_FREERTOS_Init();
  osKernelStart();
这两函数缺少一个都不行,debug测试第二个函数是发送数据的能详细说一下这两个函数吗

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表