地瓜机器人 · 2月21日

手搓网球捡拾机器人:RDK X3带你轻松解锁球场黑科技

一、项目介绍:

本项目致力于打造一款智能网球捡发服务型机器人,帮助提升网球场上的捡球效率,让运动员专注训练的同时,减少人工成本。机器人将具备自主捡球、精准发球和智能定位等核心功能,让捡球变得更高效、更聪明!——兰州交通大学-无尽妙想云团队

二、研究重点:

聪明规划,精准定位

我们采用麻雀算法优化栅格地图,让机器人能以最短路径迅速穿梭球场,灵活避开障碍物,提高捡球效率。同时,结合AMCL(自适应蒙特卡洛定位)算法,减少因定位误差导致的地图失真风险。为了让机器人在完全未知的环境中也能游刃有余,我们研究SLAM算法,使其在移动过程中实时构建地图并精准定位自身位置,让“迷路”成为过去式!

捡球快、准、稳,发球一气呵成

依托国产软硬件平台,我们将主流目标检测算法与ROS机器人操作系统结合,实现捡球与发球一体化智能运作。在机械结构方面,采用创新型收球框+丝杆传输系统,确保网球被精准收集后,顺畅地输送至螺旋上升装置。这套巧妙的设计让机器人边移动边高效捡球,无需停顿,实时锁定目标,确保每一次捡球又快又准!

打造智能模型,自动驾驶演示

组装全新智能网球机器人,并搭载自动驾驶功能,让它真正“活”起来!我们将对机器人进行动态演示,全面测试其在球场上的智能表现,确保它能够稳健执行捡球与发球任务。

升级轮式运动控制,让机器人更聪明

传统PID控制算法已经过时?没关系,我们来优化!采用分层控制策略,在纵向控制中加入RBF神经网络,赋予机器人自学习能力,让它能自主优化运动轨迹,提高控制精度。同时,搭配OpenMV摄像头实时监测路况,编码器电机精准测速,超声波雷达反馈周围距离信息,让机器人在复杂环境中依然能够灵活穿梭,稳定捡球!
 title=
 title=

三、特色与创新

3.1.1 机器视觉与自主巡航:精准锁定网球

本项目聚焦机器视觉与自主巡航技术的融合,赋予机器人精准的网球定位能力,让它不仅能“看见”网球,还能聪明地追踪并拾取。

如何做到精准定位?

慧眼识球 —— 机器人搭载训练好的视觉模型,利用卷积神经网络(CNN)等算法,精准识别网球的形状、颜色和位置,确保不会错过任何一个球!

  • 实时追踪 —— 机器视觉系统能够持续锁定网球轨迹,分析其位置、速度和加速度,提前预测球的落点,让机器人行动更快、更精准。
  • 深度学习赋能 —— 结合深度学习技术,机器人能更聪明地理解球的运动模式,提高识别稳定性,面对复杂环境也能游刃有余。
  • 自主巡航 —— 机器人根据视觉信息和传感器数据,自主规划路径,灵活避障,始终保持在最佳位置,确保高效捡球。
  • 智能反馈控制 —— 机器人通过持续获取视觉反馈,动态调整自身位置与移动策略,做到精准锁定、快速响应。

 title=
 title=

3.1.2 轮式机器人运动控制:多传感器融合,精准操控

轮式机器人在复杂环境中运动,受非线性和时变因素影响,单靠单一传感器难以精准掌控。为此,我们采用多传感器融合技术,让机器人具备更强的环境感知与决策能力。

通过整合多种传感器数据,机器人能全方位感知周围环境,实时监测自身状态,确保运动控制既精准又稳定,让它在球场上行动自如,灵活应对各种挑战!

3.1.3 3D打印赋能:快速打造智能机器人

本项目使用SolidWorks建模,自主设计轮式机器人遥控器外壳、车身结构及螺旋柱框架,并借助3D打印技术将设计变为现实。

结合铝型材、中空钢管等金属材料,完成机器人框架、螺旋柱和物料盘的组装。3D打印不仅满足复杂形态与尺寸定制需求,还大幅提升制造精度与效率,让机器人更轻盈、更坚固、更智能!

3.1.4 融合PCB制版技术助力实物制造

本项目对轮式机器人遥控器的PCB电路部分进行了自主设计和制版,并进行了样板打样。这种集成PCB技术的遥控器具有多项优势:

  • 电气性能优化: 自主设计的PCB确保了电路布局精确,消除了电气干扰,提高了遥控器的可靠性和安全性。
  • 集成度提升: 集成度高,减少了外部组件,优化了体积和重量,使遥控器更加紧凑、轻便,便于携带和操作。
  • 易用性: 自主设计无需额外学习,降低了用户的使用门槛,提升了易用性。

该遥控器的设计不仅在轮式机器人控制中取得成功,也为其他机器人控制领域提供了借鉴,预计随着技术的进步,能够在更广泛的领域得到推广应用。

3.1.5 双模式控制适应复杂环境

自动模式: 机器人采用全局遍历算法,通过摄像头和超声波传感器信息,避开障碍物(如运动员和防护网),确保正常训练,并通过算法遍历场地,完成网球的收集。
手动模式: 通过遥控器控制机器人行进,适用于复杂区域或突发情况,采用NRF模块和Barsa板,以确保在干扰较大时机器人能够正常工作。

3.2 创新点

3.2.1 依托人工智能算法,实现自动巡回功能

采用人工智能算法优化机器人行为,分析周围环境数据,自主构建策略库,选择最佳路径,避免绕行,提高工作效率。同时,机器人综合考虑任务优先级和能源消耗,减少人工干预,降低巡回成本。

3.2.2 激光雷达自主巡航技术提升安全性与稳定性

引入激光雷达传感器实现自动避障,实时监测环境,确保机器人在复杂环境中安全稳定运行。机器人能够根据环境变化自动调整,避开障碍物并继续工作,提高了安全性和稳定性。

3.2.3 采用丝杆与弹力框网球拾取方式

相比传统的机械臂拾取方式,本项目采用丝杆与弹力框技术,降低了维护成本,并提高了拾球效率。丝杆技术减少机械部件的损耗,弹力框使机器人能灵活移动,适应不同的任务环境,适合预算有限的用户。

3.2.4 电动摩擦轮发球技术:精准高效,稳定发射

本项目采用双伺服电机驱动的旋转摩擦轮,打造高效稳定的网球发射系统。
当网球进入高速旋转的摩擦轮之间,会受到挤压与摩擦力的双重作用,被迅速加速并精准发射。该设计不仅结构简单可靠,还能精准控制发球频率与速度,确保网球发射的稳定性,为训练者提供多样化、可调节的发球模式,助力高效训练!

3.2.5 雷达三维建图:精准感知,智能导航

本项目采用3D激光雷达进行数据采集,通过特征点扫描匹配与非线性优化精确估算机器人运动状态。

激光里程计的输出数据与地图实时匹配,包括直线匹配与平面匹配,确保机器人精准定位,无需额外回环检测,助力高效智能导航!

激光三维雷达建图:精准感知,全景探索

  • 1️⃣ 传感器布置:合理安装3D激光雷达,确保从多个角度全方位扫描环境,采集高精度数据。
  • 2️⃣ 数据采集:启动雷达,获取目标区域的三维点云数据,记录环境中每个点的精确位置。
  • 3️⃣ 数据预处理:对点云数据进行清理和优化,提取关键特征,如障碍物、建筑物等,确保信息清晰。
  • 4️⃣ 建图算法:利用SLAM技术,将传感器数据转化为高精度环境地图,同时实现机器人精准定位。
  • 5️⃣ 地图优化与应用:优化地图精度,存储数据,并用于导航、路径规划、环境监测等智能任务,让机器人行动更高效!

四、功能设计

