福野泰介の一日一創 - create every day

ドローン操縦学習ゲーム DRONE-SHOOT15 for IchigoJam

2016/05/04
#drone #IchigoJam 

かつてのあこがれ、ラジコンヘリ。福井の河川敷、ラジコンヘリクラブにおじゃまして、先輩と共同で買ったエンジンで動くラジコンヘリを飛ばせるようになろうとホバリングの練習を何度かやるも、自在に飛ばせるようになるには至らず。 今や数千円で同じ4ch操作のドローンが手に入ってしまう時代。今のこどもがうらやましい!

昔のラジコンヘリの操作は左手の左右で重心左右移動(モード1)でしたが、どうやら前後左右の重心移動を右側で行うもの(モード2)が標準なようです。 いずれも4ch、普通の車のラジコンでも方向が変わった状態での右左は慣れないと分かりにくいものですが、上下と左右重心移動が加わるドローン操作は、もうちょっと大変。 うまくなる方法は何事も一緒、練習あるのみ。

飛行時間が短いドローン、練習不足はシミュレーターで補いましょう。 せっかくなので、IchigoJamで、ドローン風操作で操り、すばやくすべてのイチゴを撃つゲームを作ってみました。
どんどんイチゴが増える、全5ステージのタイム、まずは100秒切れるか?そして最速タイムは!?

どうせやるなら楽しく学習しましょう!きっと、どんな教科にも通じますよ。



DRONE-SHOOT15 on Vine

プログラムはこちら(Kidspods;からMixJuiceを使ってダウンロードもできます)

1 'DRONE-SHOOT15 10 LET[0],2,1,3,0,3,1,0,2,0,-1,1,0,0,1,-1,0 20 T=0 30 CLT 35 T=T+1:IF T>5 ?"TIME:";TICK()/60:END 36 S=T*3:X=16:Y=12:GOSUB 400 37 A=X:B=Y:D=0:U=0 39 'MAIN 40 K=INKEY() 50 IF K=ASC("C") D=(D+1)%4 60 IF K=ASC("X") D=(D+3)%4 70 E=K-LEFT:IF E>=0 AND E<4 E=([E+4]+D)%4:A=X+[E*2+8]:B=Y+[E*2+9] 80 IF U=0 AND K=SPACE U=1+D:V=X:W=Y 180 IF A<>X OR B<>Y LC X,Y:?" ":X=A:Y=B 190 LC X,Y:?CHR$(224+[D]) 191 IF U GOSUB 300:IF S=0:LC10,12:?"STAGE CLEAR!":WAIT30:GOTO35 192 LC8,0:?"STAGE:";T;" TIME:";TICK()/60 195 WAIT 5 200 GOTO 40 300 'SHOT 301 IF X<>VORY<>W:LCV,W:?" " 310 V=V+[U*2+6]:W=W+[U*2+7] 320 LCV,W:IF SCR()=255 S=S-1:U=0:?" ":RETURN 325 IF V<0ORV>31ORW<0ORW>21 U=0:RETURN 330 ?"*":RETURN 400 'INIT 405 SRNDT+2:CLS:LCX,Y:?" " 410 FOR I=1 TO S 420 LC RND(32),RND(19)+1:IF SCR() CONT 425 ?CHR$(255):NEXT 430 RETURN

操作方法
カーソル:重心移動(前後左右)
X:左回転
C:右回転
SPACE:ショット!

見どころは、配列を使ったドローン風操作。
配列に、0-3がキャラクタ表示用、4-7が上下左右キーを方向に変換、8-15が方向に応じたXY移動量をいれておき、70行などで使っています。

乱数でステージをつくると難易度がばらついてしまいます。
そこで便利なのが、乱数初期化コマンド(SRND)。値を指定すると乱数パターンが固定化されます。 これを使ってステージを生成すると、必ず同じ配置がでるので自分との戦いや、友達とのタイムアタックができます! SRND T+2 の「2」を他の数に変えるがらっとステージが変わります。

300行が弾を撃つ処理、400行がステージをつくる処理。GOSUB/RETURNを使って機能ごとに分割するとつくりやすいです。

こどもパソコンIchigoJam

ドローンをプログラミングせよ! IchigoJam制御プログラミング上級編

2016/05/03
#drone #IchigoJam 

こどもに人気のロボット制御、こどもプログラミングロボットpaprikaが好評なようです!
ちょっと背伸びする子供のためにも、人気のドローンを制御する、ちょっと高度なプログラミングに挑戦してみます。


使ったのは格安ドローン安い方(H8)、カメラ非搭載で小型な分、バッテリー含めても重さは21g。 軽いので室内でいろいろぶつかっても壊れにくく、安定性もそこそこあって楽しいドローンです。 プロポ(コントローラー)は、ゲーム機のようなちゃんとしたアナログスティック2つを使った本格派。 これで2,000円ちょっととは本当に衝撃的!


