楼主

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

[复制链接]
管理员RoboMaster赛务
2020-1-7 17:03:36 只看该作者

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

跳转到指定楼层
推荐

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

[复制链接]
工程花师小哲
2020-1-9 16:17:38 只看该作者
烟火清凉 发表于 2020-1-9 16:13
在步兵刚刚检测到装甲板的时候,视觉传回的pitch轴的数有一个越变,突然数值变得很大,云台就会使劲震一下 ...

emmm其实在我们这里,这是视觉组要解决的问题,视觉那边负责处理类似于越变这样的问题,给电控尽量提供高质量稳定的数据(我觉得不应该放在步兵代码模块里面提问?不过如果嘉宾能解答就更好了
回复 支持 1 反对 1

使用道具 举报

推荐

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

[复制链接]
顾问烟火清凉
2020-1-8 10:40:37 只看该作者
我们的步兵云台有pitch轴电机、摩擦轮电机,拨弹盘电机四个电机,全都用的can控制,但是每次运行时要么只有pitch动要么只有摩擦轮和拨弹盘动,代码里谁的输出在前面谁动,每个电机都有反馈,都有输出,id也没有问题,不动的电机的输出一直显示最大(pitch电机单独一个can发送,两个摩擦轮和拨弹电机一个can发送)。有人说是can发送队列太多,导致发送错误,我们云台一共两个电机的can发送、两个给底盘数据的can发送,四个应该不多吧,底盘的can队列比云台还要多也没有问题。如果确实是队列太多,应该怎么解决,每个can发送最多几个队列。我们尝试过在两个电机can发送之间加了1ms的延时,几个电机都可以动了,但是延时不应该在程序里留着,不是长久之策。几个电机、电调、电路板都是好的,全都单独测试过,也更换过,一直出现同样的错误。
回复 支持 1 反对 0

使用道具 举报

推荐

[其他] 【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程序,发送全固定值进行检测。
沙发

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

[复制链接]
梯队队员Mlekow
2020-1-7 23:53:58 只看该作者
本帖最后由 Mlekow 于 2020-1-7 23:55 编辑

关于CAN控制电机的问题我比较好奇,也有些疑惑……希望能够得到解答。

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

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

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

其中电调对CAN控制的处理机制让我很不解,查阅大量资料未果,希望得到一些解答。例如,是否一帧控制帧在电调内有着一定时间的生命周期,每包在下一包到来之前都会维持当前电流环目标值一定的时间?如果能略加指点,不胜感激!


地板

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

[复制链接]
正式队员infosis
2020-1-9 00:11:39 只看该作者
本帖最后由 infosis 于 2020-1-9 00:13 编辑

官方开源的是github的还是robomaster.com官网2016开源的代码?
5#

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

[复制链接]
正式队员infosis
2020-1-9 00:15:23 只看该作者
官方代码是直接适用开发板A型吗?开发板A型是427芯片,若移植到407会需要哪些修改?谢谢!
6#

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

[复制链接]
顾问烟火清凉
2020-1-9 16:06:04 只看该作者
步兵电控组在和视觉组对接时,视觉组会给我们传回pitch轴和yaw轴的数据,视觉组传来的数值不是固定的,一直在一定的范围内变化(可能是云台不稳造成的),所以使云台一直抖动(pitch轴一直上下震,因为pitch一直追视觉那个变化的值)这个问题只靠调内外环pid可以解决吗,还是应该先处理数值,像取个平均值,还有那个卡尔曼滤波加上之后,好像没有什么变化,甚至有的时候更加的震。如果需要处理数据有什么好办法。
7#

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

[复制链接]
顾问烟火清凉
2020-1-9 16:13:14 只看该作者
在步兵刚刚检测到装甲板的时候,视觉传回的pitch轴的数有一个越变,突然数值变得很大,云台就会使劲震一下,在不到1秒之后数值恢复到正常范围,云台也恢复正常。我们应该怎样处理这个值,有什么好办法。
9#

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

[复制链接]
顾问烟火清凉
2020-1-9 16:22:54 只看该作者
花师小哲 发表于 2020-1-9 16:17
emmm其实在我们这里,这是视觉组要解决的问题,视觉那边负责处理类似于越变这样的问题,给电控尽量提供高 ...

如果视觉组解决不了,可不可以把第一个数过滤掉或者减少它的影响。
10#

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

[复制链接]
顾问末世
2020-1-9 19:17:48 只看该作者
关于pwm控制电机的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

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

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