「Seeed XIAO」タグアーカイブ

ロボット犬『Mini Pupperミニぷぱ』で 書道

これまでミニぷパに色々な動作や機能を実装し楽しんでまいりましたが、
ついに字を書けるようになりました!

 

 

動作

早速 凛々しい書道スタイルをご覧ください。

 

足に筆ペンを固定していますw

 

機構

基本的には以前ロボットアームで実施した機構と同じです。

Processing で制御 ーロボットアーム自作への道3ー

 

Processingのウィンドウ上の座標をミニぷパに送信して足の平面座標(x, y)として制御します。

マウスをクリックすると足の高さを下げて筆ペンを地面に接地します。
ドラッグで線や絵を描けます。マウスがクリックされていない時は足を20mm上げてペン先を浮かせています。

 

ProcessingからのUSBシリアルはATOM Liteで直接うまく受信できなかったので
前回のAIカメラ HuskyLensの時と同様に一旦Seeeduino XIAOで受信してATOMに座標情報を送りました。

ロボット犬『Mini Pupperミニぷぱ』を AIカメラ HuskyLens で堪能

前回は9軸 IMUセンサ BNO055を用いてミニぷぱ制御を楽しみました。

ダイソー版 プラレール を改造したよ♪

 

ここでは更に AIカメラ HuskyLensを追加して ミニぷぱを賢くしちゃいます。

 

 

AIカメラ HuskyLens

HuskyLensは顔認識、物体追跡、物体認識、ライン追跡、色認識、タグ認識などの機能を有するAIカメラです。

 

 

ここではHuskyLensの設定で色認識データをI2C出力にして使用しました。

 

認識した色の座標位置でミニぷぱを制御します。

 

 

HuskyLensをミニぷぱに接続

前回製作したATOM Liteをコントローラに採用したミニぷぱにHuskyLensを接続します。

注意点

HuskyLensのI2C出力をATOM Liteに接続して素直に行きたかったのですが。。
毎度恒例の問題発生。

以下のHuskyLens Arduinoライブラリを使用してI2C通信したいのですが、ESP32には使用できませんでした。
 https://github.com/HuskyLens/HUSKYLENSArduino/tree/master/HUSKYLENS/examples/HUSKYLENS_I2C

かなりライブラリを修正しないといけない感じだったので直結は潔くあきらめて、Seeeduino XIAOで中継することにいたしました。

 

構成

 

HuskyLensとATOM Lite間にSeeeduino XIAOを挿入してI2C-Uart変換を実施しています。

 

 

部品

 

動作

赤色の横方向座標で旋回移動させてみました。

XIAOからのHuskyLensデータをATOM Liteを2コアにしてCore0で常時シリアル受信するようにして、サーボ制御との並行動作を実現しています。

 

これまで仕込んだ歩行動作なども問題なく実行できます。

 

おわりに

AIカメラ HuskyLensの追加によって ミニぷぱ がとても賢くなりました!

今回は色認識で制御していますが顔認識やライントレースなどもできそうです。

どんどん賢く 高機能になる 我が家のミニぷぱ

 

そのうちしゃべりだして立ち上がって二足歩行するかもしれませんね。

Seeed XIAO BLE nRF52840 Sense で1軸 姿勢制御モジュール 製作

先日はSeeed XIAO BLE nRF52840 Sense の味見をいたしました。

Seeed XIAO BLE nRF52840 Sense を使ってみた

ここではSeeed XIAO BLE nRF52840 Sense を用いて1軸 姿勢制御モジュールを製作いたしました。

 

 

姿勢制御モジュール製作

Seeed XIAO BLE nRF52840 Sense には6軸 IMUセンサが搭載されていますので1軸 姿勢制御モジュール SHISEIGYO-1  Jr.のコントローラにしてみました。

従来のATOM Matrix用基板に一部空中配線で調整しつつ実装し組み上げました。

動作

せっかくマイクも搭載されているので音声で起き上がるようにしました。

前回の傾斜計で確認したように姿勢検知には全く問題なさそうです。
モータ回転時にちょっと音がなっているのでブラシレスモータ駆動用のPWM信号の周波数の影響でしょうか?

Seeed XIAO BLE nRF52840 Senseのアナログ出力の周波数は何Hzなんでしょうね?まぁ測ればいいか。今度観ます。

 

音声検出

動画では「UP!」と発話して起動していますが、音声認識はしておらず大きい音が鳴ったら起き上がるだけですww

マイクの使用方法はPMD用サンプルコードを参考にしました。

以下のように大きい音を検出したらgetup()で起き上がています。

 

学習モデルで音声認識もできるようなので今度試してみたいです。

 

IMU調整

6軸 IMUセンサ LSM6DS3TR-C の検知フルスケールレンジとサンプリングレートを以下のように変更しています。

 加速度:±4g、104Hz → ±2g、416Hz
 ジャイロ:±2000dps、104Hz → ±245dps、416Hz

変更はLSM6DS3TR-C ライブラリのLSM6DS3TR_C.cppを修正

 

Seeed XIAO BLE nRF52840 Sense を使ってみた

Seeed XIAO BLE nRF52840 Sense を購入し味見してみましたので報告いたします。

 

 

Seeed XIAO BLE nRF52840 Sense

Seeed XIAOと同じ形状で CPUにNordic nRF52840が採用された製品です。

 

nRF52840搭載ですのでBLE通信が可能です。
さらにSense版には 6軸IMUセンサ(LSM6DS3TR-C)と マイク(MSM261D3526H1CPM)が搭載されています。

12月にプレオーダーが開始されたのですぐに購入し、1/18にやっと到着いたしました。

プレオーダー版は技適マークないので技適未取得機器を用いた実験等の特例制度を申請いたしました
(ネット申請でマジで秒で承認されました)。

技適取得して国内販売が予定されているようです。

 

Lチカ

Seeed Wikiを頼りにArduino IDE用環境を整えてLチカしてみました。

ブートモードにする際にXIAOと同様にリセットを2回GNDに落とす必要がありますがSeeed XIAO BLE nRF52840 Senseにはリセットボタンがついており便利です。
しかしボタンが小さすぎて少し押しにくいです。。

 

Seeed XIAO BLEにはRGB三色LEDが搭載されています。

 

Arduino IDEのスケッチ例→Basics→Blinkのピン名LED_BUILTINでは赤が点滅しました。

ピン名LEDR、LEDG、LEDBで赤、緑、青の点灯を確認できました。

BLEでLチカ

せっかくなのでBLE通信もしたいと思い、BLEでLチカしました。

Seeed Wikiの例にならってLightBlueというスマホアプリでBLEでLED遠隔操作しました。

 

いつも利用してるアプリBlynkにはまだ対応してないようなので、対応が待ち遠しい限りです。

 

IMUを堪能

6軸IMUセンサ LSM6DS3TR-C を楽しみます。
IMUの設定はSeeed Wiki の通りに実施しました。

軸は以下のようになっておりました。

 

加速度センサとジャイロセンサの値からカルマンフィルタを用いて傾斜計をこしらえました。
カルマンフィルタは以下のライブラリを使用しました。
 https://github.com/TKJElectronics/KalmanFilter

Arduino IDE コード

X軸の周りの傾きを出力します。

 

動作

LEDを角度のインジケータとして使用しています。

 

おわりに

Seeed XIAO BLE nRF52840 Sense をArduino IDEで楽しみました。

Lチカに加えてSeeed XIAO BLE nRF52840 Senseの醍醐味であるBLE通信やIMUセンサも堪能いたしました。

マイクも搭載されており、まだまだ色々楽しめそうなのでいじり倒したいと思います。