智能小车如何实现跟踪 (列出智能小车视觉跟踪的实验步骤)

这次的教程中,我们要示范如何运用威栗camera视觉传感器和一个Arduino开发板,打造以颜色引导的无人车。这台小车将会追随特定颜色的物体自动行驶。

这里会省略一些事前准备步骤,例如:将威栗camera连接到个人电脑。详细说明请上 创造栗官网 ,并参考先前的教程内容: 《威栗camera基础安装》 《威栗camera使用说明》

此说明中主要包含三个步骤:设定威栗camera视觉传感器、以程序积木编辑威栗camera程序、以及把程序上传到自动小车上的Arduino开发板。

步骤一

我们先将视觉传感器设定为辨识红色与黄色。开启CZL智能传感器工具,在右方“功能”选项设定“颜色辨识”,并勾选您希望威栗camera辨识追踪的颜色— 红与黄。

干货分享|教你轻松学会让自动小车追踪彩球

完成后,即可测试威栗camera是否能顺利侦测红色和黄色。侦测成功时,画面会显示侦测物体的颜色标签。

干货分享|教你轻松学会让自动小车追踪彩球

现在您的威栗camera已完成红色与黄色的颜色辨识设定,接下来可以开始以程序积木编辑威栗camera啦!

步骤二

首先,打开威栗camera Junior应用程序。

我们要编辑程序积木使无人车跟随黄球以及停止于红球前。

干货分享|教你轻松学会让自动小车追踪彩球

A.第一层程序积木

首先,从控制程序内选出第一层程式积木—“初始化” 积木。

插入视觉传感器类别的“初始化智能传感器RX# () TX# () ”积木。这个积木会将资料传递至威栗camera,RX代表接收,TX代表传送。

干货分享|教你轻松学会让自动小车追踪彩球

这个设定将连接Arduino开发板与视觉传感器。我们建议使用0与1这组数值比较稳定。

接下来,在变量程序内选择“ 宣告i为整数赋值 ”积木。

辨识物体时,我们需要两个整数来控制舵机马达的方向。整数“ x ”用来定位物体位置,“ dx ”定位物体由左至右的位置。

干货分享|教你轻松学会让自动小车追踪彩球

干货分享|教你轻松学会让自动小车追踪彩球

在“ i ”下拉选项中选取“ 建立一个变数 ”来建立“ x ”整数。

干货分享|教你轻松学会让自动小车追踪彩球

输入“ x ”然后点选“ OK ”。

干货分享|教你轻松学会让自动小车追踪彩球

这样我们就建立了“ x ”整数。

接下来,使用一样的步骤建立“ dx ”整数。

干货分享|教你轻松学会让自动小车追踪彩球

这样就完成两个整数的设定。

干货分享|教你轻松学会让自动小车追踪彩球

最后,选择“ 转动舵机管脚()角度(0~180°) ”积木插入“ 宣告dx为整数赋值 ”下方,来使舵机马达的起始角度永远从90度开始。

选择管脚9,因为舵机马达连接于扩展板D9接口,然后将角度设定为90度。这个步骤会确保舵机马达与Arduino开发板之间相互沟通。

干货分享|教你轻松学会让自动小车追踪彩球

B.第二层程序积木

现在,我们来编辑让舵机马达左右转动,并跟随黄色物体的程序积木。

选取“ 如果()那么 ”积木,然后插入“ 识别到物体 ”积木,使威栗camera侦测到物体,并回传给主控板。

干货分享|教你轻松学会让自动小车追踪彩球

为使得以上成立,再重复插入一个“如果()那么”积木到先前的积木建立一个子活动。

干货分享|教你轻松学会让自动小车追踪彩球

选取一个逻辑积木然后从视觉传感器程序类别输入一个“物体类别”积木,设置等号,再从视觉传感器积木类别加一个“黄色”积木。这会使威栗camera回报侦测到黄色的物体。

干货分享|教你轻松学会让自动小车追踪彩球

接下来,我们要编辑控制舵机马达方向的程序积木。确保当威栗camera侦测到黄色物体时,无人车的旋转角度在一定范围内。

我们还要另外建立“ x ”和“ dx ”整数积木。“ x ”整数积木会使威栗camera侦测并辨识物体的宽度与大小。

第一,选取“ 将变量i设为() ”积木,点选“i”下拉选项中的“x”。然后从数学程序类别选取两个积木串联起来,再插入变数积木中。

干货分享|教你轻松学会让自动小车追踪彩球

在数学积木中插入“物体坐标x” 和“物体宽度” 积木,将公式设定为“加号” 和“除号”,最后数值设为2来追踪物体的中心。

干货分享|教你轻松学会让自动小车追踪彩球

第二,选取“将变量i设为()” 积木,点选“i” 下拉选项中的“dx”。然后从数学程序类别选取一个积木插入变数积木中,再加入一个“x” 积木。最后设定公式为“减号”、数值为“50”。

干货分享|教你轻松学会让自动小车追踪彩球

这个设定将确保侦测物体在一定范围与尺寸内,以利威栗camera辨识与追踪。

干货分享|教你轻松学会让自动小车追踪彩球

接下来,选取“内建LED状态()” 积木设定为“高”来使主要马达启动。然后选取“写入脉冲宽度调变管脚()赋值()” 积木设定管脚号码为5,赋值为55。

