Raspberry Pi・Arduino・電子工作

2017年5月21日 (日)

TensorFlowで顔めがけて近づいてくる車を作ってみた

久しぶりのRaspberry Pi電子工作です。

せっかくディープラーニングを勉強中ってことで、ちょっとAIっぽいものを作ってみました。

Img_2842

ずいぶん不細工な車ですが、これでも”人工知能”搭載カーです。

さて、まずベースとなる車ですが、このキットを使いました。

Img_09411

なんとなく勢いで買ってみたものの、使わずじまいでしまい込んでいたタミヤのリモコンロボットキットです。

Img_1366

先の連休中にこれをせっせと

Img_1367

組み立てて

Img_2843

百均のタッパーとRaspberry Pi 3にカメラモジュール、超音波センサーHC-SR04など、あまりものと安物で製作。

こんな時のために、気になる部品は買っておくものですね。

ちなみに、車そのものはArduino UNO互換ボードで制御。ArduinoとRaspberry PiとはUSBで接続。

ちなみに動作プログラムはこちらの記事を参考に作りました。

Arduinoでラジコン戦車 その1 – Nu

余談ですが、こちらの記事は以前私が作ったRaspberry Piレーダーを見てこのリモコンを作ったそうです。それを今度は私が参考にして・・・電子工作の世界のめぐりあわせって面白いですよね。

さて、ここでちょっと問題発生。

Raspberry Pi 3のX Windowが立ち上がらなくなっちゃいまして、VNC経由でカメラ画像を表示できなくなってしまいました。

このため、OSを再インストール。当然、TensorFlowも入れ直し。

OSはこちら(Download Raspbian for Raspberry Pi)から入手。

TensorFlowですが、tensorflow-on-raspberry-piを見てPython 2.7用をインストールしました。

$ wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl
$ sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl

このコマンドで、依存するライブラリも一緒に入ります。

今回の再インストールで、Raspberry PiのTensorFlowも1.0以上になりました。

TensorFlowを1.0にあげると、一ついいことがありまして。

それはWindows版TensorFlowの学習データがそのままRaspberry Piでも使えるようになったこと。

これは大きな前進。Raspberry Piの活用が捗ります。

てことで、Raspberry PiでもWindows版と同じPython 3.Xを使いたいところですが、OpenCVがうまく入らないんですよね・・・

OpenCVは

$ sudo apt-get install libopencv-dev
$ sudo apt-get install python-opencv

とやれば入ります(ただしPython 2.7のみ動作、OpenCVのバージョンは2.x)。

今のところこれで支障はないので、このままいきます。

さて、ここでようやくRaspberry Pi側のプログラムです。

具体的にはけものフレンズの動画からフレンズさんの顔を検出するやつを無理やり作ってみた: EeePCの軌跡で使った物体検出のプログラムを流用しました。

アルゴリズム的には

(1) カメラ画像から、LBP特徴で顔検出させる

(2) ”けもフレ”認識でどんなフレンズなのかを判別

(3) 顔認識した位置に向かって車両を動作

カメラに映った顔の位置が右寄りなら右側に、左寄りなら左寄りに動くよう、Raspberry PiからArduinoに通信を送って制御させてます。

超音波センサーは前方に障害物がないかを測定しており、20cm以内に何かあったら動かなくなるようにしてます。

ところで実はこのプログラム、(2)で何を検知しようが、結果にかかわらず顔検出した場所に向かって動作するようにしたため、(2)の処理は今回まったく意味がありません。

いずれ(2)で意味のある学習データに置き換える予定のため、とりあえず動作速度を確認するためにあえてTensorFlowを動かしているというだけです。

当然、TensorFlow部分を抜いて、OpenCVだけにした方がもっと早く動作するはず。

てことで、恥ずかしいので今回もコードを載せませんが・・・いずれちゃんとした動作ができるようになったら、公開するつもり。

Image2

VNCでRaspberry Piのデスクトップを表示。

上のちっこい画像の中で寝そべっているのが私です。

Img_2840

この顔めがけて、このRaspberry Piカーが接近してくるんですが。

この動画のとおり、結構遅いです・・・1秒に一度、きゅっと動作しては1秒間は停止して確認、また1秒ほど動作しては確認・・・匍匐前進のような動作ですが、Raspberry Pi 3+Pythonなのでこの辺りが限界のようです。

Img_2846

このタミヤのキット、左右輪が別々のモーターで動いているんですが、回転速度がバラバラのため、直進させると右側に回ってしまいます。

プログラム的にちょっと左寄りに回るようにして無理やり直進させました。

今回は検出した場所にただ向かうだけの車を作りましたが。

ある物体はよけて、ある物体には向かうという、そういう車にする予定です。

問題は、その物体に何を使おうかというところですが・・・現在思案中。

ところで、なんでこんなものを作っているのか?

ちょっと会社で、こういうものが作れると何かと便利なことがありまして。

今はこれを実用的なものに作りかえようとしております。

今後、自動運転とは言いませんが、”プチ自動運転”っぽい車を作りあげる予定。乞うご期待。

Raspberry Pi 3 MODEL B

タミヤ 楽しい工作シリーズ No.162 リモコンロボット製作セット タイヤタイプ (70162)

2017年5月18日 (木)

テレビに夢中な子供を制止できる電子工作”全自動こどもTVあきらめるマシーン”

テレビから離れられない子供だけでなく、NHK受信料を払いたくない大人まで・・・いや、子供に絞って話ししましょう。

ちょっと面白い電子工作事例があります。

全自動こどもTVあきらめるマシーン | Maker is You!

その名も”全自動こどもTVあきらめるマシーン”。そのまんまですね。

要するに、テレビアンテナにバイパスし、遠隔操作で受信レベルを故意に下げるという電子工作。

いくらテレビに夢中でも、写らなくなったら離れるしかありませんよね。

もっとも、これであきらめてくれればいいんですが・・・

我が家の場合、こういう事態に陥るとすぐに”パパが何とかしてくれる”的な無茶ぶりをされます。

この機器の効力を発揮するには、普段から”頼りないパパ”を演出する必要がありますね。

もっとも、我が家の場合はテレビではなくYouTubeですが。

YouTubeの場合はかんたんですよね、あきらめマシーン。

うちはiPhoneなので、いよいよいうことを聞かない場合は”iPhoneを探す”で端末ロックをかけるという荒業ができます。

あまりにいうことを聞かないことがあって、一度だけやりました。泣きついてきましたが、一晩ほったらかしにしました。時にはこういうことも大事です。

テレビではこうはいきませんよね。こういう電子工作が必要です。

シャープ 32V型 AQUOS ハイビジョン 液晶テレビ 直下型LEDバックライト 外付HDD対応(裏番組録画) LC-32H30

2017年5月17日 (水)

ルンバをRaspberry Piで制御!?

はんだ付け無しでルンバとRaspberry Piを接続することは可能だそうです。

ルンバをRaspberry Piを使ってROSでコントロールできるように改造してみた(半田付け無しでOK) - karaage. [からあげ]

ルンバには”ルンバオープンインターフェース”というのがついてて、こことRaspberry Piをつないでやれば(シリアル-USB変換アダプタ経由で)、Raspberry Piと通信することができるとのこと。

さらにRaspberry Piに”ROS”(Robot Operating System)を導入し、これを使ってルンバを制御。そんなOSがあるんですね、まるで機動警察パトレイバーの最初の映画に出てきたHOSみたいな名前です。

詳しいやり方はリンク先を参照。当然ですが、メーカー保証外の行為なので、これが原因でルンバが壊れても文句は言えません。要注意。

掃除コースが決まっているのなら、Raspberry Piでルンバを制御して決められた手順で掃除させるなんてことが可能になりそうですね。もっとも、そこまでやるのなら掃除機部分も自分で自作したほうがいいかもしれませんが。

【国内正規品】 iRobot ロボット掃除機 ルンバ 622 ホワイト

2017年5月13日 (土)

