首页 / 专利分类库 / 控制;调节 / 基于深度学习与云机器人的低自由度肉鸽饲喂控制方法

基于深度学习机器人的低自由度肉鸽饲喂控制方法

申请号 CN202311662011.1 申请日 2023-12-05 公开(公告)号 CN117908427A 公开(公告)日 2024-04-19
申请人 仲恺农业工程学院; 发明人 朱立学; 郭晓耿; 陈逸鹏; 陈品岚; 黄彬; 张世昂; 赖颖杰; 吴章禾; 吴佳泽; 王安; 郑秀慧; 姜子杨; 吴汉湖; 余梓杰;
摘要 本 发明 提供了基于 深度学习 与 云 机器人 的低 自由度 肉鸽饲喂控制方法,包括以下步骤:S1、饲喂机器人在肉鸽养殖场笼间道路起点 位置 ,进行进行上电,进行初步初始化,云 服务器 的服务端程序运行,并等待云机器人的客户端程序连接;本发明通过采用云计算、低自由度的饲喂结构,降低控制算 力 需求与减少投喂动作过程时间,并结合深度学习、云服务器、无线通信、 单片机 等技术进行自主视觉导航,实现云机器人在笼间导航行走,智能识别 定位 料槽位置并准确快速完成自动投喂 饲料 的功能,该肉鸽饲喂云机器人具有适用性强、效率高、低成本等优点。
权利要求

