本教程是的一部分: SunFounder Raspberry Pi Pico Pico 4WD 智能汽车套件
与此组相关的文件将集中显示。其他视频的链接位于本文下方。
课程 第8课,共10课:树莓派Pico智能车——第8课:舵机与物体跟随
本课来自Robojax的Raspberry Pi Pico智能小车课程,探讨了舵机的功能,以及如何利用它来制作一个物体跟随或“跟手”机器人。该项目超越了简单的电机控制,演示了如何将舵机驱动的超声波传感器与智能Python逻辑相结合,打造出一辆能够主动寻找并跟随其范围内物体的小车。这是机器人技术中的一个基本概念,使您能够构建交互式项目,例如跟随人的机器人、玩接球游戏的智能宠物,或追踪移动物体的自主安防摄像头。本课还涵盖了一个更简单的第二个项目:一辆能够自动接近、推动并后退离开特定距离区域内物体的小车。
硬件与组件
本项目基于SunFounder Raspberry Pi Pico 4WD小车套件。本课使用的关键组件有:
- Raspberry Pi Pico开发板
- 带电机的4WD智能小车底盘
- 舵机(为耐用起见,最好使用金属齿轮舵机)
- 超声波距离传感器(HC-SR04)
- 电机驱动板(小车套件的一部分)
- RGB LED(用于视觉反馈)
- 电源(小车电池组)
舵机是本课功能的核心。与持续旋转的标准直流电机不同,舵机设计为旋转到并保持特定的角度位置,通常在0到180度之间。这使得它非常适合精确瞄准超声波传感器。舵机的质量通常由其齿轮材料(塑料与金属)及其扭矩决定,这决定了其强度和耐用性。
工作原理
下图解释了代码的工作原理。
接线指南
本课的接线很简单,因为它建立在预组装的小车套件之上。关键连接是舵机,它必须连接到Pico上的特定GPIO引脚。
在视频中,讲师将舵机连接到Raspberry Pi Pico上的18号引脚。超声波传感器安装在舵机臂顶部,使其能够左右旋转以扫描区域。电机、RGB LED和电源的其余接线假定已从课程之前的课程中预先连接好。
如需详细的视觉指南,请参阅下面的接线图。
代码解释
本课的Python代码围绕自定义的pico_4wd库构建,该库简化了复杂的硬件交互。用户可配置的部分位于脚本顶部,控制小车的行为。
以下是可以调整以自定义机器人“跟手”行为的关键变量:
car.RADAR_REFERENCE = 25:这是传感器能够“看到”的最大距离(以厘米为单位)。超出此距离的任何物体都会被忽略。您可以增大此值以使小车更敏感,或减小此值以要求更近的物体。car.RADAR_MAX_ANGLE = 45和car.RADAR_MIN_ANGLE = -45:这些定义了舵机将扫描的最左(45)和最右(-45)角度。这在小车前方创建了90度的视野。car.RADAR_STEP_ANGLE = 10:这是舵机在扫描点之间移动的增量(以度为单位)。较小的步长(例如5)提供更精细的分辨率,但完成完整扫描需要更长时间。较大的步长(例如15)扫描更快,但精度较低。MOTOR_FORWARD_POWER = 40:这设置了小车向检测到的物体前进时使用的电机功率(0-100)。调整此值以改变小车的追逐速度。MOTOR_TURNING_POWER = 40:这设置了小车转向面对物体时使用的电机功率。较高的值将使小车更积极地转向。
main()函数的主要逻辑是一个连续循环。它首先调用car.radar_scan(),该函数返回一个由'1'和'0'组成的字符串,表示在每个扫描角度是否检测到物体('1'表示物体在参考距离内)。然后代码分析此字符串,找到最大的连续'1'组,这表示检测到物体的中心。根据该中心在扫描场中的位置,小车被命令左转、右转或前进,以与物体对齐并跟随它。
现场项目演示
该视频清晰地展示了项目的实际运行效果。讲师首先运行一个测试脚本,演示舵机如何移动到精确的角度,如90度、0度和-90度。这对于理解舵机的转动范围以及正确安装超声波传感器至关重要。
安装传感器后,展示了“跟随手”功能。当讲师将手在车前移动时,安装在舵机上的传感器左右扫描。小车的逻辑处理传感器数据,并转动车轮朝检测到的手的方向转向,从而有效地在地面上跟随手移动。演示突出了小车如何在物体移动时追踪它,并相应地调整方向。还展示了第二个项目,其中小车被编程为:如果检测到物体在10到20厘米之间,则接近并推动物体;如果物体太近(小于10厘米),则后退。
关键要点
本课是使用舵机制造交互式机器人行为的绝佳入门。通过将舵机与距离传感器结合,你可以构建一个具有“视觉感知”的机器人,能够主动追踪并响应其环境。调整扫描角度、步长和电机功率等参数的能力,使你能对机器人的行为进行精细控制,这是任何机器人项目的关键技能。
章节
- [00:00] 舵机与物体跟随简介
- [01:48] 课程套件功能与特性
- [03:08] 理解舵机工作原理
- [06:08] 使用Python代码测试舵机
- [09:59] 解释“跟随手”功能
- [10:49] 演示“跟随手”功能
- [15:37] 项目:物体推动与后退
- [18:40] 物体推动项目演示
- [19:25] 总结与后续步骤
本教程是……的一部分: SunFounder Raspberry Pi Pico Pico 4WD 智能汽车套件
- 课程第1课,共10课:来自SunFounder的树莓派Pico 4WD智能车套件,由Robojax提供
- 课程 第2课,共10课:使用基础Python驱动树莓派Pico 4WD智能小车套件
- 课程第3课,共10课:Robojax为您讲解如何组装SunFounder树莓派Pico 4WD智能车套件
- 课程 第4课,共10课:树莓派Pico扩展板,用于4WD智能小车套件
- 课程 第5课,共10课:使用树莓派Pico控制RGB LED WS2812B
- 课程 第6课,共10课:使用树莓派Pico 4WD智能车套件控制直流电机
- 第7课,共10课:循线追踪、悬崖检测 校准灰度传感器 树莓派Pico小车
- 课程 第9课,共10课:使用树莓派Pico 4WD智能车进行避障
- 课程 第10课,共10课:使用手机App控制树莓派Pico 4WD智能车套件
# Lesson 8/10 Pi Car Pico 4WD: Follow hand
# Download and resource page https://robojax.com/RJT630
import pico_4wd as car
car.RADAR_REFERENCE = 25
car.RADAR_MAX_ANGLE = 45
car.RADAR_MIN_ANGLE = -45
car.RADAR_STEP_ANGLE = 10
MOTOR_FORWARD_POWER = 40
MOTOR_TURNING_POWER = 40
def main():
while True:
radar_data = car.radar_scan()
if isinstance(radar_data, int):
continue
radar_data = [str(i) for i in radar_data]
radar_data = "".join(radar_data)
paths = radar_data.split("1")
length_list = []
for path in paths:
length_list.append(len(path))
if max(length_list) == 0:
car.move("stop")
else:
i = length_list.index(max(length_list))
pos = radar_data.index(paths[i])
pos += (len(paths[i]) - 1) / 2
delta = len(radar_data) / 3
if pos < delta:
car.move("right", MOTOR_TURNING_POWER)
elif pos > 2 * delta:
car.move("left", MOTOR_TURNING_POWER)
else:
#if radar_data[int(len(radar_data)/2-1)] == "0":
# car.move("stop")
#else:
car.move("forward", MOTOR_FORWARD_POWER)
try:
main()
finally:
car.move("stop")
car.set_light_off()
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
资源与参考
尚无可用资源。
文件📁
没有可用的文件。