干货分享|教你轻松学会让自动小车追踪彩球

在下方加入“ 如果()那么 ”积木建立一个动作项目。

从逻辑类别选取第一个积木然后加入变数“ dx ”积木,将公式设为“ < ”符号。然后从数学类别中选取第二个积木,加入“ 物体宽度 ”积木,设定符号为“ 除号 ”、数值为“ -2 ”。

干货分享|教你轻松学会让自动小车追踪彩球

接下来,选取“ 转动舵机 ”积木,设定管脚为9,加入“ 约束数值 ”积木,再加入一个数学积木(如下图)。

下一步,我们将“ 舵机角度管脚() ”积木插入,管脚设为9。数学公式设为“ 减号 ”。

干货分享|教你轻松学会让自动小车追踪彩球

干货分享|教你轻松学会让自动小车追踪彩球

继续从数学类别插入一个“ 映射数值 ”积木,其中第一部分加入一个“ dx ”积木,后面数值设定为从“ 0~-50 ”到“ 1~4 ”。最后,输入约束数值在“ 45 ”度到“ 135 ”度之间来限制无人车左转的范围。

干货分享|教你轻松学会让自动小车追踪彩球

下一步,点击“ 如果()那么 ”旁的图标,从滚动表单中拖曳“ 否则如果 ”积木加在下方,来建立下一个动作项目。

干货分享|教你轻松学会让自动小车追踪彩球

首先,从逻辑类别选取第一个积木然后加入变数“dx” 积木,将公式设为“ >” 符号。然后从数学类别中选取第二个积木,加入“物体宽度” 积木,设定符号为“除号”、数值为“2”。

干货分享|教你轻松学会让自动小车追踪彩球

接下来,选取“转动舵机”积木,设定管脚为9,加入“约束数值” 积木,再加入一个数学积木,公式设为“减号” (如下图)。

干货分享|教你轻松学会让自动小车追踪彩球

继续从数学类别插入一个“映射数值”积木,其中第一部分加入一个“dx” 积木,后面数值设定为从“0~50” 到“1~4”。最后,输入约束数值在“45” 度到“135” 度之间来限制无人车右转的范围。

干货分享|教你轻松学会让自动小车追踪彩球

接下来将这串积木组合插入“ 如果()那么 ”积木中,这样就完成无人车左右行驶的设计了。

干货分享|教你轻松学会让自动小车追踪彩球

C.如何做出让无人车停止的程序积木

第一,点击第二层的“如果()那么” 积木旁图标,打开滚动选单。

第二,拖曳“否则如果” 积木加入下方。

干货分享|教你轻松学会让自动小车追踪彩球

再来,选择一个逻辑积木,加入“物体类别” 积木,设定公式为“=” 等号,然后加入“红” 积木。

这部分将使无人驾驶汽车在辨识到一个红色物体的时候停止行驶。

干货分享|教你轻松学会让自动小车追踪彩球

接下来,选取“转动舵机管脚()角度(0~180°)”积木,管脚设为9、角度设为90度。这样舵机马达停止时,前轮会停在90度的角度。

干货分享|教你轻松学会让自动小车追踪彩球

最后,选取“内建LED状态()” 积木设定为“低”来将主要马达关机。然后选取“写入脉冲宽度调变管脚()赋值()” 积木设定管脚号码为5,赋值为0。

干货分享|教你轻松学会让自动小车追踪彩球

最后,放入“延时(20)毫秒” 积木在尾端来设置主马达的计时器。

干货分享|教你轻松学会让自动小车追踪彩球

这样我们就完成所有的积木了!

干货分享|教你轻松学会让自动小车追踪彩球

步骤三

现在,我们要来检验做好的程序积木。将代码上传至Arduino板。

A.如何上传程序

干货分享|教你轻松学会让自动小车追踪彩球

将无人车上的Arduino开发板连接至PC。

接下来,点击在威栗camera Junior应用程序里左上方的“ 选个硬件 ”下拉表单,选择“Arduino UNO”开始建立连接。

干货分享|教你轻松学会让自动小车追踪彩球

点击“没有连接”下拉箭头,在弹出窗口点击“ 连接 ”按钮以建立连接。如果PC没有找到USB连接,您可以使用重新整理按钮。COM端口应该设置为COM4。(COM端口可能依PC而不同。)

干货分享|教你轻松学会让自动小车追踪彩球

连接后,点击“回到编辑器”按钮回到威栗camera Junior应用程序。

干货分享|教你轻松学会让自动小车追踪彩球

点击右上角“上传”按钮将程式上传到无人车。看到上传完成讯息后即可拔下连接线。

干货分享|教你轻松学会让自动小车追踪彩球

B.如何保存您的专题项目

上传后,我们可以将这个项目存起来。首先,点击“项目”旁图标打开滚动选单。选择“保存项目”。

干货分享|教你轻松学会让自动小车追踪彩球

在弹出视窗中,我们可以将这个专案取名为“跟随物体”或是任何您喜欢的命名。

干货分享|教你轻松学会让自动小车追踪彩球

可以建立或选择一个资料夹专门储存您所有的专案项目。

干货分享|教你轻松学会让自动小车追踪彩球

步骤四

现在可以使用两个设定好的颜色(黄与红)对无人车进行运行测试。

这样就完成啦!

祝您玩得愉快,别忘了分享创作的同时,记得标注#威栗camera哦!