1.基于深度学习机器人的低自由度肉鸽饲喂控制方法,其特征在于,包括以下步骤:
S1、饲喂机器人在肉鸽养殖场笼间道路起点位置,进行进行上电,进行初步初始化,云服务器的服务端程序运行,并等待云机器人的客户端程序连接;
S2、云机器人客户端程序主动连接服务端程序,连接成功后,服务端程序分别加载识别料槽模型和识别笼间两侧支撑杆模型,使客户端程序与单片机主控进行投喂机构回到初始状态;
S3、云机器人通过自主视觉导航模,用于云机器人车体行进前方的相机实时采集图像数据,上传到识别笼间两侧支撑杆模型,提取笼间道路边缘点,并拟合出相应的导航中线,获取导航预瞄点下发到客户端程序进行偏航的计算,结合运动学模型控制云机器人,从而实现云机器人的视觉导航;
S4、云机器人两侧的相机实时采集图像数据,上传到云服务器的识别料槽模型中,判断料槽的中点是否在实时图像的中心区域,如果是,则发送停止运动的指令让云机器人停止行走,同时也发送料槽中心区域点集到客户端程序,客户端通过单片机的三自由度喂料结构模块进行实时计算并获得投喂结构需要运动的角度与长度;
S5、云机器人的单片机主控实时接收客户端的数据,控制落料机构分别给两侧的三个料盒下饲料,投喂机构转动一定角度与长度到达料槽开口处上方,末端转动角度投料到料槽中,完成投喂动作后,投喂结构回到初始状态;
S6、单片机主控发送信号使得云机器人车体前方相机继续工作,采集图像数据到云服务器的服务端程序,云机器人进行自主视觉导航,同时云机器人两侧相机也恢复工作状态,继续实时识别是否有料槽出现在图像中心区域;
S7、回到S3中,进行循环执行。
2.根据权利要求1所述的基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,其特征在于:所述自主视觉导航模块的控制方法如下,
S11、采用复杂度较低、推理速度快的YOLOv5s网络模型进行改进,以便网络模型部署在云服务器,转移机器人本体的高算任务至云端,降低移动机器人算力需求;
S12、将realsense D455深度相机固定在云机器人上距地面高度约45cm、向下倾斜角度约30°的支架上,采集图像分辨率为640×360像素的图像6000张,图像格式为JPEG,使用可视化、开源标注工具LabelImg,以矩形框的方式对支撑杆(鸽笼两侧支撑杆)数据集进行人工标注,标注文件以.xml后缀格式进行存储,并分为训练集、验证集和测试集进行模型训练;
S13、将训练获得相应的权重和模型部署到云服务器上,通过压缩图像分辨率,有效提高了图像传输速度,开发多进程“支撑杆”目标识别程序与云机器人本体控制器进行数据交互,云服务器上主要是识别“支撑杆”目标的服务端程序,云机器人本体主要是负责采集笼间道路信息与接收控制信息的客户端程序;
S14、经改进模型检测出的支撑杆目标框为n个(n大于2),且每个目标识别矩形框右下角的图像像素坐标为(Xi,Yi),并构成识别框右下坐标点集[(X1,Y1),(X2,Y2),…,(Xn,Yn)]rb,i=
1,2,…,n;
首先根据像素值对Yi进行由小到大排序,获取最小值点(X,Ymin),构造y轴方向的平行向量 分别计算识别框右下坐标点集中每一个点与最小值点的向量 最后求取出 与的夹角θ,当夹角θ大于0时,该点为右边缘点,否则为左边缘点,计算公式如下,根据上述公式得出的夹角θ判断出左右边缘点集,从相应的点集中分别取左右边缘点集中靠近最小值点(X,Ymin)的左边缘点(Xl,Yl)、右边缘点集(Xr,Yr),并采用向量模长公式分别计算两向量 的模长,当 大于 时,最小值点(Xmin,Ymin)为右边缘点,否则该最小值点为左边缘点,计算公式如下,
为了使边缘点更接近实际支撑杆目标位置,调整右下目标检测框的左下点为边缘点,左边缘点、右边缘点集中以底边中点坐标为边缘点坐标(保留左下框识别点与右下框识别点);
经过上述步骤,可获得左右目标识别点集分别为[(X1,Y1),(X2,Y2),…,(Xn,Yn)]r、[(X1,Y1),(X2,Y2),…,(Xn,Yn)]l,通过右边缘点集、左边缘点集拟合得到通道边缘的点斜式方程为,
y=ax+b
式中, 表示目标识别矩阵中识别点的所有X点的平均值,即Xmid;
表示目标识别矩阵中识别点的所有Y点的平均值;
通过获得左右边缘点拟合出相应点斜式方程,可设定导航点的感兴趣区域为Y方向的
60像素至240像素,再间隔15像素与左右边缘点的点斜式方程获取通道的中心点坐标,并采用最小二乘法拟合出导航线;
S15、云机器人的客户端程序采用多进程方式高效处理服务端下发的数据,并将导航点回传到移动机器人的底层控制器,并结合运动学模型,实现其行走方向的持续调整,即完成云机器人的自主视觉导航。
3.根据权利要求2所述的基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,其特征在于:在YOLOv5s基础上采用Ghost-Shuffle Conv(GSConv)代替主干网络与颈部网络的传统卷积层,并精简了主干网络冗余的网络层,其次,在Spatial Pyramid Pooling-Fast(SPPF)模块中引入高效通道注意力机制Efficient Channel Attention(ECA),并在颈部网络中采用GhostBottleneck与Efficient Channel Attention(ECA)融合来替换C3模块,以减少参数量与计算量,实现网络轻量化,并提升对支撑杆的检测能力。
4.根据权利要求2所述的基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,其特征在于:所述平行向量 即最小值点(X,Ymin)与(X,Ymin+Y)的向量。
5.根据权利要求1所述的基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,其特征在于:所述单片机的三自由度喂料结构模块的控制方法如下,
S21、采用复杂度较低、推理速度快的YOLOv5s网络模型进行改进,以便网络模型部署在云服务器,转移机器人本体的高算力任务至云端,降低移动机器人算力需求;
S22、利用realsense D455深度相机在不同光照和角度采集料槽图像数据,采集图像分辨率为640×360像素的图像6000张,图像格式为JPEG,使用可视化、开源标注工具LabelImg,以矩形框的方式对料槽(鸽笼两侧料槽)数据集进行人工标注,标注文件以.xml后缀格式进行存储,按照7:2:1的比例;
S33、将训练获得相应的权重和模型部署到云服务器上,通过压缩图像分辨率,有效提高了图像传输速度,开发多进程“料槽”目标识别与定位程序与云机器人本体控制器进行数据交互,云服务器上主要是识别“料槽”目标位置信息的服务端程序,云机器人本体的客户端程序主要是负责采集笼间道路数据、接收控制云机器人行走或停止数据、进行投喂动作等;
S34、云机器人通过视觉自主导航系统行走在鸽笼道路,云机器人两侧摄像头实时采集图像,上传到识别“料槽”位置信息的服务端程序,当识别到料槽并判断料槽是正常悬挂状态,如果是正常状态,则获取料槽矩形框的中心点(Xb,Yb),继续判断Xb是否在300像素至350像素之间,如果是在此区间,则发送指令让云机器人停止运动,准备开始投料作业;
S35、云机器人停止运动后,同时停止客户端程序上传料槽图像数据至服务端,接收服务端程序下发的料槽中心区域点集[(Xb1,Yb1),...,(Xbi,YbI)](i=4),依次计算每一个像素点在相机坐标系的位置信息,设像素点(Xbi,Ybi)的深度值为D(Xbi,Ybi),相机的内参(fx,fy,u0,v0)可通过相机标定获取,则该像素点在相机坐标系的计算公式如下式:
从而获得中心区域的相机相当料槽X轴值为 Z轴值为 并通过反正切函数等获取机械结构相应的偏转角度,并通过串口下发两侧目标相应的Z轴值与偏转角度到投喂机械结构的单片机主控,计算公式如下:
S36、单片机主控通过落料机构控制上、中、下料盒接料,依据偏转角度与Z轴值旋转一定角度、推杆伸长一定长度到达料槽上方开口处,并使末端料盒旋转一定角度进行投料动作,最后反向旋转到接料原点、推杆缩回到原点、末端料盒旋转回起点处。
6.根据权利要求5所述的基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,其特征在于:在YOLOv5s基础上采用Ghost-Shuffle Conv(GSConv)代替主干网络与颈部网络的传统卷积层,并精简了主干网络冗余的网络层;其次,在Spatial Pyramid Pooling-Fast(SPPF)模块中引入高效通道注意力机制Efficient Channel Attention(ECA),并在颈部网络中采用GhostBottleneck与Efficient Channel Attention(ECA)融合来替换C3模块,以减少参数量与计算量,实现网络轻量化,并提升对料槽的检测能力。
7.根据权利要求2或权利要求5所述的基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,其特征在于:按照7:2:1的比例分为训练集、验证集、测试集进行模型训练,例如训练集4200幅、验证集1200幅和测试集600幅。
8.根据权利要求5所述的基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,其特征在于:Xb在300像素至350像素之间用以保证云机器人的喂料结构接近料槽中心位置才停止。

