スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NetWalkerじゃなくて電子辞書

卒業したことだし真実を話そう。

実はこれまでNetWalker電子辞書と読んでいたもの。

実はNetWalkerだったんです!(棒)

びっくりした?(棒)

NetWalkerってlinuxがそのまま入ってるしJavaVMも動くからArduinoIDEも動かせるし日本大会ではバッテリーが持たないノートPCの代わりにプログラムの調整に使ってた。

cやJAVAやPythonを書いてその場でコンパイルしたり実行したりできる。

パソコンを遠隔操作もできる。

すっごく便利。

辞書モデルなので普通に辞書としても使えるし、EPWing形式の辞書を買ってきて入れることができるので辞書コンテンツもたくさん後から入れられる。Wikipedia入れた。

さらに最新の辞書よりもはるかに高精細なディスプレイを搭載しているため文字や画像が見やすい。

これを抜く性能の電子辞書はまだ現れていない。

その性能たるや余裕の2日間でお馴染みのIGZO搭載スマホ203SHと画面サイズも解像度も大体同じ。

ただ、後ろにモバイルインターネットツールって書かれてるのを隠そうと、ここに
名前のシール
名前のシールを貼っていた。

けど、普通にバレたし、もともとこれの存在を知ってた先生が少なくとも2人いる。それでも使ってた。

しかもロボ研準公式botでネタにされてるし。

リカバリーディスクを作成できない問題をシェルスクリプトの改造で乗り切ったり壊れた充電器を修理してまた使えるようにしたりとかなり手のかかる子だったけど、それがあってもやっぱり便利。

USB A端子があってちゃんとUSBメモリー使えるし、キーボード変だけどあるってだけで利点だし。

NetWalkerいいね。

これからはNetWalker電子辞書改めNetWalkerなのでよろしくお願いします。

東山中学校ロボット研究会のすすめ

東山中学校ロボット研究会のすすめ

私は東山中学校ロボット研究会で部長をしていた者です。

この文章は東山中学校に入学した人への、ロボット研究会の紹介と勧誘です。

ゆっくり読んでいってください。


■ロボット研究会に入るためには? 入ったらどうするの? 何をしているの?

ロボット研究会はとても自由なクラブです。(以下ロボ研と略します。)

一年生になりすこし時間がたつとロボ研の講習会が開かれ、それを受講すると晴れて入部することができます。

入部してからは誰からも特に何をしろとも言われません。何をするのか決めるのはあなたです。

基本的にはWRO(World Robot Olympiad、ワールドロボットオリンピアード)とRobocup Junior(ロボカップジュニア)という2つの大会に出ていますが、どんな大会に出ようとも自由です。新しい大会を見つけてきて、それに向けてロボットをつくるということも可能です。
この文章は主にロボカップに出場する場合を想定して書かれています。

ほとんどの大会では、出場するためには2人以上でチームを組むことを求められます。

ですからロボ研に入部したらまずはチームを組みましょう。

小学校、塾の仲間、中学校で初めて知り合った人・・・など。

ここで組んだチームメイトたちはずっと、あなたの良き仲間になることでしょう。




■ロボ研では自立が大切

ロボ研では何事も、自ら動くこと、自立することが大切です。

ロボットは本当の意味で作った分だけ作った通りに出来ます。そして、出てくる問題は無限にあります。あなたのロボットにある問題を解決するのはあなたの仕事です。

この、問題の解決にとても重要なのが自立することです。

自立して、自分で問題を探し出し、自分で解決方法を考え、自分から質問し、
進んでロボットを改良し続けるあなたとそのロボット。
自立せずに、他人に指摘されてから、された分だけ改良するあなたとそのロボット。

どちらがすばらしいか言うまでもありません。自立なしに進歩はありません。

もし、あなたが真面目に活動しなかったとしても、先輩たちは相当迷惑にならない限りは注意することはありません。
ロボ研では常に、今、自分は何をするべきか、何が出来るかを考えてください。
先輩達はあなたが自分で自分のするべきことを考え、行動するようになるのを待っています。

もし、何をすればいいかが分からなくなったり、技術的な問題ができたりしても先輩たちはすぐにそれを見つけて教えてくれる!なんてことはありません。
分からないことがあればためらうこと無く質問してください。先輩達はあなたが質問しに来るのを待っています。

先輩が怖くて質問できないと思っても、まずは無理やり質問しに行ってみましょう。