Raspberry Piで物体検出を利用したIoT機器を作るための”ディープラーニング ゲートウェイ on Raspberry Pi”

犬や人、自転車など、一般的な物体を認識させるだけなら使えそうな”物体検出”プログラムが公開されてます。

ラズベリーパイの調理法 ディープラーニング ゲートウェイ on Pi - BerryNet

この”ディープラーニング ゲートウェイ on Raspberry Pi”というコード、Raspberry Piを犬が写ったらメールを送ったりできるIoT機器に変えてくれるコードです。

Darknetを使っているようなので、おそらくYOLOv2あたりで物体検出させてるんでしょうね。

Raspberry Piの処理速度を思えば、上のような速度でも結構早い方ですね。

そういえば会社の人から、ネコが現れたらピンポン玉のようなものを投げつけて追い出すような機器を作ってほしいなんて言われたことがありますが、これを使えばそういうものが作れそうです。

ラズベリーパイ3 (Raspberry Pi 3B made in JAPAN) 技適対応 日本製   5.1V/2.5A ラズベリー財団公式アダプタ 【本体 アダプタ セット品】

2017年5月12日 (金)

MZ-80Cが1/4サイズでよみがえる!「PasocomMini MZ-80C」10月発売

1979年に発売された一体型パソコン”MZ-80C”が1/4サイズでよみがえります。

8ビットパソコン名機MZ-80Cが手のひらサイズで復活!「PasocomMini MZ-80C」がハル研から10月中旬に発売 - Engadget 日本版

手のひらサイズのこの”MZ-80C”、価格19,800円(税抜)、6月1日予約開始、10月に発売予定。

さすがにデータレコーダー、モニター、キーボードは使えないようですが、結構ちゃんと再現されてますね。

中身はRaspberry Pi A+を使用。エミュレータモードでは、当時のBASICプログラムだけでなく、マシン語にも対応しているそうです。あの16進ダンプリストを打ち込んで動かせるってわけですね。なお、当時のソフトを3本同梱する予定(同梱ソフトはまだ未定)。

ちなみにこれを実際に使うとこうなってしまうようで。

本体以外は”ケース”扱いなので、しょうがないですね・・・

ところで、この”PasocomMini”には第2、第3弾があるみたいです。

PC-8001やFM-7、MZ-80C……懐かしのパソコンがミニサイズで現代に甦る! ハル研究所が発表した「PasocomMini」の詳細と狙い - AKIBA PC Hotline!

こちらを読む限りでは「PC-8001」「FM-7」があるようですね。小型ながら、再現性はこの2機種でも維持されているようで。

なおこのシリーズ、BEEPでのみ販売されるそうです。台数はわかりませんが、数量限定生産とのこと。

往年のパソコンマニアだけでなく、今どきのPC好きにも売れるんじゃないでしょうか?このデザイン。このレトロ感がたまりませんねぇ。

第4、第5弾あたりではぜひX1を作ってほしいところですが、世間のインパクトを考えるとX68000やPC-8801mk II SRあたりになっちゃうんでしょうかね。いずれにせよ、旧パソコン保持者としては、このままシリーズ化してほしいところです。

パーソナルコンピュータ博物史

2017年5月 8日 (月)

誰でも人工知能なガジェットが作れる!?GoogleからAIのDIYを支援する”AIY Projects”始動!

第1弾はRaspberry Pi 3用のボイスキット”Voice Hardware Accessory Top”をリリースだそうです。

Google、誰でも人工知能プロダクトを制作できる「DIY AI」を目指すプロジェクト「AIY Project」を発表。第一弾はボイスキット | Seamless

公式サイト:AIY Projects

Googleが発表したこの”AIY Projects”とは、自身の問題解決にAIを使いたい人を支援し、だれでもAIプロダクトを作れるようにするプロジェクト。DIYとAIをひっかけて”AIY”のようです。

で、第1弾のこのボイスキット、マイク、スピーカー、ボタン・スイッチ類が付いたRaspberry Pi用HATに段ボール製のケースを組み合わせたキット。そして、これらを使うための専用のOSイメージをダウンロードして使います(専用イメージはこちら)。