4.1 网球识别:YOLOv5让捕捉高速网球更精准

利用YOLOv5进行网球识别,是深度学习与计算机视觉的强强结合,能够精准锁定网球位置,即便是高速飞行的球也能轻松捕捉。整个流程涵盖数据准备、环境配置、模型训练、优化调整及效果评估,确保识别高效、精准。

  • ✅ 数据准备:多样化的数据集是训练高性能模型的关键。涵盖不同运动场景、光照条件、轨迹变化的数据,能让模型适应各种复杂情况,提升泛化能力。
  • ✅ 环境配置:选用合适的硬件设备、深度学习框架及优化工具,确保训练过程高效流畅,发挥最大计算性能。
  • ✅ 模型训练:通过调整超参数、优化损失函数、数据增强等手段,使模型深度学习网球特征,提升识别精度。
  • ✅ 优化与评估:不断调整网络结构、优化超参数、测试多种数据集,确保识别的准确性和稳定性,优化实际应用效果。

YOLOv5 以高帧率处理能力见长,能精准适应多场景需求,为体育赛事、智能训练等提供强大的技术支撑,让网球识别更加智能高效

4.2 双控制模式

双控制模式包括自动模式和手动模式,让机器人既能自动执行任务,也能在需要时由人工控制。

自动模式:机器人使用全局遍历算法自动扫场,通过摄像头和超声波传感器获取场地信息,避开运动员和障碍物,确保不干扰训练,且能覆盖整个网球场,保证网球的完全收集。
手动模式:使用遥控器控制机器人,在复杂区域或遇到意外时进行干预调整。控制器通过NRF模块和Barsa板,提高在干扰环境中的稳定性和灵活性。

4.3 多模式发球

该发球模块支持上旋、下旋、侧旋等多种发球方式,并可调节摩擦轮速度和速度差,以改变球的弧线和频率,实现可控的发球落点和个性化发球。

通过压电加速度传感器,系统获取并处理网球的落点信号,确保准确性并实现定点发球。此设计让球员能精确控制发球的旋转和落点,提高训练与比赛中的技术水平与战术应变能力。

4.3.1 定点顺序发球

球员可从28个发球定位点中选择,并按顺序安排这些点,使发球模块依次执行。此系统增强了发球的灵活性和战术性,为训练和比赛增添变化与挑战,有助于提升球员的技术和应变能力。

4.3.2 定点随机发球

用户可以从28个发球点中选择目标,并让系统随机选择发球点位进行发球。此系统模拟比赛中的多变发球场景,帮助球员提升应对不同发球方向和旋转的能力。通过随机发球,训练更加多样化和有趣,促进发球技术和应变能力的提高。

此外,教练可以根据球员需求设置不同的随机发球方案,提升训练效果,帮助球员更好地适应比赛中的挑战,并激发他们的学习动力。

4.3.3 自定义发球

这款智能发球机支持手机端调节发球的力度、弧度、转速和频率等参数。用户通过手机轻松控制,无需专业调试,节省时间和人力。手机端控制不仅提高了操作便利性,还能根据个人需求快速调整发球设置,提升训练和比赛准备效率。此创新的智能控制方式使训练更加个性化,增强了用户体验并提供了更多训练选择。

4.3.4 PCB制版技术

本团队设计并制作了轮式机器人遥控器的PCB电路,显著提高了电路的稳定性、安全性和集成度。自制的电路使遥控器更小巧、易于维护,并优化了能效管理。这提升了产品的可靠性和用户体验,减少了学习电路知识的需求,为用户提供了更高效、更稳定的操作体验。

4.3.5 半场裁判车

功能
监督比赛: 负责确保比赛有序进行,运动员遵守规则和裁判判决。
裁决比赛局: 负责判断球员动作,如球是否出界或犯规等。
记录比分: 记录每一局的比分,确保准确性。

