ELECTLOGICスマートフォン用の表示で見るELECTLOGICTwitterGitHubTumblrReblogViewer記事一覧この広告は、90日以上更新していないブログに表示しています。LinuxAR.Drone等のカメラ映像を見ながら操作できるラジコン製品が増えています。このラジコンは通信にWiFiを使うことで機体の操作だけでなく同時に映像の送信も可能になっています。操作端末の周囲数百メートルが限界です。そこでWiFiではなくLTEを使用したラジコンであるBeagleBoneBlackRover略してB3Rを開発しました。LTEで通信しているのでLTEの電波が入る範囲ならば操作端末の位置に関わらずラジコンの遠隔操作が可能です。日本にあるLTE圏内のラジコンをインターネットを通して海外から遠隔操作することも可能になります。オンボードカメラの映像B3Rの構成B3Rの構成は以下の図の様になっています。以下各要素について解説していきます。Truckを購入しました。半完成モデルなので通信機とコントローラとバッテリーが付属しておらずそのままでは動作しません。今回はその通信機を自分で開発するので問題ありません。ESCESCは購入したラジコンに付属していたのでそのまま使用します。BBBからPWM信号をESCに入力するとモーターの速度が制御できます。このESCには電源スイッチが繋がっておりこのスイッチでESCの電源を操作できる。今回はBBBからESCの電源を操作したいので、スイッチを取り外しFETを繋いでBBBからESCの電源を操作できるようにした。これでBBBの電源が切れると同時にFETがOFFになりESCの電源も切れるので多少安全になる。BBBがFETに繋がっているポートをHighにしたままフリーズした場合はFETはOFFにならないのでESCも停止しない。この方法はもう少し改良が必要かもしれない。このESCには通信機やサーボモーター用に6Vの電源も用意されています。この6V出力はステアリング用サーボーモーターの電源とした。バッテリー電圧と電流を計測する回路。BBBのADCは最大1.8Vなのでバッテリーの電圧を分圧してBBBで計測できるようにしている。電流検出は0.01Ωのシャント抵抗とLT6106CS5を使用してESCの定格である30Aまでの電流を計測する回路とした。BatteryB3Rのバッテリーは7.3V2200mAhを2個並列に接続している。これは動作時間を長くする為。一つはバッテリーが一つの場合、モーターが回転し始める瞬間にBBBが再起動してしまう問題を回避するためです。BBBが再起動する問題はモーターが回転を始める瞬間は電源電圧が一瞬低下することが原因。電源電圧がDC-DCコンバータの最低動作電圧の6Vを下回ってしまうとその先に繋がっているBeagleBoneBlackが停止してしまう。BeagleBoneBlackの停止するとESCも停止する。ESCが止まるとモーターも止まり。その後電源電圧が回復しBBBが起動する。この様な流れでモータが回転を始める瞬間BBBが再起動してしまうように見えていた。今のところバッテリーを並列に繋いでいる事で回避出来ているが、保護回路無しのリチウム電池の並列接続はあまりいいやり方ではない。本当なら電源を別にするべきかなと。Rev.A5Cを使用しています。ディストリビューションは細かいカスタマイズが可能なGentooを使用しています。Gentooを使用すれば不必要なプロセスを止めやすくBBBの消費電力を減らすことができます。全体の制御プログラムはGoで、UDP通信やストリーミングを行う部分はCで開発しました。BeagleBoneBlackのセットアップ等は以下のサイトを参考にしました。HUBBBBのUSBポートは1つしかない為2つ以上のUSB機器を使用したい場合はUSBハブを使用する必要があります。超えてしまい、BBBのUSB機能が停止してしまいます。そこでUSBハブを改造してDC-DCコンバータから5V電源を直接供給できるようにしました。これによりBBBのUSBポートに3つの機器を同時に接続しても問題なく動作するようになりました。RouterにL-03Dを使用しiijmioのsimを差してインターネットに接続しています。ELECTLOGICで書いたようにiijmioの回線ではグローバルIPアドレスが割り振られません。これでもTCPなら双方向で通信できますが、UDPの場合はそれができません。そこでUDPホールパンチングを使用してプライベートIP環境での双方向UDP通信を実現しました。これにより低遅延での操作が可能です。映像をYUV422形式でBBBに取り込み。YUV422からYUV420へ変換した後VP8でエンコード。その後UDPで操作端末へ送信しています。Motorこれらは購入したラジコンに付属していた物をそのまま使用した。問題があるとすれば、モーターが回転する時の音がうるさいこと。ケースケースはアルミ板とアクリル板を組み合わせて設計しました。防水設計にはなっていないので雨天時は動かせません。ロゴを印刷して貼付けています。ロゴの印刷されたフィルムの上に重ねて貼付けています。アクリルカバーを外したところ。右上のPDUから出ている白い配線は電源スイッチへ繋がっているまだいくつかの改良や追加したい機能などがありますが、映像のストリーミングと最低限の操作が出来る様になったのでひとまず公開してみました。次はGPSと測域センサを載せて自動操縦をさせたい。punchingの実装をしてみるラジコンをLTE回線を使って制御できたら面白そうだなと思いいろ...2012-09-06自作モバイルブースター作ったよこの設計を始めたのが今年の4月ごろ。このときはまだeneloopモ...2012-06-07Android+ポケモンキーボードでモバイルLinux環境を作るAndroid+ポケモンキーボードでモバイルLinux環境を構築する話で...2012-04-03iPhoneやiPadの充電器の自作について普通に5V供給してやるだけでは、充電してくれないようなので。(1)はてなブログをはじめよう!Stroboさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。