×

机械臂:Arduino + Matlab

消耗积分:0 | 格式:zip | 大小:0.02 MB | 2023-06-28

陈伟

分享资料个

这个怎么运作?

机器人可以在 2 种模式下工作。下面我将解释我在 Matlab 中使用的一些最重要的函数。然而,要真正理解这种图像处理是如何工作的,你必须看看机器人看到了什么。

值得一提的功能是:

  • 快照- 从网络摄像头获取图像
  • rgb2gray - 将图像转换为灰度
  • bwareaopen - 从二进制图片中去除噪声
  • regionprops - 测量白点并找到它的位置

从最后一个函数,Matlab 能够找到磁带的中心点(它的位置)。然后它会计算磁带在 3 个可能的位置中的哪一个。剩下要做的就是使用fprintf函数将位置编号发送给 Arduino。然后 Arduino(取决于它收到的价值)决定接近哪个位置。

您可能已经注意到 - 该视觉系统无法识别任何位置,只能识别预定义的三分之一。

串行通信技巧

当我们在 Arduino 上打开串行通信时,控制器将重置。您会注意到,当您在 IDE 中打开串行监视器时,它甚至会重置。为了解决这个问题,我在 Arduoino 的 RESET 和 GND 引脚之间焊接了一个 10uF 电容器(+ 转到 RESET)。详情在这里

使用 Arduino 的 Matlab 支持包

我没有在这个项目中使用它,但我在另一个项目中使用过,我认为值得一提。要安装软件包,请转到:附加组件 -> 获取硬件支持包 -> 从 Internet 安装 -> Arduino。

这个包有很多功能可以使用,你可以在这里找到列表

借助这个软件包,您可以使用 Matlab 在 Arduino 上编写整个程序,但对我来说似乎并不方便。我用它的目的是当我不得不观察和分析一些电压信号并且没有示波器来做的时候。相反,我使用了这个包和一个简单的代码,你可以在代码部分找到。结果很好:

 
 
 
 
pYYBAGN20BGADCRBAABlWw60zL0491.png
 
1 / 2PID 控制器的阶跃响应。
 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !