当前位置: 首页 > article >正文

国产芯RK3568教学实验箱操作案例:颜色识别抓取积木

一、实验目的

本节视频的目的是了解机械臂识别颜色抓取积木的基本原理和流程,并掌握机械臂识别颜色抓取积木的实现方法。

二、实验原理

颜色识别抓取积木

功能

实现识别出不同颜色的积木,机械臂夹取后并放在相应的位置中。机械臂通过摄像头检测算法识别不同颜色,物品摆放位置固定;对每个舵机编写固定夹取路径,不同颜色转动角度不同。

实现原理

代码重点划分为三部分:颜色识别,机械臂抓取,机械臂复位。

(1)返回检测到的红色、绿色、蓝色 (RGB) 清晰光感测值,根据RGB各个颜色占据比例区间,能够判断不同颜色;

(2)待夹取积木置于在特定位置上,故所有颜色机械臂夹取路径一致,可以简单的使用循环语句设置路径,唯有转动角度不同,设为形参即可;机械臂的完整抓取过程可提取为:

下放顶臂接近物体—>夹取—>抬高顶臂—>旋转—>下放顶臂—>松爪—>复位。

其中不同颜色对应动作的不同之处仅仅在于底座舵机旋转角度,故可设置一个通用的夹取函数,内置形参表示旋转角度即可。多种颜色一个函数全部实现,精简明了。

(3)抓取路径只包含从开始夹取物品到松开机械爪物品放置在对应位置,最后只需要单独设置机械臂的复位函数,方便调用。

三、实验设备

本实验中使用的软件为VMware17+Ubuntu18.04.4 和串口调试工具Xshell。

image.png

image.png

本实验中使用的是TL3568-PlusTEB实验箱,所需的配件为Micro SD卡、Type-C线、电源、机械臂套件和网线。

image.png

image.png

四、操作现象

硬件连接

(1)将Ubuntu系统启动卡插至Micro SD卡槽。

(2)使用Type-C线连接USB TO UART2调试串口到PC机。

(3)将实验箱ETH0 RGMII网口(COM21)通过网线连接至路由器。

(4)连接实验箱电源,先不要上电。

屏幕截图 2024-12-05 141654.png

(5)实验摆放位置按照黄色区域放置黄色积木块,红色区域放置红色积木块,绿色区域放置绿色积木块,蓝色区域放置蓝色积木块。

屏幕截图 2024-12-05 141654.png

(6)将机械臂的摄像头连接到实验箱的USB2.0 HOST。

(7)使用MIcro USB线连接机械臂的USB口和实验箱的USB2.0 HOST。

(8)连接机械臂的电源,上电。

屏幕截图 2024-12-05 141654.png

软件操作

(1)先在设备管理器查看串口的端口号;

(2)再设置串口调试工具,波特率设置为1500000,点击连接,在Xshell调试终端会显示连接成功。

(3)连接成功后,拨动实验箱的电源开关,将实验箱上电。

(4)系统启动成功后,输入账户密码登录即可(账密均为:tronlong)

(5)登录成功后,查询实验箱的网口地址。

屏幕截图 2024-12-05 141932.png

拷贝文件

我们先打开Ubuntu,将Demo文件夹拷贝到RK3568目录下。

"Ctrl+Alt+T"打开控制台,执行命令将文件拷贝至实验箱文件系统(根据实验箱实际IP地址修改命令)。

屏幕截图 2024-12-05 142050.png

运行程序

在串口调试窗口执行命令,启动开发环境

在网页输入地址,即可打开登录界面 (根据实际IP地址修改网页地址)。

输入密码:tronlong,登录。

在程序目录,双击打开程序,点击重新运行程序。

等待右上角的进度饼图变白,程序运行完成。

在程序最下方,会显示运行结果。

实时显示摄像头采集的图像信息。可以把积木块放到摄像 头的前面,摄像头会检测到积木块的颜色(积木块对准绿色框即可识别),然后把积木块放到对应颜色的区域内,机械臂会根据检测到的颜色把对应区域内的积木块夹取到中间的区域。或者先把积木块放到对应颜色区域内,然后找黄色、红色、绿色、蓝色四种颜色的卡片放到摄像头前,机械臂会根据检测到的颜色抓取对应的积木块放到中间的区域。

每次抓一个积木后,需要把中间区域的积木拿开,否则会挡住下一次放积木。

屏幕截图 2024-12-05 142050.png

屏幕截图 2024-12-05 143017.png


http://www.kler.cn/a/466425.html

相关文章:

  • 倍思氮化镓充电器分享:Super GaN伸缩线快充35W
  • Ae:合成设置 - 3D 渲染器
  • Qt之屏幕录制设计(十六)
  • 开源存储详解-分布式存储与ceph
  • connect to host github.com port 22: Connection timed out 的解决方法
  • 【计算机视觉技术 - 人脸生成】2.GAN网络的构建和训练
  • Android 第三方框架:网络框架:OkHttp:源码分析:缓存
  • 基于springboot+vue的校园论坛系统
  • 代码随想录day34 动态规划2
  • js逆向:算法分析某携酒店数据接口参数testab的生成
  • DALL·E 2模型及其论文详解
  • WPF的一些控件的触发事件记录
  • 渗透测试-非寻常漏洞案例
  • 使用IDEA远程debug服务器上的jar包
  • 基于 Python 虎扑网站的 NBA 球员大数据分析与可视化
  • QEMU网络配置简介
  • Wireshark中的名称解析设置详解
  • ROS 2中的DDS中间件
  • 小信号处理
  • LeetCode -Hot100 - 438. 找到字符串中所有字母异位词
  • 前后端分离项目部署到云服务器、宝塔(前端vue、后端springboot)详细教程
  • Trimble天宝X9三维扫描仪为建筑外墙检测提供了全新的解决方案【沪敖3D】
  • 【运维工具】Ansible一款好用的自动化工具
  • MQ-导读
  • 显示视频DP、HDMI、DVI、VGA接口的区别
  • 九转算法蛊