製作手順・動作テスト方法はここ(Voice Kit | AIY Prjects)にあります。はんだごても不要で、1時間半くらいで作れるとか。楽ですね。

”誰でも”と謳われてますが、まず上のドキュメントが読める最低限の英語力、そして多少のLinux・プログラミング知識は必要かと思われます。

ところで、これってどうやって入手するんでしょうか?

下記記事を見る限り、Raspberry Piの公式雑誌「MagPi」の最新号を入手すると付録についてくるそうです。

このGoogle HomeのDIYキットはRaspberry Piとボール紙でできた魔法のボックス | TechCrunch Japan

Raspberry Pi 3は別途必要。

上の動画ではいきなり会話してますが、どうやらGoogle Assistant SDKやGoogle Cloud Speech APIあたりを使ってるようです。

人工知能ってやつを使って何かをさせたいという願望がある方なら、要注目です、AIY Projects。第2、第3弾は何が出てくるんでしょうか?ちょっと楽しみです。

Raspberry Pi 3 MODEL B

2017年5月 7日 (日)

ラズパイマガジン 2017年6月号 買いました

ちょっと思うところがあって、ラズパイマガジン 2017年6月号を買ってきました。

Img_09331

以前立ち読みしたときはあまり関心がなく通り過ぎちゃいましたけど、ちょっといろいろありまして。

Img_09341

この特集の

Img_09351

こういう回路や

Img_09361

こういう回路図が必要になりまして。

まだどうしようか考えている最中。面白いものができましたら、こちらでも紹介いたします。

Raspberry Pi Zeroが日本でも600円で売り出されて最初のラズパイマガジンということもあり、Zeroの特集がメインでしたね。この回路図のRaspberry PiもZeroですし。

Img_09371

他にもZero向けアクセサリーが紹介されておりました。

Zero Wでも使えるものもあります。IoT機器を作りたい方なら参考になりそうです、今回のラズパイマガジン。

Img_09391

Zeroといえば、GPIOピンをはんだ付けしないといけないのがちょっとハードル高いですが、それを多少下げてくれる、はんだ付け無用の40ピンというのがあるんですね。

ハンマーでたたいて打ち込むタイプのもののようで。勢いあまって壊さなきゃいいですが、はんだごてでやけどをする or はんだ付けに失敗するという確率よりははるかに低そうです。

Img_09381

他にも、電気信号に関するノウハウが載っててなかなか便利です。

これは電気系の方なら常識なんでしょうが、もともと電気系な人間ではないため、ためになります。

最近、Raspberry Piの工作はまるでやっておりません。ディープラーニング一筋になっちゃました。

が、このディープラーニングにしても、もとはRaspberry PiでTensorFlowを使ったのがはじまり。

ならば再びRaspberry Piに回帰するのも必然。さて、どうしたものでしょうねぇ。

ラズパイマガジン 2017年6月号 (日経BPパソコンベストムック)

2017年4月21日 (金)

ブレッドボード!?いいえ Arduinoです

Raspberry PiやArduinoで電子工作しようとすると、必ずお世話になるのがブレッドボード。

ですが、そのブレッドボードにArduinoを埋め込んだものがあるようです。

ラズベリーパイの調理法 Arduino 内蔵 ブレッドボード - STEMTera Breadboard

この”STEMTera Breadboard”というArduino互換ボード。

・・・といっても、どう見てもブレッドボードにしか見えませんね。

しかし、Arduino UNOとピン配置互換のあるArduinoが埋め込まれてます。このため、Arduino UNO用シールドを流用することが可能。

ちなみに裏側はレゴブロックと互換性のある模様がついており、レゴブロックをつけることが可能。

Arduinoからブレッドボードを経由して配線ではなく、直接ブレッドボードなため、ちょっと配線がスリムにできるかもしれませんね。

お手軽な電子工作を作ってみたい方にはお勧めな製品かもしれません。