2.4GHz帯を使った無線制御、通信プロトコルが公開されていればいいんですが、なさそうなので物理的にコントローラーを乗っとってみます。 ネジだけで簡単に分解できる中の基板は、とってもシンプル。アナログスティックの真ん中のピンが信号線、0Vから3.3Vのアナログ値をICが読み取っているようです。 まずは上下移動だけ試すために、基板上のパターンを切って、ジャンパー線をはんだづけ。GNDも引き出しておきます。

離陸編 on Vine 飛びました!

IchigoJam-FANで教わったPWMを平滑化してアナログ出力に変える方法を使っています。 OUT2から33kΩ(なかったので100kΩの3本並列で代用)でコントローラーの上下信号線へつなぎ、信号線とGNDを0.1uFのコンデンサでつないでおくと、ちゃんと反応してくれました。 (抵抗、コンデンサで平滑化しないと、動作にムラができます)

PWM 2,40,-100

この1行のプログラムで離陸します。ver1.2からの高速PWMモードを使って、10/100の高速パルス信号を出すとプロペラが回り始めます。 40/100くらいまで上げると離陸! そのまま飛び続けてしまうので、OUT 2,0 とすばやく停止させる準備をしておきましょう。OUT0コマンドはPWM出力したピンには効きません。 (この辺りが上級者向けです)

エルチカの要領で、ドローンを自動的にぴょんぴょん跳ねさせてみます。

10 PWM 2,60,-100:WAIT 30 20 OUT 2,0:WAIT 60 30 IF INKEY() END 40 GOTO 10

何かキーが押されたら停止している状態で終了します。ESCで中断すると飛んでいってしまうので注意! 危ない目に遭うほどに、リスクを考えたプログラミングスキルが身につきます。

ぴょんぴょんはねる編 on Vine

うまくいったので、4ch全部つないでしまいます。テスターで導通チェックすればすぐに分かりますが、上下に加えて、回転、前後移動、左右移動もパターンカット&ジャンパー線のはんだづけ。

全信号、平滑化してアナログ信号出力するような回路をブレッドボードに組み、OUT2:上下、OUT3:左右移動、OUT4:前後移動、OUT5:回転と接続。

キーボードを使ったドローン制御プログラムはこんな感じで書けます。

100 N=0:X=50:Y=50:D=50 110 K=INKEY() 120 IF K=ASC("A") N=N+5 130 IF K=ASC("Z") N=N-5 140 IF K=SPACE GOTO 100 150 PWM 2,N,-100 160 IF K=UP Y=Y+5 170 IF K=DOWN Y=Y-5 180 PWM 4,Y,-100 190 IF K=RIGHT X=X+5 200 IF K=LEFT X=X-5 210 PWM 3,X,-100 220 IF K=ASC("X") D=D-5 230 IF K=ASC("C") D=D+5 240 PWM 5,D,-100 250 CLS:LC 8,12:?N,X,Y,D 260 GOTO 110

一番大事なのは140行、スペースキーによる緊急停止機能。 キー割り当てや、増分などは好みに合わせて調整ください。

4chコントロール編 on Vine

前後左右のバランス取りが難しい! 広いところでダイナミックにプログラミングした動きを再現するとかできると楽しそうです。 何台か同期させて動かしたり、落下や衝突したら負けのドローンバトルプロコンなど、あれこれ想像膨らみます。

この21gのドローンに追加で何か積むのは厳しそうですが、外部カメラで位置を捕捉して制御するなど、いろいろやりようはあるはずです。Enjoy!!

飛ばないカメラはただのカメラ、3Dプリンターでつくるドローン用ハーネス

2016/05/02
#drone #print3d 

格安ドローンにIchigoJamを載せるための台を3Dプリンターで作成。

IchigoJam、飛びました!(電源入ってませんが)


ボディ形状をなんとなくトレースして作成したハーネスを3Dプリンターで出力、結構がっちり付きました。
次はGPSの搭載へと進めます!
DATA: Harness for Drone (Holy Stone X300C) by taisukef - Thingiverse


ついでに、360度カメラとか搭載できると良さそう!?

飛ばしてみた結果
そもそも、このカメラ(Kodak SP360)は重量137gと、ドローン(102g)と合わせて200gを超えてしまっていました。 さすがに自重(102g)の1.3倍は持ち上がらないようです。


いい天気だったので、102gのドローンX300Cに65gのアクションカメラHDR-AZ1を貼り付けて撮影。
が、こちらも重くて、高くは上がらず。無線LAN、ライブビューもあるので、飛ばないラジコンに載せて使うのが楽しそう。


