変わりモノがいい!

変わりモノには価値がある・・・ハズ?

やっと届きました、Minisforum TH50

長かった。

Minisforum TH50を手配をしたのが、2月20日

f:id:ken2017:20220221092931j:plain

Minisforum EliteMini TH50store.minisforum.jp連絡がないので2月27日に問い合わせをしたら、入手できていない部品があり
3月10日ぐらいの発送になるかも、とのメールが来たのが2月28日
その後、Minisforumのホームページを時々チェックしていると、とうとう出荷日が3月中に変わっていました。
あれまあ、ロシアの問題や中国の武漢ウイルスによるロックダウンの影響もあっていつ届くか判らないな、と思い始めました。

f:id:ken2017:20220316135156j:plainそうんあことを思っていた時、発送したとのメールが3月14日に来ました。
そして届いたのが、今日、3月16日
発注から届くまでに25日、長かった。
今回は、FedExで輸送されています。
FedExのサイトで履歴を確認してみると以下のようになっていました。

f:id:ken2017:20220316134338p:plain
  拡大

f:id:ken2017:20220316140411j:plain

これを見ると3月5日FedExにデータが登録されました。
3月14日に香港のFedExに荷物が届き、香港国際空港を出たのが3月14日
関空に届き泉南市に届いたのが3月15日
税関を通過して国内配送業者に渡されたのが3月15日
そして目的地である我が家に届いたのが3月16日
なんと香港にあるMinisforumを出て山口県の我が家に届くまでにたったの3日しかかかっていません。
FesEx恐るべし、です。

さて、開梱です。

早速、箱を開けました。
箱のサイズは一辺が20㎝弱ですね。
小さいです。

f:id:ken2017:20220316140917j:plain
箱を開けると、
本体がありました。

f:id:ken2017:20220316141031j:plain
本体を出すと、一辺が15㎝ぐらいですかね、高さは5㎝ぐらいだろうか、MacMiniより小さいかも知れません。

f:id:ken2017:20220316141113j:plain
モニタへ接続したり、設定準備を進めました。
27インチモニタを置いているモニタ台の上に置きました。
BOSE Sound Link Miniと比べても小ささが判ると思います。

f:id:ken2017:20220316141324j:plain
設定完了した姿がコレ。

f:id:ken2017:20220316141538j:plain
Minisforum TH50はOfficeだけでなく基本的にアプリのソフトは入っていません。
これから必要なものを入れていこうと思います。
念願のインテル第11世代Coreが手に入ったので、その性能を堪能していきたいと思います。
今日はここまで。
では、また。

 

ゲームパッドでTELLOを飛ばしました。

iPadの画面操作は難しいです。

TELLOを飛ばすためのアプリがスマホタブレット用に出ていますが、実際に操作した感想として、やりにくい、というのが本音です。

f:id:ken2017:20220314122429j:plain
スマホにしてもタブレットにしても画面操作なので平面を触っての操作になり、動かしたい量と操作の程度が判りにくいと感じています。
下の写真がサンプルですが、左のサークルが上下と旋回用のもので、右のサークルが前後左右移動用のものです。

f:id:ken2017:20220314122742j:plain
できればゲームパッドで操作をしたいなと思って調べてみるとTELLOは専用のゲームパッドBluetoothタイプのゲームパッドで飛ばせるようです。

drone-info.net

専用のゲームパッドを買うのは勿体ないし、Bluetoothゲームパッドもこれだけのために買うのは嫌だな、今の手持ちのゲームパッドを使いたいな、と思ってgithubを探してみるとありました。
その記事がコレ。

github.com

この記事の中の、joystick_and_video、のところに
You can use PS3/PS4/XONE joystick to controll Tello. 
とあります。
手持ちのLogicool F310が使えそうです。

f:id:ken2017:20211214114350j:plain
記事に従って以下をターミナルから入力
pip install tellopy
pip install av
pip install image
pip install pygame
python -m tellopy.examples.joystick_and_video
これは、どういう内容化と言うと、
まずは、tellopyというjoystick_and_videoなどを含むパッケージをインストールし、
avという動画処理用のパッケージをインストールし、
imageというパソコンにTELLOから送られてくる画像を表示するパッケージをインストールし、
pygameというジョイスティックを含むビデオゲーム用のパッケージをインストールします。
そしてjoustick_and_videoを実行、です。(ここでwifiはtelloに接続しておきます)
???
エラー発生です。
no supported joystick found
サポートしているジョイスティックが見つからないと出ています。
そんなばかな、と思ってコードを調べることにしました。
コードの当該部分がコチラ。

f:id:ken2017:20220314131808j:plain

Logitech Gamepad F310はちゃんと存在しています。
ところが認識していない。
コードを見てみるとjs_nameとの一致を調べているので、これが違っているんだと思います。
ターミナルにエラー発生時の認識されているジョイスティックの名前が出ていましたので見てみると、
Controller (Gamepad F310)
となっていました。
これが原因だな、ということで、コードにある名前をこの名前に変えました。

f:id:ken2017:20220314132726j:plain
これで再度動かしてみました。
無事に動きました。
そのときのターミナルの画像がコチラ。
TELLOとの通信が始まりました。

f:id:ken2017:20220314134223p:plain
ジョイスティックのR1を押すと離陸しました。
機体を操作して机の上を映したのがこの画像。
画面にはTELLOに関する情報も表示されています。

f:id:ken2017:20220314134507p:plain
この時のターミナルの画像がコレ。
TELLOとパソコンが通信している様子が判ります。

f:id:ken2017:20220314134640p:plain
少しづつではありますが、TELLOを動かすことができてきました。
実は先日、先日と言ってもTELLOを買う以前にInterface4月号を買いました。
特集はドローン自律飛行です。
TELLOを買ったのは、この特集にあるドローン自律飛行をやりたかったからです。
明日からは、この特集の内容にそって作業を進めようと思います。

ということで、今日はここまで。
では、また。

 

思いつくままTELLOをパソコンで動かしてみました。

TELLO SDKが基本です。

TELLOのプログラミングは、そんなに複雑なことができるわけではなく、TELLO SDKにある機能が全てです。
TELLO SDKにはTELLOが有する機能を起動するためのコマンドが入っています。

f:id:ken2017:20220311135745p:plain

https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf

下の記事にできることが書いてあります。

algorithm.joho.info

単純に考えれば、Tello Blocksでやったことをpythonを使って表現する、というものになります。
これはこれで悪くはないのですが、これだけだと面白くないですよね。
折角、パソコンを使うのだから何らかの処理をしたいですよね。
と思って探しているとありました。
opencvを使った画像処理だったりジョイスティックを使ってのTELLOのコントロールに関する記事を見つけました。
それがコレ。

github.com

opencvを使っての画像処理に関して顔認識や自動追尾などがありますが、まずはパソコンにTELLOからの画像を入力することから始めたいと思います。
その意味では、上の記事は基本のところを理解するには良いのではないかと思います。
処理に必要なパッケージ(av、opencv-pytjon、image、pygame)のことも判りましたし、とても参考になりました。
ということで、インストール後に動かした結果がコチラ。
TELLOのカメラに映った映像がパソコンに送られてきました。
(画面はSurface Laptop2の映像で、映っているのはMacbookPro16です)

f:id:ken2017:20220311141444p:plain
その映像が処理されたものがコチラ。
映像に対してフィルター処理を行っています。
使っているフィルターは、多分、エッジ検出用のフィルターですね。

f:id:ken2017:20220311141653p:plain
何ということは無い処理ですが、これは色々とできそうです。
今からコードをみて勉強したいと思います。
今日はここまで。
では、また。

TELLOのプログラミングプリを使ってみた。

簡単でした。

TELLOをプログラムで動かす方法には、大きく分けて2つの方法があります。
一つは、動作のための命令ブロックを組み合わせて所望の動きを作るもの。
これはScratch的なアプリでTELLO用としてはDrone blocksというのがあります。
もう一つの方法は、pythonなどを使ったプログラミングによって所望の動きを作るものです。
まずは簡単な最初の方法についてやってみたいと思います。

Drone blocksを動かしました。

Drone blocksをiPadにインストールしました。

f:id:ken2017:20220310105229j:plain

DroneBlocks

DroneBlocks

  • Dennis Baldwin
  • 教育
  • 無料

apps.apple.com

使い方は下の記事を参考にしました。

www.droneskyfish.com

今回は、離陸して前に進み、そこから四角を描くように水平飛行を行い、元の場所に戻り着陸する、というプログラムをブロックを使って作りました。

f:id:ken2017:20220310110035j:plain
作ったブロック列がコレ。
離陸 ⇒ 前に50㎝ ⇒ 90度右旋回 ⇒ 前に50㎝ ⇒ 90度右旋回 ⇒ 前に100㎝ ⇒ 90度右旋回 ⇒ 前に100㎝ ⇒ 90度右旋回 ⇒ 前に100㎝ ⇒ 90度右旋回 ⇒ 前に50㎝ ⇒ 90度左旋回 ⇒ 後ろに50㎝

f:id:ken2017:20220310110152j:plain
実際に動かした動画がコレ

youtu.be

ほぼほぼ正確に飛んでいると思います。
離陸したところと着陸したところは、約20㎝程度のずれしかありませんでした。
良くできていると思います。
飛行性能が思ったよりいいのでホバリングにおける安定性を見てみました。
安いドローンの場合、ホバリングで停止させようとしても流れていく傾向にあります。
TELLOはどうかなと思いやってみました。
その動画がコレ。
天井に近かったこともあり、若干動いてはいますが、ホバリングでの姿勢制御は良くできていると思います。

youtu.be

最低高度で飛ばした時にどうなるかと調べたのがコレ。
机の周りの無数のオモチャが動画に入っていて少々恥ずかしい動画ですが。
TELLOはとても安定して飛んでいます。
満足ですね。

youtu.be

さて、次はいよいよpythonを使ったプログラミングです。
またまた調査から開始します。
今日はここまで。
では、また。

(記事後記)
昨日の記事でバッテリーが充電できないことを書きましたが、なんと充電できました。
メルカリで買ったTELLOの付いていたmicro-usbケーブルを手持ちのmicro-usbケーブルに代えて充電したところ充電し始めて充電完了まで行きました。
別の電池でも、充電中の青点滅から充電完了にならなかったものが青点灯の充電完了になりました。
3つの電池全て健全でした。
過去にもmicro-usbケーブルで悩まされたことがあります。
原因は判りませんが、充電できたmicro-usbケーブルはTELLOのハードケースに入れておくことにします。

 

久々に無駄遣いしました。 TELLOを買いました。

お買い物は楽しいですね。

メルカリの残金が2000円程度になったこともあり、また、特に欲しいものもなく暫くの間、メルカリでお買い物をしていませんでした。
一応、メルカリは毎日チェックしているのですが、目新しいものを見つけることもできすという日々を過ごしていました。
ところが先週末に心惹かれるものがでてきました。
それが、TELLO、です。
ジャンルとしては、トイドローンです。
f:id:ken2017:20220309100341j:plain

www.ryzerobotics.comAmazonで調べてみると本体だけのタイプで13000円弱でした。
これに予備のプロペラやバッテリーを加えたりしたものが19000円程度でした。
メルカリに出ていたのは、TELLO本体に予備のプロペラと予備のバッテリーに加えハードケースがついたもので9800円でした。
数回しか使っていないとのことで痛んではいないようです。
この出品に対してある人が7000円のオファーをして断られていました。
そこで8500円のオファーを出しましたが最終的に8800円で合意して購入することになりました。
内容物から考えて定価の半額程度なので良しと思っています。

届いたので内容の確認です。

昨日、ゆうパックで届きました。
箱をあけると中から出てきたのはコレ。

f:id:ken2017:20220309101642j:plain
なかなかいいハードケースです。
開けてみると、

f:id:ken2017:20220309101735j:plain
片方には本体と予備を含めてバッテリーが3個
反対側には、

f:id:ken2017:20220309101901j:plain
予備のプロペラが2式とUSBケーブルと取説とストラップ
本体をケースから出すと、こちらが前で中央にはカメラがあります。

f:id:ken2017:20220309102045j:plain
こちらが後ろで中央がバッテリーの挿入口です。