做法
就位: 裁判车通常位于底线附近,方便观察球员动作和球的落点。
观察球: 观察球员击球和球的落点,确保做出准确判决。
发出判决: 判断球是否出界、打中网等,做出相应裁决。
标记得分: 报出分数并记录。
处理申诉: 如果球员有异议,裁判车会向上级裁判报告并处理。
半场裁判车通过准确裁决和记录,为比赛提供公平、公正的环境。

五、系统实现

5.1 系统总架构

本系统采用本地开发与云端监控结合的软硬件集成方案。感知层使用地平线摄像头模组、超声波雷达和三维雷达建图模组,实现自动驾驶和网球掉落监测,确保迅速捡起网球。控制层采用RDK X3主控,处理采集到的数据。该方案提升了系统智能化水平,增强了自动驾驶精度和可靠性,确保高效、安全的网球捡拾操作。

5.2 软件开发应用

5.2.1 掉落网球识别模型

为解决网球在不同光照下的颜色变化问题,本项目采用OpenCV中的HSV颜色空间进行图像处理。由于网球在BGR颜色空间下颜色不均,难以准确分割,HSV颜色空间提供了更好的解决方案。HSV使用三个参数表示颜色:

  • 色调(Hue):表示颜色的种类,用角度度量,范围为0°到360°。在OpenCV中,范围为0至180,0°为红色,120°为绿色,240°为蓝色。
  • 饱和度(Saturation):表示颜色接近光谱色的程度,范围为0至255。值越大,颜色越饱和,越接近原色;值越小,颜色越接近白色。
  • 明度(Value):表示颜色的亮度,范围从0(黑色)到255(白色)。值越大,颜色越明亮。

在HSV颜色空间中,网球的色调集中在某个狭窄的区间。通过保留这一色调区间,并调整饱和度和明度,能够从图像中准确提取出网球。通过这种方法,可以有效应对光照变化,提升网球识别的准确性。

5.2.2 轮式机器人的姿态控制

在姿态控制中,粒子群算法(PSO)与Simulink模型之间的连接通过粒子(PID控制器的参数)和对应的适应值(控制系统的性能指标)来实现。优化过程如下:

  • PSO生成粒子群,粒子可以是初始化的或更新后的。
  • 将每个粒子的参数(Kp、Ki、Kd)传递给PID控制器。
  • 使用Simulink模型运行控制器,得到对应的性能指标。
  • 该性能指标反馈到PSO,作为粒子的适应值。
  • 判断是否满足退出条件,若满足,则结束优化。
  • 这一过程通过不断优化PID控制器的参数,提升轮式机器人的姿态控制性能。

粒子群算法中速度和位置是根据下面两个公式进行更新
 title=
其中,x表示粒子的位置;v表示粒子的速度;ω为惯性因子;c1、c2为加速度常数;r1、r2为[0,1]区间的随机数;Pt是粒子迄今为止搜索到的最优为止;Gt是整个粒子群迄今为止搜索到的最优为止。

PSO的流程如下:

  • 1.初始化粒子群,随机产生所有粒子的位置和速度,并确定粒子的Pt和Gt。
  • 2.对每个粒子,将其适应值与该粒子所经历过的最优位置Pt的适应值进行比较,若较好,则将其作为当前的Pt。
  • 3.对每个粒子,将其适应值与整个粒子群所经历过的最优位置Gt的适应值进行比较,若较好,则将其作为当前的Gt。
  • 4.按照上面的公式进行速度和位置的更新。
  • 5.如果没有满足终止条件(通常为预设的最大迭代次数和适应值下限值),则返回步骤2;否则,推出算法,得到最优解。

由公式可知:通过姿态和速度传感器测量到实时数据后,通过当前测量数据和上一次测量数据计算出误差,给定一定大小KP(比例),KI(积分),KD(微分)三个影响因子的值,引入速度环和位置环,利用串级PID实时调整车辆姿态,使车辆在一定空间内趋于相对平稳的状态。