問題を自ら解決した後の成長したあなたは、自分で見てもとても素晴らしいと思えるはずです。





■大会で成長します

年に何回か大会があります。初めて出場しても優勝することは難しいでしょう。

しかし、なにが悪かったのか、何をするべきだったのか、そしてこれから何をするべきかを研究してみてください。

他校の出場者と仲良しになったり技術を交換したりして楽しむこともできます。




■新しい世界へ・・・

大会で得た経験を元にまた次のロボットを考えましょう。

おそらく新入部員にはレゴブロックを使ってロボットを作るLEGOMindstormsRCX(レゴマインドストームRCX)という、あなたが生まれる前につくられたというとてつもなく古いロボットキットが貸し出されることになると思います。

これで勝てるロボットを作るのは困難でしょう。

そしてそう思ったら周りを見渡してみてみましょう。

LEGOの与えられたパーツだけでなく自ら部品を買い、作ることでとても高性能なロボットを作成している先輩がいます。

彼らが作っているものを私は自作ロボットと呼んでいます。

LEGOのロボットキットに比べ製作は難しいものですが、計画を立て、設計し、部品を作り、買い集めて組み立てるという工程は企業や大学の研究者が行うロボット製作と全く同じです。

中学生にして大人と同じことができるのです!

さらに、自作ロボットを作るときには学校で学んだ知識が良く役に立ちます。

プログラミングには数学が、電子回路や機械部品の作成には理科が、電子部品によくついてくる英語の説明書を読むのには英語が、大会で発表するプレゼンテーションには国語の勉強が役立ちます。

学校の勉強をすればロボットがよくできるようになり、ロボットがよく出来るようになれば勉強もよくできているでしょう。

ただ、ロボットの自作はとても有意義ですがとても難しいものです。

何も知らないところからロボットをつくり上げようとしてもなかなか出来上がるものではありません。

始めは先輩たちが設計し、プログラムを書く様は魔法を使っているかのような、普通の人間にはできないことをしているように見えます。

しかし、彼らは普通の人間です。彼らにできることはあなたにもできます。ぜひ質問に行ってみてください。

先輩たちはより多くの技術を持っています。より多く成功し、より多く失敗しています。あなたの知らないことをたくさん知っています。

いっその事先輩たちのチームに入ってもいいでしょう。

そうすればより早くロボットづくりが上手になるでしょう。チームメイトになった先輩に意見することもできます。

自主性も知識も技術も持ち合わせたあなたは自分が思うことよりもっとすごいことができます。

高かったはずの目標も低く見えてきます。

もっと高い目標を掲げても大丈夫。誰も作ったことのないものも作れます。




■あなたは先輩

二年生になればあなたにも後輩ができます。

後輩が試行錯誤を繰り返すさまを暖かく見守ってください。

「教えて下さい!」と言われれば喜んで教えましょう。

後輩が成長するにつれ後輩から学ぶことができたりします。

そこから学べば自分も成長できます。

後輩の成長は自分の成長にもつながります。




■高校生も先生もあなたを助けます

ロボ研の活動は高校にも広がります。

平成24年(2012年)12月に高校にもロボット研究会ができました。

中学と同じ所で活動しているので中学校でやり足りなかった人も、もっとロボットが作れます!


高校生が同じ所で活動していることで、より高度な技術に間近に触れることが出来ます。

そんな先輩たちに加え、コートを作ったり機材を購入、用意したり叱ったり人生相談したりと熱心に部員のサポートをしてくれる先生もいます。

あなたが活躍できる環境が、ここにはあります。



想像してみてください。卒業するとき、あなたはどのようになっているでしょうか。





■おまけ 活動の成果と自分の思い出
ロボカップジュニアジャパンオープン(日本大会)にほぼ毎年出場している。
WROではTeam Sealが日本大会で優勝、審査員特別賞、プレゼンテーション最優秀賞の3つという一回に取れる全ての賞を受賞。すごい!
彼らのうち2人は2年前にも日本大会で優勝して世界大会に行っている。
これらを含めてこれまで合計3回世界大会に出場。
昔出場していたスペースロボットコンテストという大会の決勝リーグの半分を東山で埋めたことがある。優勝も東山がいただきました。