【永久保証付き】Arduino Uno

2017年4月16日 (日)

Raspberry Pi互換のAtomプロセッサボード”UP board”

知らないうちにRaspberry PiそっくりなAtomプロセッサ搭載のコンピュータボードが発売されてます。

いつのまにかインテルからラズパイ互換でWindows10,ウブンツ,アンドロイドすべてが起動するIoTボードが発売されていた #IoT #ラズパイ互換 #インテル

Atomプロセッサ X5-Z8350(4コア 1.44GHz 最大1.92GHz)、メモリは2~4GB、ストレージ 16~64GBのものが確認されてます。お値段は一番安い2Gメモリ、16GBストレージで1.6万円ほど、4GBメモリ、64GBストレージで2.3万円ほど。

Raspberry Piと同じ大きさで、GPIOピンまで同じという、どう見てもRaspberry Piを意識したコンピュータボードです。

しかしx86互換なだけに、Windows 10、Ubuntu、Androidなんでも来いなボード。

それにしても、リンク先にもある通り呼び名がはっきりしないですね、このボード。Amazonでも”インテル搭載UPボード”としか書かれてません。

ちょっと調べてみると、どうやら「Aaeon Europe」というASUSの子会社が昨年秋にKickstarterで出資者募集をして実現したボードのようです。

Quad-core Atom based Raspberry Pi lookalike is ready to roll

名前は”UP board”というそうです。Intelのチップを使っているというだけで、製造元はIntelではないようですね。

ただASUSがらみとはいえ、先日紹介したASUSの”Tinker Board”とは違うようです。

ところで最近、私は小型で64ビットWindowsが動作する安い端末を探してるんですよね。理由はTensorFlowを外で動かせる端末が欲しいってだけなんですが。

タブレットでもいいんですけど、できればNUCかRaspberry Piみたいなのがいいなぁ・・・なんて思ってたらヒットしたのがこれ。悩みどころです。

値段がちょっと微妙ですねぇ・・・せめて1万円なら一つ買ってみようかという気にもなるんですが。OSも別売りなんですよねぇ・・・Ubuntu入れればいいんでしょうけど、できれば今はWindowsの方がいいんですが。

Raspberry Piと同じGPIO付きでx86チップなのが魅力的なこのボード。もう少し使い方が出回ってきたら、手を出してもいいかなと思っております。

インテル搭載UPボード ラズベリーパイIOピンコンパチ Intel Z8350搭載 Windows 10対応 2Gメモリ+16G eMMC搭載 UP-CHT01-0216

インテル搭載UPボード ラズベリーパイIOコンパチ Intel Z8350搭載 Windows 10対応 4Gメモリ+64G eMMC搭載 UP-CHT01-0464

2017年4月15日 (土)

ごみの種類をTensorFlowのAIで判別してくれるRaspberry Piごみ分別器

実はひそかに作ってみたいと思っていたものが、既に作られてしまいました・・・

「Raspberry Piのごみ分別器」です。

ごみをのせるとAIが自動識別して分別してくれるRaspberry Pi搭載の自作リサイクルロボット「Recycle AI」 - GIGAZINE

TensorFlowとRaspberry Piを組み合わせて作られてます。

リサイクルごみ、埋め立てごみ、堆肥ごみの3タイプに分類可能。

バナナの皮のような生もの系は堆肥ごみ、金属などは埋め立てごみのようですね。わりと無茶なものを入れても、うまく分別してくれてるようです。

日本だと、燃えるゴミ、紙、プラスチック、ペットボトル、缶、瓶、その他燃えないゴミ・・・とまあ結構細かい。

ごみなら日頃からたくさん出てくるし、ごみの画像を1~2か月くらい収集し続ければ結構な教師データができそう。実用的なディープラーニング活用電子工作としてはいい題材ですよね。

Adafruit 16チャンネル PWM/サーボ HAT for Raspberry Pi

より以前の記事一覧

当ブログ内検索

  • カスタム検索

スポンサード リンク

ブログ村

無料ブログはココログ