新聞中心

        EEPW首頁 > 機器人 > 設計應用 > 花了1年半時間,我終于做出來了桌面機器人!

        花了1年半時間,我終于做出來了桌面機器人!

        作者: 時間:2024-12-06 來源:嘉立創 收藏

        做了個,也可以是“電子寵物”

        本文引用地址:http://www.104case.com/article/202412/465286.htm

        參考了Anki公司Cozmo機器人的外觀設計。

        *圖片來源自百度,僅對文中提及的“Cozmo機器人”起到說明作用,侵刪

        它實現了這些功能:

        功能/亮點

        • 機器人拍攝實景,手機可查看實景并控制機器人行動

        • 局域網圖傳

        • 語音交互:能和機器人聊天!通過ESP32的語音喚醒+識別

        • 魔方與機器人交互、UI交互

        • 具備3個自由度(手臂2個、頭部1個):使用自己修改的特制舵機支持關節角度回傳

        硬件設計

        機器人主要由【頭部+底盤】兩部分組成,6塊PCB

        Chassis-board 原理圖

        Chassis-board PCB圖

        Cube 原理圖

        Cube PCB圖

        Cube-usb-ttl 原理圖

        Cube-usb-ttl PCB圖

        head-board 原理圖

        head-board PCB圖

        lcd-board 原理圖

        lcd-board PCB圖

        servo-board 原理圖

        servo-board PCB圖

        1.說明

        • 設計軟件:嘉立創EDA

        • 機器人頭部主控:,擔任 “大腦” 進行UI交互、網絡通訊、輕量化AI處理

        • 機器人底盤主控:STM32F103,擔任 “小腦” 進行運動控制

        • 魔方主控:

        • 參加活動:星火計劃,活動已提供3次3D外殼打印(共計717元)3次SMT(共計2250元)等耗材費用

        2.選型說明

        ①機器人底盤為什么選擇STM32F103作為主控?

        首先,機器人的底盤設計,需要滿足以下基礎功能

        • 支持1路串口 MSH 交互(用過rtthread的同學知道有多香)

        • 與頭部開發板進行通訊(串口)

        • 支持串口OTA升級固件

        • 支持激光測距,實時檢測掉落

        • 控制兩個 I2C 總線舵機

        • 可通過幻彩燈帶 WS2812 顯示狀態

        • ADC電壓采集測量

        • 控制兩個電機+采集編碼器計數

        • 可以檢測機器人的狀態(拿起、被搖晃等)

        于是,誕生了以下幾點硬件需求

        • 至少2路串口

        • 至少2路 I2C 總線

        • SPI/PWM驅動WS2812

        • 1路ADC

        • 2路硬件編碼器接口

        • 4路PWM輸出

        而 STM32F103RCT6:

        • 資源符合本項目需求,沒有太多資源冗余

        • 價格可以接受

        • ST的芯片成熟度較高(主要是軟件)

        由此,最終底盤主控選擇了STM32F103RCT6

        ②機器人頭部為什么選擇作為主控?

        頭部PCB實物圖

        頭部PCB實物圖

        首先,機器人的頭部設計,需要滿足以下基礎功能:

        • 支持1路串口MSH交互

        • 與底盤進行通訊(串口)

        • 驅動一路 I2C 總線舵機

        • 算力不能太弱(需部署語音識別等算法)

        • 支持無線協議(遙控、圖傳)

        • 支持攝像頭 DCMI 接口

        • 可以流暢顯示 UI 動畫

        • 可以播放音頻(I2S/DAC)

        于是,誕生了以下幾點硬件需求:

        • 至少2路串口

        • 至少2路 I2C 總線

        • 需要自帶無線射頻功能

        • 需要支持 DCMI/MIPI-CSI 接口

        • 需要支持高速率 SPI/RGB/MIPI-DSI 接口

        • 需要支持 I2S /高分辨率 DAC 接口

        而 ESP32-S3:

        • 價格合理

        • 樂鑫的軟件成熟度較高(ESP-IDF)

        • 算力較強,有較為完善的AI端側算法支持

        • 自帶 Wi-Fi 協議棧,帶寬符合應用需求

        • 支持 DCMI 接口用于圖傳

        因此,底盤采用的主控是 ESP32-S3

        ③機器人控制板為什么選擇ESP32-S3作為主控?

        首先,機器人的手臂&頭部控制板的設計,需要滿足以下基礎功能:

        • 作為I2C從機使用,主機采用I2C控制從機的舵機運動

        • 控制舵機中的電機運動

        • 需要支持力反饋

        • 需要可以精準控制舵機運動

        于是,誕生了以下幾點硬件需求:

        • 支持硬件 I2C 從機協議

        • 支持至少2路 PWM

        • 支持 ADC 采樣

        而 STM32F030F6:

        • 資源符合本項目需求,沒有太多資源冗余

        • 價格可以接受

        • ST的芯片成熟度較高(主要是軟件)

        因此,底盤采用的主控是STM32F030F6

        軟件設計

        項目提供配套【開發資料】和對應SDK以供二次開發

        參考開源資料:
        https://oshwhub.com/rbbbb/ATom-Bot



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 邯郸市| 涪陵区| 永和县| 肇州县| 大城县| 荆门市| 和林格尔县| 花莲市| 桃源县| 麟游县| 赤峰市| 兴化市| 孝昌县| 江陵县| 巴中市| 汶川县| 琼结县| 英吉沙县| 西和县| 长阳| 新津县| 新宁县| 阜南县| 二连浩特市| 竹山县| 股票| 兰州市| 通许县| 克什克腾旗| 体育| 上犹县| 宕昌县| 合肥市| 那曲县| 邹平县| 遵义市| 镇安县| 朝阳区| 东辽县| 寿光市| 四平市|