私は中高6年間ロボットをやりつづけてきました。
高校にロボ研作ったのは私です(`・∀・´)エッヘン!
初めて自作ロボットを作ったのも私です(`・∀・´)エッヘン!!!
参考にするものが何もなくて、頼れる先輩もおらず、知識も技術も資金も全く無く本当に大変でした。
無い無いづくしのロボット開発史はこのblogを読めばわかりますが・・・読まないで!(*ノωノ)ハズカシ
今は揃ってますからこんなことにはならないはず。


ロボ研の思い出といえば、ロボカップジュニアでチームメイトの神暇がまわりの出場者に飴を配り回ったとかそうしたら周りの出場者から飴のお返しが来たとか、突然の思いつきで生まれたマスコットキャラクターをだふが本当に絵にしてくれたとか、設計を間違えて配線が燃え上がったとか。ある大会に超高性能ロボットを持ち込んで主催者にほぼ名指しで批判されたり。機材の取り扱いが悪すぎて怒られたり。昔、大会のルールの英語版が発表されたときに日本語版の発表が待ちきれなくてみんなで翻訳したとか。いろいろあって楽しいクラブでした。
いつもはこんな雰囲気です。 私の発言はVAという名前で書かれていると思われます。


文章の中ではほとんど機械のことしか触れてないけどプログラミングも楽しいですよ~。私はプログラマーでしたー。
中学校のサイトの紹介はかなり古くなっています。今ではもっと高度なことも出来ますよ。
二足歩行ロボットつくるとか言ってる人まで表れました。
RCX借りられると書きましたがNXTもあります。
ロボ研は兼部可能です。私の先輩には野球部と兼部してる人や卓球部と兼部してる人もいました。
私自身高校では放送部と兼部してましたし。


■保護者の方へ
ロボット作りは楽しいです。
オープンキャンパスで行われるロボット教室を受講された方にはよく分かると思います。
時を忘れて熱中し、目を輝かせてロボットを作る姿を見ることが出来るでしょう。
それは、中学校に入学してロボット研究会に入部しても変わりません。
卒業したあと、「中学生のとき何してた?」って聞いたらすぐに「~してたよ!」って楽しそうに答えてくれるでしょうか?
私はできます。ロボット研究会で過ごす3年間は誰よりも濃い3年間になるはずです。


■最後に・・・
入学前、みなさんが頑張ってやってきた受験は誰かがやったこと、人と同じことをより良くできるようになることを競いますが、ロボットの大会はそれだけでなく、いかに人と違うことが、誰もやったことのないことができるかも重要になってきます。学校の勉強だけではできない経験ができます。とても面白いですよ。
さあ、東山中学校ロボット研究会へ!私達は成長していくあなたが来るのを待っています!

やっぱり

あとは何がしたかったのかを書くだけと書いていましたが、やっぱり書くのやめます!

年齢的にやりたかったことをRCJで実現するのは無理なので、アイデアを書いて誰かにやってもらおうと思っていましたがやっぱりやめます!

なぜなら大学に入ってから自分で趣味でつくろうかと思ったからです。

どこに出せるというわけでもありませんが、知識と技術をつけてから自分のロボットを作ってみたいのです。

小学生のときにやっていたテニスを抜いて一番長くやってきた活動となったロボットづくりの終わりが”未完成”という事態は避けたい。

以前ここに敗者インタビューを投稿していたことがあります。あんな感じに問題点と改善点を書いた文章を作ったのですが、それを時々読むうちに改善したロボットを自分で作りたいと思うようになりました。

改善に加え新しいアイデアも浮かんできて、これを自分で作ってみたいと思いました。

そういうわけで何がしたかったのかの公開はおあずけです。

さあ、知識と技術と資金を持つ、大人が作る「大人げないロボット計画」の開始です!

大学で何か他のことに熱中していたら、できるのは社会人になってからになるかもしれない。


大人げないロボット計画
1 基本は夢の様なロボット計画
2 基本的にプログラム勝負で勝つ。やりたいのはラグビーじゃなくてサッカー。
  機体性能高いのにプログラム残念なロボットってたくさんあるので。
3 考えながら思ったことは”軍艦に似てる”。形じゃなくて機能の話。
4 *****