举例说明:在自动驾驶中引入PID的好处在于,使用常规开环手段控制机器人时,当检测到网球前方有障碍物机器人要进行转向时,会由于速度,障碍物距离等因素发生转向过冲现象,往往发生这种现象的结果是致命的,极有可能影响其他运动员的活动,引发事故。引入PID闭环控制后,在发生此类现象后,KD因子发挥作用,抑制过冲现象,并在纵向层面配合RBF神经网络瞬时降低车速和规划路径,从而避免危险发生。代码如下:

  1. import time
  2. class PIDController:
  3. def init(self, Kp, Ki, Kd, setpoint):
  4. self.Kp = Kp
  5. self.Ki = Ki
  6. self.Kd = Kd
  7. self.setpoint = setpoint
  8. self.error = 0
  9. self.integral = 0
  10. self.derivative = 0
  11. self.last\_error = 0
  12. def update(self, feedback\_value):
  13. self.error = self.setpoint - feedback\_value
  14. self.integral += self.error
  15. self.derivative = self.error - self.last\_error
  16. self.last\_error = self.error
  17. return (self.Kp self.error) + (self.Ki self.integral) + (self.Kd * self.derivative)
  18. def get\_current\_attitude():
  19. 获取传感器数据
  20. 实际应用中,这里应返回传感器测量的姿态值
  21. 例如,可以通过陀螺仪或加速度计获取姿态角度
  22. return 0 示例:假设初始姿态为0度
  23. def apply\_control\_to\_robot(control):
  24. 将控制量应用到机器人
  25. 实际应用中,这里应设置电机的转速或功率
  26. print(f"Applying control: {control}")
  27. 示例:可以将控制量转换为电机控制信号
  28. 初始化PID控制器
  29. pid = PIDController(Kp=0.1, Ki=0.01, Kd=0.05, setpoint=90) # 设置PID参数和期望姿态
  30. 主控制循环
  31. while True:
  32. 从传感器中获取当前姿态
  33. feedback\_value = get\_current\_attitude()
  34. 使用PID计算控制量
  35. control = pid.update(feedback\_value)
  36. 应用控制量到机器人
  37. apply\_control\_to\_robot(control)
  38. 延时一段时间(例如10毫秒),以模拟控制周期
  39. time.sleep(0.01)

5.2.3 轮式机器人的路径控制

在路径规划方面,本项目采用蜘蛛蜂优化算法(SWO)来实现机器人在复杂路况下的最优行进路线。该算法模拟蜘蛛和蜂的行为,通过蜘蛛的网和蜜蜂的飞行路径进行优化搜索,已广泛应用于多个领域。

在网球场这种复杂环境中,传统路径规划算法难以找到最优解,因为复杂的障碍和大规模的搜索空间容易导致局部最优解。SWO算法通过模拟蜘蛛和蜜蜂的行为,能够更高效地探索搜索空间,快速找到全局最优解。

SWO算法的基本步骤如下:

  • 初始化种群:随机生成机器人的初始位置和速度。
  • 评估适应度:计算机器人的适应度值,即路径规划的目标函数值。
  • 更新位置和速度:根据蜘蛛和蜜蜂的行为策略更新机器人的位置和速度。
  • 蜘蛛行为:局部和全局搜索策略更新位置。
  • 黄蜂行为:通过随机和精英搜索策略进一步更新位置。
  • 评估适应度:重新计算每个机器人位置和速度的适应度值。
  • 更新最优解:更新全局最优解和个体最优解。
  • 终止条件:达到预设的迭代次数或停止准则时终止算法,输出最优解。

    这种算法相较于遗传算法和粒子群算法,具有更强的全局搜索能力和更快的优化速度,能有效提升机器人在复杂环境下的路径规划效率。

    5.2.4 定位系统

    轮式机器人通过定位模块ATGM332DR准确获得自己当前的位置,上位机将目标坐标通过数传模块发送给云平台,再由云平台将各类信息下发至APP或PC端。
    • 定位模块
    ATGM332DR是双模混合定位模块,可以实现GPS定位和北斗定位。其定位精度强,准度高,可以实现分米级的定位。
    (2)数传模块
    数传模块ATK-LORA-01是LORA无线串口模块,基于扩频技术的超远距离无线传输方案,具有传输距离远,工作功耗低等特点,其优势如下:

支持定点发射,支持省电模式,支持广播和监听功能,支持6级可调空中速率,支持AT指令控制,配置灵活。

5.3 硬件应用

主控采用RDK X3,搭载MPU6050陀螺仪、HC-SR04超声波模块等外设,实现对掉落网球的检测、记录反馈以及复杂路段的自由运动。

遥控器主控使用ESP32模组,MPU6050进行动作识别,摇杆电位器控制小车姿态,OLED显示运行参数。遥控器主要由以下部分组成:

• 外壳:保护内部电路和元件。  
• 按键/按钮:控制设备功能,如开关、方向等。  
• 显示屏:显示设备状态、菜单选项等信息。  
• 指示灯:显示电源、连接状态等。  
• 电池仓:用于电池供电,方便更换。  
• 无线通信模块:通过射频等技术与设备进行通信。  
• 电子电路板:连接按键、无线模块等电子元件,处理操作指令。  

5.3.1 摄像头模组

使用RDK X3电路板进行网球识别与回传。识别网球的步骤如下:

  • 启动识别程序:启动RDK X3的视觉系统,用于检测和跟踪网球。
  • 初始化摄像头:确保摄像头正确初始化,以捕捉周围环境图像。
  • 网球检测:RDK X3使用卷积神经网络识别网球。
  • 跟踪网球:检测到网球后,启用跟踪算法追踪网球的移动。
  • 反馈:根据网球的位置和运动,提供反馈。
  • 执行任务:根据网球的位置和轨迹执行任务,如捡球、回传等。
  • 结束识别程序:任务完成后,停止程序,进入待机状态。

5.3.2 RDK X3:小车运动的主控

RDK X3是一款模块化开发板,用于机器人控制、感知、定位和规划等功能。在智能捡球车中,RDK X3负责实现定位、避障和路径规划等功能,通过传感器和算法处理,帮助机器人精确捡拾网球。
RDK X3的作用包括:

  • . 定位和导航:通过激光雷达、摄像头等传感器,RDK X3实现精准定位和导航,帮助机器人找到网球。
  • . 避障和安全:利用传感器检测障碍物,确保机器人安全捡拾网球。
  • . 运动控制:RDK X3实现精确运动控制,使机器人灵活移动。
  • . 数据处理和决策:RDK X3处理传感器数据,做出决策,调整捡球策略。

5.3.3 北斗和UWB(超宽带)双定位模组

北斗定位模块和UWB定位模块在定位网球时发挥重要作用。

  • • 北斗定位模块:基于我国自主研发的北斗卫星导航系统,提供全球范围的定位服务。通过接收卫星信号,利用三角定位原理计算位置信息,支持多频点、多系统联合定位,能够在复杂环境中稳定、可靠地提供定位服务。
  • • UWB定位模块:具有高精度、高实时性和抗干扰性,尤其适用于隧道等复杂环境中的精准定位。

    应用:

  • . 全局定位和场地规划:北斗模块用于室外球场的全球定位,帮助机器人精确识别位置,规划路径,确保安全捡球并有效返回发球位置。
  • . 精准室内定位和球位置识别:UWB模块提供室内高精度定位,帮助机器人准确识别网球位置,提升捡球效率。
  • . 动态避障和交互式捡拾:UWB模块实时感知环境,避免障碍物,结合两种定位技术,机器人能够精准捡拾网球并送回发球位置。

通过结合北斗和UWB双定位模组,机器人可实现高精度定位、路径规划、避障和捡拾。

推荐阅读
关注数
1256
内容数
79
加速机器智能进化 促进人机和谐伴生
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息