RT-Thread作品秀】写字机器人作者:乔城阳 概述(说明应用产生的背景、实现功能)写字机器人在实际生产线上由于效率赶不上打印机,应用不是很广,然而由于其结构简单,成本低,并且符合人手写风格,在学习阶段很有价值。写字机器人设计上包含了路径规划、直线插补、加减速控制等常用电机运动控制算法,在软件上也会用到DXF文件解析、openCV图像处理等G代码生成工具,对后期深入研究激光切割机、雕刻机、3D打印机等大型设备有很好的铺垫作用。因此我的作品以写字机器人为题目分享我的制作过程和学习体验,希望对各位小伙伴的学习有所帮助。 开发环境(所采用的软、硬件方案)硬件:ART-PI、arduino、TM4C123GXL RT-Thread版本:3.14 开发工具及版本:MDK-ARM5.31、VSCode RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)内核部分:线程调度,资源分配、同步通信、设备驱动框架 组件:DFS文件系统、UART串行异步通信、CAN通信 其他:UDP通信、cJSON编解码 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)在写字机器人设计上我将其分为三个部分: 图像处理模块 运动控制模块 G代码生成模块 图像处理模块负责把文本图像和照片等图像文件做预处理,去除杂点,然后以合适的算法将图像二值化,突现主要信息,然后提取轮廓骨架以适合机器书写。 G代码生成模块将图像轮廓序列化后进行路径规划,选取一个适合的加工精度,然后按数控加工常用的G代码规范生成NC加工文件。另外对于标准的DXF文件则通过文件解析的方法生成G代码。 运动控制模块是写字机器人中最杂的一个模块,负责各个运动机构的精准快速移动。收到G代码指令后需要结合前后指令信息生成当前指令的合适初速度、最大运行速度,根据运动轨迹进行直线插补点,最后按SPTA梯形加减速算法向电机发出脉冲。 软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)Grbl是一种高性能低成本的开源CNC控制器,基于ATmega328型芯片输出高速精准的电机控制脉冲,完美支持各种标准G代码,并包含了完整的前瞻性加速控制,可以实现平稳的加速和无冲击的转弯动作。 正是由于grbl的前瞻性速度控制功能,所以要保证grbl控制器内一直保持着16-20个G代码指令。这需要ART-PI通过读取grbl控制器缓冲区状态,及时发送G代码指令,避免出现缓冲溢出和缓冲区为空等现象出现。 因此需要运行RT-thread实时操作系统,通读读取SD卡上的NC文件,并与grbl控制器通信,控制设备正常运行。另外RT-thread也可提供丰富的人机交互功能,将设备工作路径、进度等状态实时显示在屏幕上,也可以增加暂停续写等功能。 演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频或其他视频平台,给出链接即可)演示视频 比赛感悟同样是C代码,为什么别人写得那么好,这次比赛用到两个开源软件,一个是RT-thread,负责人机交互和发送控制指令,另一个是grbl,用来完成运动控制。两款软件都设计的非常精巧,只需在2kB大小的RAM上运行,而功能却又非常强大,实现了很多复杂的功能,所有的代码封装的很好,模块启用只需打开对应的宏定义即可。这次专门去图书馆借阅了RTT相关的图书,了解线程是如何调度,设备驱动应该怎么实现,但是内部还是有很多内容不理解,后期需要继续不断充实自己。运动控制一直是我的兴趣所在,这次也终于有机会把它实现,看着电机在一行行指令的控制下乖乖地转动,听着不断变化着频率的电机声音,真正体会到了伺服servo的含义,非常开心~
2022-03-16 20:05:03 1.33MB diy制作 rt-thread 电路设计方案 电路方案
1
STM32F407移值RT Thread4.0.3系统基础工程,配置好了系统时钟和串口1,启动通过串口1打印系统信息。
2022-03-16 16:20:48 14.23MB STM32F407 RT Thread
1
瓦里安的放射治疗计划系统手册,详细描述了TPS系统的使用方法。对放射治疗行业从业者具有很好的参考价值。
2022-03-12 16:24:39 33.73MB tps 放疗计划系统 dicom-rt
1
使用stm32f103搭配rt_thread的驱动框架驱动ch372,如果不用rt_thread,只需要修改引脚初始化和中断初始化就可以了。
2022-03-08 21:10:29 6KB stm32 ch372
1
华硕RT-N65U REV 2.6原厂编程器固件
2022-03-07 00:58:33 16MB 华硕N65U
1
RT-LAB中文使用手册,RT-LAB源码
2022-03-04 14:31:37 1.01MB
英飞凌TriCore处理器板级支持包 ---上海睿赛德电子科技有限公司版权所有 1.简介 TriCore是英飞凌(infineon)公司专为嵌入式实时系统设计的32位精简指令(RISC)的芯片架构。汽车电子上用的比较多。低中断;硬件自动切换都是它的特点。 硬件 描述 芯片型号 TC264 / TC364 / TC377 CPU架构 三核1.6 2.编译说明 :AURIX-Studio IDE,如下图所示点击import按钮导入工程。 找到对应的文件夹工程目录。如下图所示: 右键工程目录,单击“设置活动项目”按钮激活工程。 首次编译前需要清理一遍工程。如下图所示: 单击编译按钮进行编译。如下图所示: 3.烧写及执行 点击下载按钮。如下图所示: 3.1运行结果 如果编译&烧写无误,当重置设备后,会在串口上看到RT-Thread的启动徽标信息: 4.许可协议 这是一份使用GPLv2及商业授权的
2022-03-01 22:48:24 8.53MB tricore C
1
华硕RT-N66U路由 梅林固件 380.63.2
2022-03-01 09:54:01 23.4MB 固件 梅林 华硕 RT-N66U
1
最新梅林固件
2022-02-27 13:54:51 36.81MB 最新梅林固件
1
在LabVIEW RT模块中使用LabVIEW Project
2022-02-27 09:18:53 1.46MB LabVIEW
1