今日のつぶやき
まったく点数足りぬままもう来月センター試験。
2011年のロボカップ後に作った敗者インタビューには
「我々に足りないものは計画性」って書いてあった。うぅ・・・昔の自分、かなり痛いところを突いてきますね・・・。
そういえばロボット作るときにも知識や技術だけではなく計画性も無かった。
今の勉強も計画性薄い。このままだと失敗コース真っ逆さま。
計画つくろう。もちろん夢の様なではなく現実的なものを。
もう大人げない計画は書いたことだし今日からロボットものなめも一切考えない!受験後の楽しみにとかも考えない!
勉強するときは遠くのベッドにフィンランドの国際的スポーツ携帯電話投げしてから!
いまから英語、寝る直前に単語復習!
これでよし

みなさんも計画足りてます?


2/26追記
書かないといったけど書く予定だったものをちょっと書く。

44番的ロボット設計の哲学
1,プログラムはロボットを動かすためのものではない。
  ロボットがプログラムを動かすためにある。
2,プログラム通りに動くロボットが良いロボット。
  1+1=3になるコンピューターがあったら悪いコンピューターでしょ?
  右へいけって言ってもうまく右へ行かないとかありえない。そんなロボットすぐに取り壊す(マジで壊したことがある)。
  プログラムが理論通りに動くハード(と意識しなくても動きに補正をかけるプログラム)を作るべし。