说明书全文

基于深度学习机器人的低自由度肉鸽饲喂控制方法

技术领域

[0001] 本发明涉及饲喂技术领域,特别涉及基于深度学习与云机器人的低自由度肉鸽饲喂控制方法。

背景技术

[0002] 随着经济的快速发展,人民生活平的不断提高,因肉鸽具有营养价值高、美味、药用价值等,我国肉鸽行业逐渐发展壮大,但是目前肉鸽的养殖绝大多数依靠人工,生产效率低,且相应的劳动日益短缺,人工成本高,急需低成本、适应性强的智能化设备解决肉鸽养殖过程中存在的问题。
[0003] 目前,肉鸽养殖仍以人工饲养为主,在肉鸽养殖过程中,主要任务有饲喂、清洗料槽、清粪等,其中饲喂任务是最主要的,根据肉鸽的生活习性,每天喂料应坚持“少量多次”的原则,该饲喂任务的劳动力需求最大,但现有的畜禽类饲喂机器人大部分是在固定区域饲喂,不是移动式的饲喂机器人,缺乏适应性与智能性,大多数农业机器人是在本体上直接搭载工控机作为控制核心,虽功能齐全,但实际软硬件资源利用率并不高,为此,提出基于深度学习与云机器人的低自由度肉鸽饲喂控制方法。

发明内容