f:id:ken2017:20220309102146j:plain
バッテリーは、コチラ
定格3.8V 1100mAh

f:id:ken2017:20220309102425j:plain
これを本体に入れた写真がコレ

f:id:ken2017:20220309102609j:plain
バッテリーは専用の充電器もありますが、本体に挿入した状態でUSBで充電できます。
それでは充電を、というところでトラブル発生
充電を開始してもカメラの横にあるLEDが消灯したままです。
正常ならば青でゆっくりと点滅しないといけません。

f:id:ken2017:20220309102913j:plain
ゲゲゲ、ババ引いたかな、壊れている?と思い、他のバッテリーを入れてみると青で点滅しました。
3つの内の一つがダメなようです。
予想では、前の所有者がバッテリーを本体に入れた状態で使わない状態が長くなりバッテリーが過放電して保護が働き充電できなくなっている可能性があります。

drone-kentei.com

本当にバッテリーの問題には困らせられます。
当面は2個のバッテリーを使って遊ぼうと思います。
その上で、充電器を買って過放電したバッテリーの復活も試みてみようと思います。

TELLOに魅かれた理由

なぜ魅かれたか。
それは価格もありますが、このドローン、プログラムが組めるのです。
普通のドローンは、コントローラやスマホのアプリを使って遊ぶことしかできません。
ところがTELLOはプログラムができるみたいなのです。
プログラムができるドローンと言うのは結構少なくて手軽にできるのはTELLOだけのように見えました。
でも、これには仕掛けがあって、プログラムはパソコンで組み、そのプログラムを動かしてTELLOを動かすというものです。
それでもTELLOをプログラムしていることには違いないので、これをやってみたくて買った次第です。
明日からは、この作業開始です。

qiita.com今日はここまで。
では、また。

レーザー距離センサVL53L0Xを動かしてみました。

無事動きました。

レーザー距離センサVL53L0Xが無事動きました。
チャンとしたところのものを買ったのは正解でした。
レーザーセンサ自体は同じSTマイクロなんですが、回路が違うんでしょうね。

f:id:ken2017:20220224160324j:plain

www.st.com

下の写真にあるようにArduino unoを載せたZumo Robotに取り付けてI2Cとして認識されているかどうかを確認しました。

f:id:ken2017:20220223104757j:plain
結果がコチラ。
まずは、VL53L0Xを接続せずにI2Cが使っているアドレスを調べました。
すると下の図にあるように、アドレス1Dと6BにI2Cデバイスを見つけました。

f:id:ken2017:20220224160925p:plain
そしてVL53L0Xを接続して同じように調べると下の図のように
アドレス1D、29、6BにI2Cデバイスを見つけました。
結果、アドレス29がVL53L0Xであることが判ります。

f:id:ken2017:20220224161103p:plain
VL53L0Xがちゃんと認識されたので、いよいよ動作確認をします。
動作確認は、githubにあるPololuのVL53L0Xのコードを使って行いました。
それがコレ。

github.com

VL53L0Xは波長940nmの不可視光線を放出し、それが対象物にぶつかって跳ね返ってくるまでの時間を測定することで対象物までの距離を測ります。
githubのコードは幾つかの測定方法を含んでいます。
大きくは、continuousとsingleがありsingleには長距離優先、速度優先、精度優先があ
今回は、これらの測定方法を試してみることでZumo Robotで使う測定方法はどれがいいかを考えてみることにします。

測定結果です。

VL53L0Xの前にキャラメルの箱を置いて距離を測りました。
下の写真の右端にZumo Robotに載せたVL53L0Xが見えます。
左端の水玉の箱がキャラメルの箱です。

f:id:ken2017:20220224164205j:plain
まずは、singleの長距離優先の結果です。
箱の位置は変えていないのですが、短いときで728mm、長いときで792mmとなっています。
また、8190mmとなっているのは測定できなかったときではないかと思います。

f:id:ken2017:20220224164037p:plain
次にsingleの速度優先です。
下の図が結果ですが、短いときで658mm、長いときで849mmと長距離優先より測定の幅が広くなってしまっています。
ところが、8190mmは存在せず、測定不能な状態にはなっていないようです。
誤差は大きいが測定は行う、ということのようです。

