0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于双核Arm Cortex M0+RP2040硬件开发

工程师兵营 2022-07-14 14:50 次阅读

一、概述

树莓派Pico基于其双核Arm Cortex M0+芯片RP2040。对比可发现,这一颗芯片,相较于传统的树莓派,更偏向一个做控制的MCU单片机,其丰富的外设IO,精巧的结构,很难让人相信这也是树莓派系列。

该项目的想法是想突出Pico的控制性能,同时又继续发挥树莓派现有的优良生态环境的优势,放开胆子,两个方面的优势相结合。打造一个五子棋AI对战系统,即:

(1)图像识别五子棋盘;

(2)与PC通讯调用相关算法和库,计算下一步落子;

(3)Pico通过IO控制机械结构,放置棋子,实现真正意义上的人机对弈。

项目新意:

一方面,在软件编程上,可以基于该项目平台学习人工智能深度学习相关的算法知识;另一方面,在硬件方面,可以学习IO控制机械臂、调用摄像头等外设方面的硬件知识和技能。该项目软硬相结合,后续再开发、在学习的潜力较大。

五子棋的算法较围棋简单,也有较多现成的库可参考。该项目就相当于一个迷你版的阿尔法狗。听起来是不是很酷!

二、威廉希尔官方网站 路线

1、图像识别

目前摄像头初步计划选用:OV7670摄像头(FIFO)

(图片见附件)

Foe42geIIxNRHIvoNOwGr_EEf8P-

该摄像头集成度高,调用很简单,且有一定的实际工程经验作为参考。该摄像头清晰度做图像识别已经足够。

在算法方面,采用较为成熟的Ganny算子边缘检测和图像灰度处理。鉴于Pico资源有限,目前考虑Pico作为一个中继或者是做初步处理的功能。主要算法可以通过串口通讯将数据传递给PC端上位机,上位机计算后识别五子棋棋子坐标及其棋局情况。

2.下棋算法

下棋算法基于Python编程,发挥 Python强大的能力及生态。初步可调用现有的一些五子棋算法,实现基本功能。

更进一步地,可以在此基础上,加入AI算法和深度学习,在PC端训练出一个五子棋AI,计算下一步落子。该过程可开发程度较高,后期可长久持续的优化开发,可作为一个学习工具。

最终可以实现对弈对手难道选择:简单、中等、困难、挑战AI等模式。

3.下棋执行

PC上位机计算得到下一步落子的位置坐标后,将信息通过串口传到Pico。Pico通过IO口控制机械臂结构,在棋盘相应位置放置五子棋。

为节省资源和保证落子的准确性,机械臂采用X-Y二维移动臂+放置臂两个结构组成

X-Y二维移动臂采用2个步进电机,占用4个IO;

放置臂采用2个舵机,占用4个IO;

(机械臂 图片见附件)

FiKNajTLfXfHHKbIzI3X8Fgk1zqV

为保证落子的准确性,提前输入并校准棋盘各坐标的位置(棋盘各坐标对应平面X-Y轴两个步进电机的转动量)

如有必要,可采用摄像头辅助识别落子位置,增加落子准确性。形成闭环。

三、可行性与项目优势:

1.OV7670摄像头有使用经验,并有大量的现成资料

2.机械臂的控制有项目经验可参考;

3.五子棋算法有较多可参考的算法和资料,以及有相关的五子棋算法库可通过Python调用。相对于围墙,五子棋算法简单,可学习性和实现性较强。

4.Pico 的外设控制丰富:30*GPIO管脚,16*PWM通道,足以实现上述的控制方面的要求;树莓派及其基于microPython开发为算法的深度开发提供了强大的生态和资源,是其他单片机不可比拟的。

5.该项目平台打造之后,也是一个深入软硬件学习的平台。

(1)硬件方面:学习IO、机械臂控制(控制舵机、步进电机);摄像头调用;串口通讯等相关硬件知识。

(2)软件方面:除了Pico的片上编程之外,还能学习上位机编程、Python编程、AI算法、机器学习等深度的软件编程知识。是一个人工智能的学习平台,可以用来不断训练和打磨五子棋AI模型。

这是一个迷你版的阿尔法狗,同时也是真正意义上和你面对面下棋的AI。

Fi0VhRhuMTh5vtBkwX7ZHGXt4bI5
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 摄像头
    +关注

    关注

    60

    文章

    4849

    浏览量

    95845
  • 树莓派
    +关注

    关注

    117

    文章

    1708

    浏览量

    105704