[0004] 有鉴于此,本发明实施例希望提供基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,以解决或缓解现有技术中存在的技术问题,至少提供一种有益的选择。
[0005] 本发明实施例的技术方案是这样实现的:基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,包括以下步骤:
[0006] S1、饲喂机器人在肉鸽养殖场笼间道路起点位置,进行进行上电,进行初步初始化,云服务器的服务端程序运行,并等待云机器人的客户端程序连接;
[0007] S2、云机器人客户端程序主动连接服务端程序,连接成功后,服务端程序分别加载识别料槽模型和识别笼间两侧支撑杆模型,使客户端程序与单片机主控进行投喂机构回到初始状态;
[0008] S3、云机器人通过自主视觉导航模,用于云机器人车体行进前方的相机实时采集图像数据,上传到识别笼间两侧支撑杆模型,提取笼间道路边缘点,并拟合出相应的导航中线,获取导航预瞄点下发到客户端程序进行偏航的计算,结合运动学模型控制云机器人,从而实现云机器人的视觉导航;
[0009] S4、云机器人两侧的相机实时采集图像数据,上传到云服务器的识别料槽模型中,判断料槽的中点是否在实时图像的中心区域,如果是,则发送停止运动的指令让云机器人停止行走,同时也发送料槽中心区域点集到客户端程序,客户端通过单片机的三自由度喂料结构模块进行实时计算并获得投喂结构需要运动的角度与长度;
[0010] S5、云机器人的单片机主控实时接收客户端的数据,控制落料机构分别给两侧的三个料盒下饲料,投喂机构转动一定角度与长度到达料槽开口处上方,末端转动角度投料到料槽中,完成投喂动作后,投喂结构回到初始状态;
[0011] S6、单片机主控发送信号使得云机器人车体前方相机继续工作,采集图像数据到云服务器的服务端程序,云机器人进行自主视觉导航,同时云机器人两侧相机也恢复工作状态,继续实时识别是否有料槽出现在图像中心区域;
[0012] S7、回到S3中,进行循环执行。
[0013] 在一些实施例中,所述自主视觉导航模块的控制方法如下,
[0014] S11、采用复杂度较低、推理速度快的YOLOv5s网络模型进行改进,以便网络模型部署在云服务器,转移机器人本体的高算力任务至云端,降低移动机器人算力需求;
[0015] S12、将realsense D455深度相机固定在云机器人上距地面高度约45cm、向下倾斜角度约30°的支架上,采集图像分辨率为640×360像素的图像6000张,图像格式为JPEG,使用可视化、开源标注工具LabelImg,以矩形框的方式对支撑杆(鸽笼两侧支撑杆)数据集进行人工标注,标注文件以.xml后缀格式进行存储,并分为训练集、验证集和测试集进行模型训练;
[0016] S13、将训练获得相应的权重和模型部署到云服务器上,通过压缩图像分辨率,有效提高了图像传输速度,开发多进程“支撑杆”目标识别程序与云机器人本体控制器进行数据交互,云服务器上主要是识别“支撑杆”目标的服务端程序,云机器人本体主要是负责采集笼间道路信息与接收控制信息的客户端程序;
[0017] S14、经改进模型检测出的支撑杆目标框为n个(n大于2),且每个目标识别矩形框右下角的图像像素坐标为(Xi,Yi),并构成识别框右下坐标点集[(X1,Y1),(X2,Y2),…,(Xn,Yn)]rb,i=1,2,…,n;
[0018] 首先根据像素值对Yi进行由小到大排序,获取最小值点(X,Ymin),构造y轴方向的平行向量 分别计算识别框右下坐标点集中每一个点与最小值点的向量 最后求取出与 的夹角θ,当夹角θ大于0时,该点为右边缘点,否则为左边缘点,计算公式如下,[0019]
[0020] 根据上述公式得出的夹角θ判断出左右边缘点集,从相应的点集中分别取左右边缘点集中靠近最小值点(X,Ymin)的左边缘点(Xl,Yl)、右边缘点集(Xr,Yr),并采用向量模长公式分别计算两向量 的模长。当 大于 时,最小值点(Xmin,Ymin)为右边缘点,否则该最小值点为左边缘点,计算公式如下,
[0021]
[0022] 为了使边缘点更接近实际支撑杆目标位置,调整右下目标检测框的左下点为边缘点,左边缘点、右边缘点集中以底边中点坐标为边缘点坐标(保留左下框识别点与右下框识别点);
[0023] 经过上述步骤,可获得左右目标识别点集分别为[(X1,Y1),(X2,Y2),…,(Xn,Yn)]r、[(X1,Y1),(X2,Y2),…,(Xn,Yn)]l,通过右边缘点集、左边缘点集拟合得到通道边缘的点斜式方程为,
[0024] y=ax+b
[0025]
[0026]
[0027] 式中, 表示目标识别矩阵中识别点的所有X点的平均值,即Xmid;
[0028] 表示目标识别矩阵中识别点的所有Y点的平均值;
[0029] 通过获得左右边缘点拟合出相应点斜式方程,可设定导航点的感兴趣区域为Y方向的60像素至240像素,再间隔15像素与左右边缘点的点斜式方程获取通道的中心点坐标,并采用最小二乘法拟合出导航线;
[0030] S15、云机器人的客户端程序采用多进程方式高效处理服务端下发的数据,并将导航点回传到移动机器人的底层控制器,并结合运动学模型,实现其行走方向的持续调整,即完成云机器人的自主视觉导航。
[0031] 在一些实施例中,在YOLOv5s基础上采用Ghost-Shuffle Conv(GSConv)代替主干网络与颈部网络的传统卷积层,并精简了主干网络冗余的网络层,其次,在Spatial Pyramid Pooling-Fast(SPPF)模块中引入高效通道注意力机制Efficient Channel Attention(ECA),并在颈部网络中采用GhostBottleneck与Efficient Channel Attention(ECA)融合来替换C3模块,以减少参数量与计算量,实现网络轻量化,并提升对支撑杆的检测能力。
[0032] 在一些实施例中,所述平行向量 即最小值点(X,Ymin)与(X,Ymin+Y)的向量。
[0033] 在一些实施例中,所述单片机的三自由度喂料结构模块的控制方法如下,[0034] S21、采用复杂度较低、推理速度快的YOLOv5s网络模型进行改进,以便网络模型部署在云服务器,转移机器人本体的高算力任务至云端,降低移动机器人算力需求;
[0035] S22、利用realsense D455深度相机在不同光照和角度采集料槽图像数据,采集图像分辨率为640×360像素的图像6000张,图像格式为JPEG,使用可视化、开源标注工具LabelImg,以矩形框的方式对料槽(鸽笼两侧料槽)数据集进行人工标注,标注文件以.xml后缀格式进行存储,按照7:2:1的比例;
[0036] S33、将训练获得相应的权重和模型部署到云服务器上,通过压缩图像分辨率,有效提高了图像传输速度,开发多进程“料槽”目标识别与定位程序与云机器人本体控制器进行数据交互,云服务器上主要是识别“料槽”目标位置信息的服务端程序,云机器人本体的客户端程序主要是负责采集笼间道路数据、接收控制云机器人行走或停止数据、进行投喂动作等;
[0037] S34、云机器人通过视觉自主导航系统行走在鸽笼道路,云机器人两侧摄像头实时采集图像,上传到识别“料槽”位置信息的服务端程序,当识别到料槽并判断料槽是正常悬挂状态,如果是正常状态,则获取料槽矩形框的中心点(Xb,Yb),继续判断Xb是否在300像素至350像素之间,如果是在此区间,则发送指令让云机器人停止运动,准备开始投料作业;
[0038] S35、云机器人停止运动后,同时停止客户端程序上传料槽图像数据至服务端,接收服务端程序下发的料槽中心区域点集[(Xb1,Yb1),...,(Xbi,YbI)](i=4),依次计算每一个像素点在相机坐标系的位置信息,设像素点(Xbi,Ybi)的深度值为D(Xbi,Ybi),相机的内参(fx,fy,u0,v0)可通过相机标定获取,则该像素点在相机坐标系的计算公式如下式:
[0039]
[0040] 从而获得中心区域的相机相当料槽X轴值为 Z轴值为 并通过反正切函数等获取机械结构相应的偏转角度,并通过串口下发两侧目标相应的Z轴值与偏转角度到投喂机械结构的单片机主控,计算公式如下:
[0041]
[0042] S36、单片机主控通过落料机构控制上、中、下料盒接料,依据偏转角度与Z轴值旋转一定角度、推杆伸长一定长度到达料槽上方开口处,并使末端料盒旋转一定角度进行投料动作,最后反向旋转到接料原点、推杆缩回到原点、末端料盒旋转回起点处。
[0043] 在一些实施例中,在YOLOv5s基础上采用Ghost-Shuffle Conv(GSConv)代替主干网络与颈部网络的传统卷积层,并精简了主干网络冗余的网络层;其次,在Spatial Pyramid Pooling-Fast(SPPF)模块中引入高效通道注意力机制Efficient Channel Attention(ECA),并在颈部网络中采用GhostBottleneck与Efficient Channel Attention(ECA)融合来替换C3模块,以减少参数量与计算量,实现网络轻量化,并提升对料槽的检测能力。
[0044] 在一些实施例中,按照7:2:1的比例分为训练集、验证集、测试集进行模型训练,例如训练集4200幅、验证集1200幅和测试集600幅。
[0045] 在一些实施例中,Xb在300像素至350像素之间用以保证云机器人的喂料结构接近料槽中心位置才停止。
[0046] 本发明实施例由于采用以上技术方案,其具有以下优点:
[0047] 一、本发明通过采用云计算、低自由度的饲喂结构,降低控制算力需求与减少投喂动作过程时间,并结合深度学习、云服务器、无线通信、单片机等技术进行自主视觉导航,实现云机器人在笼间导航行走,智能识别定位料槽位置并准确快速完成自动投喂饲料的功能,该肉鸽饲喂云机器人具有适用性强、效率高、低成本等优点。
[0048] 二、本发明通过基于深度学习、云计算、无线通信等技术,实现了云机器人在肉鸽养殖场的自主视觉导航、自动饲喂的功能,克服了农业机器人一般需搭载高算力智能终端的瓶颈问题,该肉鸽饲喂云机器人本体只需处理低算力数据传输与接收任务,高算力需求任务转移到云服务器,实现了云服务器的高效利用,也便于接入多台饲喂机器人进行多机协同作业,采用低自由度、简单的投喂机构实现自动喂料,无需人工干预,降低生产成本,可实现“多次少量”的喂料目标,基于云机器人的多机饲喂协同生产作业提供了技术途径。
[0049] 上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

