FrontPage

22.11.8 OAK-1でのgen2-gaze-estimation

  • USB-Cポートが上になる向きが正しい
  • 視線の向きは、x軸はカメラ側から見て左が正、y軸は上が正
  • 頭の向きは、x軸(赤)はカメラ側から見て左が正、y軸(緑)は上が正、z軸(青)は手前が正

22.10.20 myCobot 280のセットアップ

22.10.24追記 参考:https://docs.elephantrobotics.com/docs/gitbook-en/4-BasicApplication/4.1-myStudio/

  • 電源は底部のDCジャックから供給する。M5StackとATOMのUSBポートはファームウェアの書き込みにのみ使用する。
  • 初期ファームウェアはmyStudioのBasicカラムから書き込める。
  • 研究室にあるmyCobot用のファームウェアは下記の通り。
    • BASIC:minirobot v1.0
    • ATOM:AtomMain v4.1
    • 注意:minirobot v2.0とAtomMain v5.1は2022年7月以降、minirobot v2.1とAtomMain v6.1は2022年9月30日以降出荷分向け。研究室にあるmyCobotでは正常に動作しない。

UiFlowで使う

参考:https://docs.elephantrobotics.com/docs/gitbook-en/5-ProgramingApplication-myblockly-uiflow-mind/5.2-UIFlow/

  1. 底部のM5Stack BasicにUiFlowのファームウェアを書き込む。
    • M5Atomの方は初期ファームウェア(atomMain v4.1)のままで良い。
  2. 普通にUiFlowを使ってプログラミングする。
    • コマンドブロックは下の方のThird Party>MyCobotに入っている。
    • UiFlowではサーボのidが下から2-7の順になっているため、1-6しか指定できないブロックでは一番上のサーボは動かせない。(2022年10月現在)

Arduino IDEで使う。

参考:https://docs.elephantrobotics.com/docs/gitbook-en/10-ArduinoEnv/

  1. Arduino IDEにライブラリ(MyCobotBasic)をインストール
  2. Unicodeを使えるようにする

22.10.20 M5StackのI/Oまわり

各通信規格とデフォルトでの割り当て

SPI(Serial Peripheral Interface)
同期通信で、マスター・スレーブ関係がある。
SCK:Serial Clock
MISO:Master In, Slave Out
MOSI:Master Out, Slave In
CS:Chip Select(スレーブの数だけ必要)
VSPI
液晶画面(DMA1)やSDカード(DMA2)との通信に使用。M-BUSにも出ているが液晶画面との併用不可。
SCK G18
MISO G19(CORE2ではG38)
MOSI G23
CS 適当なGPIO(SDカード:G4、LCD:G14(CORE2ではG5))
HSPI
ESP32のデータシートには下記のように記載があるが、他のピンでもよい。
SCK G14
MISO G12
MOSI G13
CS G15
I2C (Inter-Integrated Circuit)
同期通信。スレーブアドレスを指定する。
SCL:Serial Clock
SDA:Serial Data
I2C (Wire)
Port Aに出ている。
SCL G22(StickC, CORE2ではG33)
SDA G21(StickC, CORE2ではG32)
internal I2C (Wire1)
Core2では内部のI2CとPort Aが分離された。
SCL (CORE2ではG22)
SDA (CORE2ではG21)
UART (Universal Asynchronous Receiver Transmitter)
非同期通信。1対1で通信する。
RX:受信データ
TX:送信データ
UART0 (Serial)
USB-C端子に出ている。
RX G3
TX G1
UART1 (Serial1)
M5Stackでは使えない。M5StickCでは使える。
UART2 (Serial2)
Port Cに出ている。
RX G16(CORE2ではG13)
TX G17(CORE2ではG14)
IIS (Inter-IC Sound)
2chのPCM音声データを伝送する。
SCK:Serial Clock G12 (CORE2ではSPIと同じ)
WS:Word Select G13 (CORE2ではLRCK:Left-Right Clock G0)
OUT G15 (CORE2ではG2)
IN G34 (内蔵マイク、Basic系のみ)
MK:Master Clock G0 (Basic系のみ)
PDM
StickC、Core2のマイク入力はIISではなくPDMになっている。
CLK:Clock G0
DAT:Data(input) G34
DAC
デジタルからアナログへの変換器で、アナログ出力に必要。
G25,26の2つのみ。G25はスピーカーと併用している。
G26はPort Bに出ている。
ADC
アナログからデジタルへの変換器で、アナログ入力に必要。
G35,36が推奨だが、32-39なら可。
G36はPort Bに出ている。
GPIO
その他の用途。Port BにはG26,36が出ている。
BasicではG2,5、Core2ではG19,27が割り当てられているが、他の未使用のピンでも良い。
G34以降は入力専用かつプルアップもプルダウンも不可。

ESP32自体のGPIO仕様

  • デジタル入力:全ポートで可能
  • デジタル出力:G0-G33で可能
  • アナログ入力:G36-39,32-35(ADC1_CH0-7)、G4,0,2,15,13,12,14,27,25,26(ADC2_CH0-9)
    • ADC1は常時使用可能だが、ADC2は無線通信と排他的。
  • アナログ出力:G25(DAC1)とG26(DAC2)

参考:https://lang-ship.com/blog/work/esp32-gpio/#アナログ入力

22.10.13 OpenCV AI KIT (OAK)のインストール方法 for macOS

公式Webサイト: https://docs.luxonis.com/projects/api/en/latest/install/#supported-platforms
Windows用のみインストーラ有り

ターミナルで以下を実行する。GitやPython3がインストールされていなくても、実行時にコマンドライン・デベロッパツールのインストールを求められるので、事前準備は不要。
$ git clone https://github.com/luxonis/depthai.git //gitからデモスクリプトをダウンロード
$ cd depthai
$ python3 install_requirements.py //追加で必要なパッケージをインストール
$ python3 depthai_demo.py //デモスクリプトの実行