3,資金は贅沢に使ったほうが得。中途半端に金を惜しんだほうが損する。
  うちのチームでは中途半端に出し惜しみするほどの資金もなかったけどね・・・(´Д⊂ヽウェェェン
  ただ、不動でも胡蝶でも、たいてい思い切って買った部品は値段の割に良かった。

また書き足すかも。

44番情報公開3 ハードウェア

ひさびさ更新。受験中なのでささっと解説。

こんなロボットになってました。
写真23

前回からの違いといえば三代目ドリブラーが追加されて上部に電池収納用の穴がテキトーに追加されたことですかね。

このドリブラーは予想通りドリブルできない。ボールを保持する腕が無いので簡単にこぼれる。

モーターの駆動には予備部品を使ったがその予備部品が故障していたため実戦では蹴るしかしなかった。

後にラジコンのプログラムにドリブラー駆動の命令を入れてゲームパッドからも動くようになった。

まともなのは台車だけ。
写真20
機能の割にはすっきりしてると思う。

写真22
45×45の基盤にモータードライバ制御用論理回路(IC2つ)と接続用端子2つとそこまでつながる配線を詰め込んだ。

基盤の両面はほとんど配線で埋まっている。最大3層にもなる配線は電子辞書に入れたGIMPのレイヤー機能とグリッド表示を使って気合で書いた。

写真21

メインマイコンからの指示でモータードライバを動かす基盤はかなり昔に作った自作Arduinoに自作シールド(?)を取り付けて使用。

長さの長いリセットスイッチは横に倒すだけで反応してくれるので挿したままでもリセットできる。

同時に5つのモーターに命令を送ることができる。



以上、本当にささっと解説終了。

あとは何がしたかったかを書くだけだがいつ書けるかな・・・。


今日のつぶやき
放送部で文化祭で流す10分の映像を30分で編集(しかも完成)させた。しかもその後切り替え効果半分自作の10分の映像をまた30分で完成させた。
昔3時間はかけてたのに。何をしてたんだろう。
放送部最後の作業ですね・・・。

44番情報公開2 中身

まあ、中身書いて行きましょう。 前回書いた物以外でつくったおもしろいものもあるよ。

●motor()に関して

三角関数を使います。

モーターを全部正回転させたときにロボットが反時計回りに回転するとします。

角度の起点はロボット右側。反時計回りに角度が増える。前なら90度。右なら0度。

で、モーターのとりつけ(出力軸が向いてる方)角度がa、進みたい方向の角度がb、進みたい力進ませたい速さがcとするとモータにかけるべき力を回すべき速度dは

d = -sin(a-b)*c

で表せますね。

それだけ。

あとはこれをタイヤの数だけ計算して回転をかければよし。

実行したらわかるが速さが無駄になるになる角度があったりする。対策は、まあ気合でなんとかしてね。

4輪のロボットならsin(θ+π/2) = cosθとか向かい側のモーターの回転方向は常に逆っていうことを利用すればすこしコードが短くなるでしょう。

●c360()はそのまま
int c360(int number)
{
while(number >= 360)
{
number = number -360;
}
while(number < 0)
{
number = number + 360;
}
return number;
}


●rmagdir()はc360を使って

void setdir(int number){stddir = number; dirinit = magdir()}

int rmagdir() {return c360(magdir() -dirinit + stddir);}

magdir()は磁気センサーの値を読む関数だ。

これだけ。たった1行。


●oob()
下を見ながらサッカーとか嫌だから作った。

理論上の話を書く。仕組みは簡単。

44番のロボットは行動のすべてを方向と力の極座標系で指示する。

まずは従来のサッカーするプログラムを実行。ロボットがとりたい行動(ホンネ?)を出す。

これは従来のプログラムなのでもちろん極座標で出力される。

この極座標を直交座標に変換。軸は壁に合わせて。

そして超音波センサーを使って壁との距離を測る。

もし壁に接近しすぎたら壁方向に進む力を消せば外でないじゃん!っていうだけのプログラム。

そうすればあたかもそこに壁があるような動きをする。

本当に線から出そうになったら壁から遠ざかる方向の力を増やせばいい。

それを今度は直交座標から極座標に変換すればmotor()で扱えるようになる。(タテマエ?)

この方法ならこれまでのプログラムの最後にこの文を追加するだけでロボットが外に出なくなる。

しかもこれまでのプログラム本体にまったく干渉しないからバグの原因にもなりにくい。


●ロボットをラジコン化してみたときに使ったプログラム。
これは楽しい。

通信にはシリアル通信を使用。ArduinoIDEのシリアルモニタとかいうあれ。あれでデータを送る。

SPPを採用したbluetoothの通信モジュール経由でもデータが送れる。

その上でデータを文字か何かに置き換えて送信し、受信してデータに戻すっていうことをする必要がある。

その”何か”のことをプロトコルというらしい。

で、プロトコル作った。

気合で。

ロボットの台車を制御するのに必要なデータといえばいつもの方向、力、回転力の3つ。

他に必要なのはいつもの3つのうちのどのデータかをしめす識別記号とデータ本体とデータの終わりを意味する終端記号。

ArduinoにはreadBytesUntil()とかいう超便利なものがあったのでそれを使用。

書式ははじめ3文字が数字を表し、4文字目を3種類のデータの識別用、5文字目を終端文字に。

すなわち

090a%255b%と送信すれば90度方向(前)に全速前進するという命令になる。

おくるべきデータは10進法で3桁なのでまずは文字を3つ使用して数字を表現、どのデータかを示すのはアルファベットでabcにした。終端文字は使わなさそうな%にした。

3桁の数字はatoi()で文字列から数字にする。

文字の受け取りには配列を使用。

reading[3]は4文字目を表すのでこれがaなら前3つの文字を数字化したものをdirに代入、bだったらpowerに代入するとかそんな感じ。

しかし、いちいち文字を打ち込むのは面倒なのでprocessingでゲームパッドの情報を読み込みシリアル通信のさっきの命令を書かせるプログラム作った。

あとbluetoothモジュール使えばゲームパッドで動くラジコンが出来上がる。

これは楽しい。

試合では使えないがやってみたらとっても楽しいので作って見ることをおすすめします。

そのうち例文上げるかも。 追記 上げましたhttp://nonamelaboratory.web.fc2.com/robo/remotedistribution.html

次回はハードに関して。それが終わったら、で、何がしたかったのかについて書く。
要は夢の様なロボット計画の*****の部分が何かって話。


今日のつぶやき
のなめサイトがのなめ倉庫になりました。上にリンクあります。
なかなか革新的なデザインだと思う。Skeuomorphic Designな感じで(読めねぇw)
昔作ったレポート用紙なピットマップ画像の上にペンタブで文字を書いた。なんで本物のルーズリーフを使わなかったのかといえば、著作権的にどうなのよって思ったから。


この記事の中身を見て意味分からねぇよ!って思ったら質問どうぞ。ソースコード公開する以外のすべての方法でお教えしましょう。sinって何?極座標って何って話からでもどうぞ。
わからないまま使うのはやめてください。意味ないですよそれ。

あ、祝7000だった。
プロフィール

Vega  Altair

Author:Vega Altair
大学生になりました。
44番というチームでロボットの大会に出ていたドリルの刃を手で回してアルミ板に穴を空ける系プログラマー。
twitter始めました
サイト跡地にのなめ倉庫を設置してみた。下のリンクからどうぞ。

カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
最新コメント
最新記事
月別アーカイブ
カテゴリ
きたひと
このblogには
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。