f:id:ken2017:20220224164640p:plain
次にsingleの精度優先です。
下の図が結果ですが、短いときで740mm、長いときで792mmと3つの測定方法の中で一番測定の幅が小さくなっています。
但し、回数は少ないものの測定不能を意味すると思われる8190mmは存在します。

f:id:ken2017:20220224165138p:plain
次にcontinuousでの測定を試しました。
まずは、キャラメルの箱とVL53L0Xの距離が短いところから始めました。

f:id:ken2017:20220224165658j:plain
その結果がコチラ。
短いときが126mmで長いときが132mmです。
なかなかのものです。

f:id:ken2017:20220224165812p:plain
ちょっとずつ距離を離しました。

f:id:ken2017:20220224165939j:plain
その結果がコチラ。
短いとき241mm、長いとき246mm

f:id:ken2017:20220224170138p:plain
短いとき471mm、長いとき505mm

f:id:ken2017:20220224170200p:plain
短いとき748mm、長いとき858mm

f:id:ken2017:20220224170221p:plain
短いとき687mm、長いとき976mmで測定不能もあり。

f:id:ken2017:20220224170240p:plain
以上の測定からVL53L0Xの特徴が大体わかりました。

まとめ

VL53L0Xは、
・短い距離は測定不能にならず数ミリの誤差で測定できる。
・距離が長くなるにつれ誤差範囲は大きくなる(カタログ上は3%)。
・更に距離が長くなると測定不能の状態も発生する。
・測定不能の状態をできるだけ発生させないようにするためには、
 singleの速度優先で測定する。
以上のことから、Zumo Robotでは、
・まずはsingleの速度優先で使ってみて測定誤差が問題なければOK
・測定誤差が問題になればsingleaの精度優先で測定不能のときは無視する機能を
 つけて対応
という順番でやってみようと思います。
今日はここまで。
では、また。

 

レーザー距離センサを買いました。

超音波距離センサの次はレーザー距離センサです。

Zumo Robotに搭載する次のセンサーとしてレーザー距離センサを買いました。

f:id:ken2017:20220223100702p:plain
VL53LXX-V2です。

入手後、Zumo Robotではないですが、別の自走車に載せて使おうとしました、が、動かない。

f:id:ken2017:20220214143220j:plain
色々調べましたが、センサ自体の認識もできない状態でした。
どうしようかな、と、Amazonの評価欄をみていると、
2個買ったけど1個は動いたが1個は動かない、とか、
初期化できないとかのコメントが幾つかありました。
そうか、当たり外れがあるのか、と、ある意味、納得した次第です。
さてさて、どうしようと思った結果、Amazonで追加を手配してもまた外れることもあるので、できるだけ問題がおきないもの、問題がおきても対応が可能なところから買おうと思いました。
それがコレ。

store.shopping.yahoo.co.jp

センサモジュールの詳しい説明はコレ。

www.pololu.com

V53L0Xはセンサ自体はSTがやっているようなのですがモジュールとしてはPololuが作っているようで、Pololuから買うとなると輸入になるのでPololu製品を日本で扱っている朱雀技研から買うことにしました。
届いたモノがコレ。

f:id:ken2017:20220223103000j:plain
壊れたVL53L0Xと今回のVL53L0Xをブレッドボードに並べてみました。

f:id:ken2017:20220223103342j:plain
同じセンサを使ってはいますが、回路は明らかに違います。

f:id:ken2017:20220223104321j:plain
また、朱雀技研は下のような紙を製品に付けていました。

f:id:ken2017:20220223104429j:plain
不具合があったら対応するよ、とのことです。
こういうのがあると助かりますね。
ということで早速、下手なハンダ付けで基板にヘッダーピンを付けました。
そしてブレッドボードに載せて配線したものがコレ。

f:id:ken2017:20220223104713j:plain
Zumo Robotに載せた姿がコレ。

f:id:ken2017:20220223104757j:plain
これから動作チェックです。
このセンサは、分解能が1㎜ということなので測定結果を見るのが楽しみです。
ということで、今日はここまで。
では、また。

 

プライバシーポリシー お問い合わせ