新聞中心

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

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

作者: 時間:2024-12-06 來源:嘉立創(chuàng) 收藏

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

本文引用地址:http://www.butianyuan.cn/article/202412/465286.htm

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

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

它實現(xiàn)了這些功能:

功能/亮點

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

  • 局域網(wǎng)圖傳

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

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

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

硬件設計

機器人主要由【頭部+底盤】兩部分組成,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.說明

  • 設計軟件:嘉立創(chuàng)EDA

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

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

  • 魔方主控:

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

2.選型說明

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

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

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

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

  • 支持串口OTA升級固件

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

  • 控制兩個 I2C 總線舵機

  • 可通過幻彩燈帶 WS2812 顯示狀態(tài)

  • ADC電壓采集測量

  • 控制兩個電機+采集編碼器計數(shù)

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

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

  • 至少2路串口

  • 至少2路 I2C 總線

  • SPI/PWM驅(qū)動WS2812

  • 1路ADC

  • 2路硬件編碼器接口

  • 4路PWM輸出

而 STM32F103RCT6:

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

  • 價格可以接受

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

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

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

頭部PCB實物圖

頭部PCB實物圖

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

  • 支持1路串口MSH交互

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

  • 驅(qū)動一路 I2C 總線舵機

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

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

  • 支持攝像頭 DCMI 接口

  • 可以流暢顯示 UI 動畫

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

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

  • 至少2路串口

  • 至少2路 I2C 總線

  • 需要自帶無線射頻功能

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

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

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

而 ESP32-S3:

  • 價格合理

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

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

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

  • 支持 DCMI 接口用于圖傳

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

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

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

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

  • 控制舵機中的電機運動

  • 需要支持力反饋

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

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

  • 支持硬件 I2C 從機協(xié)議

  • 支持至少2路 PWM

  • 支持 ADC 采樣

而 STM32F030F6:

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

  • 價格可以接受

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

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

軟件設計

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

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



評論


相關推薦

技術專區(qū)

關閉