搜索
bottom↓
回复: 13

请教一下机器狗的电机控制

[复制链接]

出0入104汤圆

发表于 2019-3-8 08:36:46 | 显示全部楼层 |阅读模式
最近在做一个使用STM32来控制机器狗,不是ROS,只是普通的玩具狗,需要控制四个电机完成正转反转跳舞的动作,控制电机的时候还要控制发出音乐,LED闪烁,呼吸灯,舵机转动等任务同时执行,并且执行一个动作串的时候,每一个任务要达到绝对的同步,这个时候问题就出现了,用Dleay来控制电机的话可以实现精准的转动时间控制,但这样就每个任务都要顺序执行,无法同步,所以请教下各位

出0入4汤圆

发表于 2019-3-8 08:41:33 | 显示全部楼层
我习惯弄个类似滴答时钟来带节奏。。。

出0入0汤圆

发表于 2019-3-8 08:46:51 | 显示全部楼层
用上RTOS;要不利用系统滴答时钟,主程序顺序扫描结构,根据标志位来判断子程序是否执行

出0入0汤圆

发表于 2019-3-8 08:54:58 | 显示全部楼层
不使用RTOS也是可以的,状态机就行

出0入0汤圆

发表于 2019-3-8 09:16:05 | 显示全部楼层
简单的并行任务,我觉得论坛里那个小小状态机就可行

出95入100汤圆

发表于 2019-3-8 09:17:03 | 显示全部楼层
用状态机划分时间片

出0入104汤圆

 楼主| 发表于 2019-3-8 15:06:39 | 显示全部楼层
shower.xu 发表于 2019-3-8 09:16
简单的并行任务,我觉得论坛里那个小小状态机就可行

哪个  麻烦能给下链接吗

出0入0汤圆

发表于 2019-3-8 15:13:39 | 显示全部楼层
我最近在用一个stm32控制3个步进电机
开3个定时器,用定时器的pwm控制,一个脉冲一个步进(对驱动器,驱动器再细分)
这样可以交叉,几乎是同步的动作(为什么不说绝对,因为操作总是有顺序性的)
应该就是你的问题的一种解决方式

出0入0汤圆

发表于 2019-3-8 15:25:03 | 显示全部楼层
kevincoooool 发表于 2019-3-8 15:06
哪个  麻烦能给下链接吗

https://www.amobbs.com/thread-5508723-1-1.html?_dsign=7fe5c78b

出0入104汤圆

 楼主| 发表于 2019-3-8 16:49:48 | 显示全部楼层
shower.xu 发表于 2019-3-8 15:25
https://www.amobbs.com/thread-5508723-1-1.html?_dsign=7fe5c78b

多谢- -其实我现在就是用的这个调度

出0入0汤圆

发表于 2019-3-9 09:23:30 来自手机 | 显示全部楼层
还有个思路就是把要做的各种事情做成动作表,表里存的是某一时刻要控制电机或者要亮灯的操作。做这样的表,数据和逻辑分开,你甚至可以做个动作编辑器来生成这个表,不用改程序了。游戏行业都是这么做的,动作树或者行为树了解下。这样你的程序就非常简单了,只管根据表循环做就好了

出0入0汤圆

发表于 2019-3-9 09:26:44 来自手机 | 显示全部楼层
我这个方法还有个好处就是可以实现同步。要是rtos的话会需要线程同步,很麻烦

出0入104汤圆

 楼主| 发表于 2019-3-9 14:13:23 | 显示全部楼层
nanfang2000 发表于 2019-3-9 09:23
还有个思路就是把要做的各种事情做成动作表,表里存的是某一时刻要控制电机或者要亮灯的操作。做这样的表, ...

尝试用状态机下包含子状态机  应该可以做到行为树那样的感觉

出0入0汤圆

发表于 2019-3-9 14:51:14 来自手机 | 显示全部楼层
kevincoooool 发表于 2019-3-9 14:13
尝试用状态机下包含子状态机  应该可以做到行为树那样的感觉

你这是顺序播放,没有条件判断,也没有状态回跳,实际不需要树结构了,弄成顺序表执行就好
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 08:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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