鯖江、西山公園、つつじ満開、見頃です!

参考リンク
- 2011年 西山公園 ドローン撮影
- 2013年 西山公園 ドローン撮影(つつじ)

空飛ぶコンピューター、格安ドローンIchigoJam搭載実験

2016/04/17
#IchigoJam #maker #drone 

熊本地震のがけ崩れの撮影など、活躍の幅が広がるドローン。
阿蘇大橋が崩落した地震被害がわかる ドローンで撮影した熊本(動画)
普段、駐車場の空き状況などを上空から調べる定期巡回をさせておきつつ、緊急時にはAEDを届けたり、現場をレポートするようなシステムがあるとより安全・安心・快適なまちになりそうです。


なんと、1万円ちょっとで買えてしまうスマホへ中継できるカメラ付きドローン。
これを自律制御する実験として、ひとまずIchigoJamを載せてみました。


飛ぶかどうかの実験ですが、いちおう自律プログラムを書いておきます。
LEDを2つ追加し、交互に点滅するプログラムです。

10 OUT 1:WAIT 30 20 OUT 8:WAIT 30 30 GOTO 10 SAVE 0


3Vのボタン電池CR2032の電源基板を挿して、ボタン押しながら起動で、光ります!
このように上に搭載できるとかっこいいですが、このままだと羽と干渉します。
台座を3Dプリンターなどでつくってやる必要がありそうです。


ということで、ひとまず下にセロテープで貼り付けて、飛ぶかどうか実験。