[0050] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051] 图1为本发明采集支撑杆图像数据环境图;
[0052] 图2为本发明导航线提取简要示意图;
[0053] 图3为本发明采集料槽图像数据环境图;
[0054] 图4为本发明改进网络模型结构图;
[0055] 图5为本发明整体结构图(不带储料箱3D图);
[0056] 图6为本发明整体结构图(带储料箱3D图);
[0057] 图7为本发明整体结构图(带储料箱3D图);
[0058] 图8为本发明机器人现场调试图;
[0059] 图9为本发明基于单片机的低自由度喂料结构控制核心(3D图和实物图)。

具体实施方式

[0060] 在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
[0061] 需要注意的是,术语“第一”、“第二”、“对称”、“阵列”等仅用于区分描述与位置描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“对称”等特征的可以明示或者隐含地包括一个或者更多个该特征;同样,对于未以“两个”、“三只”等文字形式对某些特征进行数量限制时,应注意到该特征同样属于明示或者隐含地包括一个或者更多个特征数量;
[0062] 在本发明中,除非另有明确的规定和限定,“安装”、“连接”、“固定”等术语应做广义理解;例如,可以是固定连接,也可以是可拆卸连接,或一体成型;可以是机械连接,可以是直接相连,可以是焊接,也可以是通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据说明书附图结合具体情况理解上述术语在本发明中的具体含义。
[0063] 下面结合附图对本发明的实施例进行详细说明。
[0064] 如图1-图4所示,本发明实施例提供了基于深度学习与云机器人的低自由度肉鸽饲喂控制方法,包括以下步骤:
[0065] S1、饲喂机器人在肉鸽养殖场笼间道路起点位置,进行进行上电,进行初步初始化,云服务器的服务端程序运行,并等待云机器人的客户端程序连接;
[0066] S2、云机器人客户端程序主动连接服务端程序,连接成功后,服务端程序分别加载识别料槽模型和识别笼间两侧支撑杆模型,使客户端程序与单片机主控进行投喂机构回到初始状态;
[0067] S3、云机器人通过自主视觉导航模块,用于云机器人车体行进前方的相机实时采集图像数据,上传到识别笼间两侧支撑杆模型,提取笼间道路边缘点,并拟合出相应的导航中线,获取导航预瞄点下发到客户端程序进行偏航角的计算,结合运动学模型控制云机器人,从而实现云机器人的视觉导航;
[0068] S4、云机器人两侧的相机实时采集图像数据,上传到云服务器的识别料槽模型中,判断料槽的中点是否在实时图像的中心区域,如果是,则发送停止运动的指令让云机器人停止行走,同时也发送料槽中心区域点集到客户端程序,客户端通过单片机的三自由度喂料结构模块进行实时计算并获得投喂结构需要运动的角度与长度;
[0069] S5、云机器人的单片机主控实时接收客户端的数据,控制落料机构分别给两侧的三个料盒下饲料,投喂机构转动一定角度与长度到达料槽开口处上方,末端转动角度投料到料槽中,完成投喂动作后,投喂结构回到初始状态;
[0070] S6、单片机主控发送信号使得云机器人车体前方相机继续工作,采集图像数据到云服务器的服务端程序,云机器人进行自主视觉导航,同时云机器人两侧相机也恢复工作状态,继续实时识别是否有料槽出现在图像中心区域;
[0071] S7、回到S3中,进行循环执行。
[0072] 本实施例中,具体的,自主视觉导航模块的控制方法如下,
[0073] S11、采用复杂度较低、推理速度快的YOLOv5s网络模型进行改进,以便网络模型部署在云服务器,转移机器人本体的高算力任务至云端,降低移动机器人算力需求;
[0074] S12、如图1,将realsense D455深度相机固定在云机器人上距地面高度约45cm、向下倾斜角度约30°的支架上,采集图像分辨率为640×360像素的图像6000张,图像格式为JPEG,使用可视化、开源标注工具LabelImg,以矩形框的方式对支撑杆(鸽笼两侧支撑杆)数据集进行人工标注,标注文件以.xml后缀格式进行存储,并分为训练集、验证集和测试集进行模型训练;
[0075] S13、将训练获得相应的权重和模型部署到云服务器上,通过压缩图像分辨率,有效提高了图像传输速度,开发多进程“支撑杆”目标识别程序与云机器人本体控制器进行数据交互,云服务器上主要是识别“支撑杆”目标的服务端程序,云机器人本体主要是负责采集笼间道路信息与接收控制信息的客户端程序;
[0076] S14、经改进模型检测出的支撑杆目标框为n个(n大于2),且每个目标识别矩形框右下角的图像像素坐标为(Xi,Yi),并构成识别框右下坐标点集[(X1,Y1),(X2,Y2),…,(Xn,Yn)]rb,i=1,2,…,n;
[0077] 首先根据像素值对Yi进行由小到大排序,获取最小值点(X,Ymin),构造y轴方向的平行向量 分别计算识别框右下坐标点集中每一个点与最小值点的向量 最后求取出与 的夹角θ,当夹角θ大于0时,该点为右边缘点,否则为左边缘点,计算公式如下,[0078]
[0079] 根据上述公式得出的夹角θ判断出左右边缘点集,从相应的点集中分别取左右边缘点集中靠近最小值点(X,Ymin)的左边缘点(Xl,Yl)、右边缘点集(Xr,Yr),并采用向量模长公式分别计算两向量 的模长。当 大于 时,最小值点(Xmin,Ymin)为右边缘点,否则该最小值点为左边缘点,计算公式如下,
[0080]
[0081] 为了使边缘点更接近实际支撑杆目标位置,调整右下目标检测框的左下点为边缘点,左边缘点、右边缘点集中以底边中点坐标为边缘点坐标(保留左下框识别点与右下框识别点);
[0082] 经过上述步骤,可获得左右目标识别点集分别为[(X1,Y1),(X2,Y2),…,(Xn,Yn)]r、[(X1,Y1),(X2,Y2),…,(Xn,Yn)]l,通过右边缘点集、左边缘点集拟合得到通道边缘的点斜式方程为,
[0083] y=ax+b
[0084]
[0085]
[0086] 式中, 表示目标识别矩阵中识别点的所有X点的平均值,即Xmid;
[0087] 表示目标识别矩阵中识别点的所有Y点的平均值;
[0088] 通过获得左右边缘点拟合出相应点斜式方程,可设定导航点的感兴趣区域为Y方向的60像素至240像素,再间隔15像素与左右边缘点的点斜式方程获取通道的中心点坐标,并采用最小二乘法拟合出导航线,如图2;
[0089] S15、云机器人的客户端程序采用多进程方式高效处理服务端下发的数据,并将导航点回传到移动机器人的底层控制器,并结合运动学模型,实现其行走方向的持续调整,即完成云机器人的自主视觉导航。
[0090] 本实施例中,具体的,在YOLOv5s基础上采用Ghost-Shuffle Conv(GSConv)代替主干网络与颈部网络的传统卷积层,并精简了主干网络冗余的网络层,其次,在Spatial Pyramid Pooling-Fast(SPPF)模块中引入高效通道注意力机制Efficient Channel Attention(ECA),并在颈部网络中采用GhostBottleneck与Efficient Channel Attention(ECA)融合来替换C3模块,以减少参数量与计算量,实现网络轻量化,并提升对支撑杆的检测能力。
[0091] 本实施例中,具体的,平行向量 即最小值点(X,Ymin)与(X,Ymin+Y)的向量。
[0092] 本实施例中,具体的,单片机的三自由度喂料结构模块的控制方法如下,[0093] S21、采用复杂度较低、推理速度快的YOLOv5s网络模型进行改进,以便网络模型部署在云服务器,转移机器人本体的高算力任务至云端,降低移动机器人算力需求;
[0094] S22、如图3,利用realsense D455深度相机在不同光照和角度采集料槽图像数据,采集图像分辨率为640×360像素的图像6000张,图像格式为JPEG,使用可视化、开源标注工具LabelImg,以矩形框的方式对料槽(鸽笼两侧料槽)数据集进行人工标注,标注文件以.xml后缀格式进行存储,按照7:2:1的比例;
[0095] S33、将训练获得相应的权重和模型部署到云服务器上,通过压缩图像分辨率,有效提高了图像传输速度,开发多进程“料槽”目标识别与定位程序与云机器人本体控制器进行数据交互,云服务器上主要是识别“料槽”目标位置信息的服务端程序,云机器人本体的客户端程序主要是负责采集笼间道路数据、接收控制云机器人行走或停止数据、进行投喂动作等;
[0096] S34、云机器人通过视觉自主导航系统行走在鸽笼道路,云机器人两侧摄像头实时采集图像,上传到识别“料槽”位置信息的服务端程序,当识别到料槽并判断料槽是正常悬挂状态,如果是正常状态,则获取料槽矩形框的中心点(Xb,Yb),继续判断Xb是否在300像素至350像素之间,如果是在此区间,则发送指令让云机器人停止运动,准备开始投料作业;
[0097] S35、云机器人停止运动后,同时停止客户端程序上传料槽图像数据至服务端,接收服务端程序下发的料槽中心区域点集[(Xb1,Yb1),...,(Xbi,YbI)](i=4),依次计算每一个像素点在相机坐标系的位置信息,设像素点(Xbi,Ybi)的深度值为D(Xbi,Ybi),相机的内参(fx,fy,u0,v0)可通过相机标定获取,则该像素点在相机坐标系的计算公式如下式:
[0098]
[0099] 从而获得中心区域的相机相当料槽X轴值为 Z轴值为 并通过反正切函数等获取机械结构相应的偏转角度,并通过串口下发两侧目标相应的Z轴值与偏转角度到投喂机械结构的单片机主控,计算公式如下:
[0100]
[0101] S36、单片机主控通过落料机构控制上、中、下料盒接料,依据偏转角度与Z轴值旋转一定角度、推杆伸长一定长度到达料槽上方开口处,并使末端料盒旋转一定角度进行投料动作,最后反向旋转到接料原点、推杆缩回到原点、末端料盒旋转回起点处。
[0102] 本实施例中,具体的,在YOLOv5s基础上采用Ghost-Shuffle Conv(GSConv)代替主干网络与颈部网络的传统卷积层,并精简了主干网络冗余的网络层;其次,在Spatial Pyramid Pooling-Fast(SPPF)模块中引入高效通道注意力机制Efficient Channel Attention(ECA),并在颈部网络中采用GhostBottleneck与Efficient Channel Attention(ECA)融合来替换C3模块,以减少参数量与计算量,实现网络轻量化,并提升对料槽的检测能力。
[0103] 本实施例中,具体的,按照7:2:1的比例分为训练集、验证集、测试集进行模型训练,例如训练集4200幅、验证集1200幅和测试集600幅。
[0104] 本实施例中,具体的,Xb在300像素至350像素之间用以保证云机器人的喂料结构接近料槽中心位置才停止。
[0105] 本实施例中,具体的,基于该方法实行的方式如下,
[0106] 由四轮轮式小车、轻质制固定框架、双平行滑轨滑块机构、升降L型伺服电机安装板、滚珠丝杆伺服机构、高精度伺服推杆安装底座、高精度伺服推杆、末端执行伺服机构、末端料盒、集中式饲料分配管路、饲料传送带、饲料下料控制机构、饲料分配槽、储料箱等组成。
[0107] 四轮轮式为饲料喂投机构的基础承载载具,由主体负重承载框架,双a型叉臂式独立悬挂,传动轴驱动电机驱动轮组成。驱动轮通过驱动轮的花键控与传动轴半轴处花键进行连接,并通过传动轴末端羊角进行轮子的自由度限制,双a型叉臂底部与主体负重承载框架连接,其动力传递形式为内置电机通过二级减速齿轮箱减速,与联轴器与传动轴进行连接,以实现电机驱动外部驱动轮的结构。轻质铝制固定框架固定于车体的主体负重承载框架上端,通过螺栓进行连接、轻质铝制固定框架负责为肉鸽喂投机构提供安装框架,其由铝型材进行搭建,侧边有多根铝型材实现安装低自由度投喂结构的目的。
[0108] 双平行滑轨等机构分别固定车体上部框架两侧,以提供双侧同时的饲料喂投动作,并为肉鸽饲喂投机构提供除y轴竖向移动自由度以外的自由度控制。
[0109] 滚珠丝杆伺服机构安装于双平行滑轨滑块机构内侧,滚珠丝杆伺服机构滑块固定于升降L型伺服电机安装板为其提供精确伺服控制。
[0110] 本实施例中,具体的,该云机器人本体不需搭载高算力计算设备,只需负责采集相应的目标数据并与云服务器的总控制程序进行交互,主要计算任务转移到云服务,提升边缘设备使用效率,降低机器人的成本,方便多台饲喂机器人同时作业,可实现肉鸽的智能化、自动化生产养殖。通过云服务的视觉识别系统进行笼间道路边缘的提取,达到底盘车的自主视觉导航的目标;通过云服务的视觉识别系统识别目标料槽的位置信息,接收位置信息后,单片机控制三自由度机械结构完成投料任务;饲喂机器人通过云服务器获取每一个鸽笼所需饲料量进行相应投喂,饲喂完成后上传信息到云服务器,实现整个饲喂过程的智能控制与可视化显示,方便相应数据的实时查看与统计分析。
[0111] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
QQ群二维码
意见反馈