收藏 人收藏

    评论

    相关推荐

    在树莓派Pico RP2040上怎样使用MicroPython呢?

    RP2040 是一款由树莓派公司设计的 32 位 ARM Cortex-M0+ 微控制器芯片,于 2021 年 1 月发布,作为树莓派
    的头像 发表于 11-08 14:29 3395次阅读
    在树莓派Pico <b class='flag-5'>RP2040</b>上怎样使用MicroPython呢?

    树莓派Pico 2发布,搭载RP2350RISC-V和Arm Cortex-M33微控制器!

    2024 年 8 月 8 日,树莓派最新发布了 Pico 2 微控制器级产品 ,是一款基于新型 Raspberry Pi RP2350 RISC-V 或
    发表于 08-13 10:07

    怎样去设计基于ARM Cortex-M0的MCU

    知网链接:基于ARM Cortex-M0的MCU设计及应用
    发表于 11-10 08:51

    RaspberryPi Pico CLion开发环境配置的相关资料推荐

    Cortex-M0+内核的单片机,如果你使用过STM32或者Arduino,并且熟悉C/C++,那么相信Pico最小系统板将会是你所入迷的下一个单片机开发板。硬件上,采用Raspberry Pi 官方自主研发的
    发表于 12-10 06:54

    ProMicro-RP2040印刷电路板资料分享

    描述ProMicro-RP2040 印刷电路板RP2040 是 Raspberry Pi Foundation 的 32 位 ARM Cortex
    发表于 06-22 06:50

    使用RP2040设计一个迷你板

    和产品。RP2040芯片2021 年 2 月,RP2040 进入市场。该芯片建立在 Arm cort
    发表于 09-02 06:37

    【BPI-Pico-RP2040 开发板】+ 开箱测评与Arduino开发点灯测试

    BPI-Pico-RP2040板载资源如下 ARM Cortex M0+ CPU 内核(高达
    发表于 03-17 19:19

    RP2040

    RP2040是一种基于ARM Cortex-M0+核心的微控制器芯片,由Raspberry Pi公司设计和生产。它主要用于树莓派计算模块和树莓派相机模块V2等产品中,同时也适用于各种低功耗物联网设备
    发表于 09-15 09:04

    基于Cortex-M4/M0架构的非对称数字信号控制器L

      恩智浦半导体NXP Semiconductors N.V. 近日宣布推出LPC4000微控制器,该系列产品也是全球首次采用ARM Cortex-M4和Cortex-M0
    发表于 11-03 09:34 2392次阅读

    ME32x系列是内嵌ARM Cortex M0/M3的32位微控制器

    概述ME32x系列是内嵌ARM Cortex M0/M3的32位微控制器。
    的头像 发表于 03-31 15:14 2641次阅读

    ADSP-CM41x混合信号控制处理器,带ARM Cortex-M4/ARM Cortex-M0和16位ADC硬件参考

    ADSP-CM41x混合信号控制处理器,带ARM Cortex-M4/ARM Cortex-M0和16位ADC硬件参考
    发表于 05-09 10:45 1次下载
    ADSP-CM41x混合信号控制处理器,带<b class='flag-5'>ARM</b> <b class='flag-5'>Cortex-M</b>4/<b class='flag-5'>ARM</b> <b class='flag-5'>Cortex-M0</b>和16位ADC<b class='flag-5'>硬件</b>参考

    基于ARM Cortex-M0的MCU设计及应用

    知网链接:基于ARM Cortex-M0的MCU设计及应用
    发表于 11-05 15:35 18次下载
    基于<b class='flag-5'>ARM</b> <b class='flag-5'>Cortex-M0</b><b class='flag-5'>核</b>的MCU设计及应用

    RaspberryPi Pico CLion开发环境配置

    Cortex-M0+内核的单片机,如果你使用过STM32或者Arduino,并且熟悉C/C++,那么相信Pico最小系统板将会是你所入迷的下一个单片机开发板。硬件上,采用Raspberry Pi 官方自主研发的
    发表于 11-26 19:21 19次下载
    RaspberryPi Pico CLion<b class='flag-5'>开发</b>环境配置

    ProMicro-RP2040印刷电路板

    RP2040 是 Raspberry Pi Foundation 的 32 位 ARM Cortex-M0+ 微控制器集成电路。同时作为 Raspberry Pi Pico 板的一部
    发表于 07-01 15:01 11次下载
    ProMicro-<b class='flag-5'>RP2040</b>印刷电路板

    【试用报告】RP2040上的MicroPython环境中多线程编程

    介绍 BPI-Pico-RP2040官方介绍如下: 其核心是RP2040,采用的是ARM Corte
    的头像 发表于 04-18 09:15 5576次阅读