飛びました!(空飛ぶIchigoJam動画 on Vine


無線LANで接続するコントローラーとドローン、制御用の仕様があればいろいろ楽しく使えそうです。

より小型なドローンラジコン、カメラはありませんが、更に安くてなんと2,500円!
安定したホバリングさせるには大きい方が有利ですが、ひとまずあれこれ飛ばして想像膨らませるには小さいものは手軽でいい感じです。

参考リンク
- 1万円ドローン Holy Stone iPhone&Androidで生中継可能 FPVリアルタイム伝送 ドローン 国内認証済み 日本語説明書 バッテリー 充電ケーブル2個付き モード1モード2自由転換 2.4GHz 4CH 6軸ジャイロ クアッドコプター X300c
- 2,500円ドローン ドローン 6軸 LED搭載 360°宙返り ヘッドレスモード ボタン一発で帰還 マルチコプター ラジコン ヘリコプター H8 ブラック

ドローンが巡回して空き状況を把握してはどうか? 最寄りの駐車場を探すアプリ odp版

2016/01/18
#idea #opendata #SPARQL #odp #drone 

駐車場が空いていなくてちょっとがっかりすること、どこが空いているか探しまわる無駄な時間、駐車場が無さそうだと外出を諦めることを減らすためには、リアルタイムな駐車場の空き状況オープンデータは必須。 ただ、センサーを多量に設置するのは大変なので、ドローンを巡回させて空から空き状況を把握する形はどうか?

衛星でもいいが、今すぐできそうなドローン駐車場把握システム。いざとなれば、AEDをもって駆けつけるシステムと兼ねてもいい。 飛ばしてそのデータをそのままオープンデータとして公開するだけのお試し運用なら、予算100万円もかからないかも。

こちら、現在の5つ星化された駐車場オープンデータ(現在データは鯖江市のみ)を使った最寄りの駐車場アプリ。


駐車場を探す odp版
丹南ケーブルテレビが取材した動画が見られる「みせばん」オープンデータとマッシュアップしてます。

関連リンク
- 「1/23(土) 防災オープンアプリハッカソン
- 「ドローンで災害地を救え!世界初の救援隊「DRONE BIRD」始動(古橋大地(DRONE BIRD隊長)) - READYFOR (レディーフォー)

長岡技科大発ビジネスプラン!アントレプレナーアドバンスドコース最終日

2015/12/08
#kosen #nagaoka #opendata #drone 

多くの留学生が通い、授業はすべて英語という長岡技科大。先日おじゃました、アントレプレナーアドバンスドコースが最終発表会を迎えるとのことで、再び来長。 地域の特性と学校の強みを活かしたプラン、どのプランも今すぐにでも始めちゃってもらいたい!下記、質疑応答時でのコメントなど、添えながらの紹介です。


マレーシアからの留学生、アデリンさん。長岡高専からの進学、仙台の高専イベント以来!


「Moonlight Cafe & Bistro」
多国籍な料理に、楽しい音楽を、外でリラックスして楽しめるところがほしいを実現するというアデリンさんのプラン。
いつでも1to1で情報伝達できる時代、天候リスクに負けない、柔軟な営業時間と、数十カ国の料理を日替わりにして、何が出てくるかわからないワクワク感の演出とするのも楽しそう。 とりあえず、学内にパラソル立てた気軽なパーティーから始めて、ソーシャルの輪を広げていけるときっといいことある!
参考事例「元クックパッドのエンジニアが起業 飲食店の常識を覆す「未来食堂」 | 月刊「事業構想」2016年1月号


「牛丼を世界に」
牛丼が好きすぎる男。世界中の人にもっともっと味わってもらいたい!という熱い気持ちが伝わった。
世界中から集まる留学生、味覚の分析を定量・定性両面、徹底的に行ったメニュー開発を強みとして、長岡学内店の成功、東京出店、世界展開なんてどうだろう? 福井県のソウルフード、カツ丼(ソースカツ丼)をモバイル化したサバエドッグをぜヒントにした、ファストフード、モバイル牛丼(ギュウドッグ)とかもありかも?


「インターネットによる情報伝達を利用した組織的移動屋台事業の提案」
産地直送の移動販売、好きです。アプリで販売しているものや場所がさっと分かったり、欲しいと予約できたりすると楽しそうです。 利用情報やニーズを横断的にまとめられると、新たな移動販売ビジネスの立ち上がりも早まりそう。まずはお気に入りの屋台の人と仲良くなって実際アプリを使ってみてもらうとかいいですねっ。


「雪トルんば」
雪国ならではのお気に入りプラン。キャタピラ型のロボとドローンをつないで、危険が伴う重労働、屋根の雪下ろしサービスを格安で提供。 年間4回まで2万円の補助がでるらしいので、ひとまずロボ+学生の新体制で今年の冬から活躍してもらいたい。新潟弁で「んば」とは、「しなきゃ」的意味? ちょうどステキな動画がシェアされてきて、大人気!

500近い、いいね!を集めたこちらのシェアした動画!
福井で売れそう!雪国は除雪ロボコンが熱い!?
まずは雪かきラジコンで雪かきを楽しく!そして、自動化して雪かきロボコンへ!


それぞれ、市場環境やSWOT分析、事業計画を立てています。


「地方の高齢者向け買い物支援」
過疎化と高齢化が進行する近未来に向けた、買い物難民対策。大手ECとの差別化に、地元商店のオープンデータ、アプリ、ドローンで超IT武装させちゃうのはいいかも。


「Computer software retailer business plan」
ベトナムからの留学生は、インバウンド外国人をターゲットにしたパソコン提供サービスの考案。 多国籍な視点で考えられるのが長岡技科大のいいところ!


長岡技科大、衝撃のうどん・そば、110円!なんと丼も145円!


メニューと値段をアプリで使いやすくした、学食オープンデータはきっとおもしろいので、長岡はじめ全国の学生さん、ぜひ!


学内にある喫茶店風のお店、漢字の穂に丸をつけて円周率のπ=ポパイ。
他に、大きな学食が2つありました。空き状況チェックアプリも実用的なIoTを実験するにはいいですよ!

エンジニアリング=実践あるのみ!
プラン(夢)をカタチ(現実)にするために必要なのはたったひとつパッション(想い)
テクニック(技術)は、実現までの時間を大幅に削減してくれるツール(道具)、両方磨けば最強です!

250ある(?)日本の歴史公園百選のひとつ、西山公園をUAVで撮影

2013/05/13
#sabae #drone 

福井県鯖江市にある西山公園は、GW前後につつじが満開となります。
朝ちょっと早起きして、iPhoneで操縦するラジコンヘリ、AR.Droneでちょっとだけ撮影してみました。
初期型なので画質がちょっと残念です。

こんな感じのお手軽UAV(無人航空機を意味する英語 "Unmanned Aerial Vehicle")、AR.Droneで撮影。
SONYのBloggieを載せてみましたが、いまいちだったので上記はAR.Drone内蔵の映像です。


鯖江駅から徒歩15分、季節によっていろんな表情が楽しめます。ちょっと登ると無料で入れる西山動物園も!
福井県鯖江市>西山公園のご案内」(日本の歴史公園百選

#zaigo結成1周年、我々にできること UST@西山公園

2011/04/10
#sabae #drone 

震災の傷跡、原発の影響が続く中、我々にできることは何か?
身の丈に合う復興支援を行い、無用な自粛を避け、元気に活動すること。
もんじゅを抱え、世界一の原発密集地である福井に住むものとして、正しい知識を得、広めること。
#zaigo結成1年を迎える4月、気持ちを新たに活動していきます!

鯖江市長(@hyakuo)も駆けつけた桜咲く西山公園での野外USTでした。
録画:PART1 PART2


#zaigo 生放送中の様子をiPad2で撮影


空撮はAR.Droneによるもの (photo by @tana_boo)

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像