製作日誌

ども、佐藤です。

今週の製作状況ですが、ほっとんど進んでません。ライントレースが一応完成したところまでです。とりあえず、花見とか、授業の課題とかやってたんだよと言い訳しておきます。

次は、ステッピングモータの加速・減速のプログラムの修正や、回路の製作辺りをやっていこうと思います。

今回はこれくらいにしときましょう。
・・・そろそろタイトルの名前を変えたいんだけど、いいネタが思いつかない・・・

AVR-GCCの自前ビルド

LinuxでAVR開発をしたり、Cygwin 1.7以降でavr-gccを使う場合にはLinuxでもAVR(1)にあるようにパッチを当ててからビルドしなければなりません。しかし、WinAVRのCSVリポジトリにあるパッチは少々古く最新のWinAVR用のパッチがおいてありません。 by Y.O

WinAVRのリポジトリのパッチは対応するバージョンのbinutilsやgccをダウンロードしてきてもHunkがでてきれいにパッチがあたりません。では、本物のパッチはどこにあるのだろうと探し回っていたらようやく見つけました。なぜかわかりませんが、FreeBSDのリポジトリにパッチがあります。binutilsパッチgccパッチがあります。avr-libcパッチは本稿作成時点ではないようですね。こちらのパッチは対応するバージョンのbinutilsとgccをダウンロードしてくればきれいにパッチが当たります。ついでにgcc3系統のパッチもあるようですので、小さなバイナリを生成したい人はgcc3でビルドするといいと思います。gcc3では対応していないデバイスもありますが、すzさんの記事を見るとデバイスを追加する方法が解説されています。

しかし、GPLライセンスなのにソースを探すのに苦労する状況はいいのですかね。GPLは元のコードに対するパッチで配布するのも認めておらず、完全なソースを提供する義務があったはずなのですが。個人的にはソース丸ごとよりパッチで配布のほうが新しいバージョンに対応させやすいので歓迎ですけどね。

なお、そのままではCygwinでbinutilsビルドが通らなかったのでバッチを載せておきます。

[plain]
— original/binutils-2.20/gas/as.c 2009-09-14 20:43:26.000000000 +0900
+++ binutils-2.20/gas/as.c 2010-04-20 13:42:03.235105700 +0900
@@ -50,7 +50,7 @@

#ifdef HAVE_SBRK
#ifdef NEED_DECLARATION_SBRK
-extern void *sbrk ();
+extern void *sbrk (int);
#endif
#endif
[/plain]

追記 :
上のパッチは正しくconfigureが通った環境では必要ないのですね。ノートン先生がいるとconfigureが正しく行われないので、それで必要になってしまったようです。

カメさん(首を振れます)

TMRTのガワを担当しているハラダです。

この前、体の中をボールが転がるためのレールを取り付けました。(下の写真)

次に、ボールを首を振りながら探すことになったので首を左右に振れるように手直しをしていきます。干渉する部分を削り、首の支えの位置をずらし首の振り幅を大きくしました。

次からは、甲羅の製作に入っていこうと思います。

前回の単語の説明+製作日誌

どうも、佐藤です。

前回の日誌でライントレースとかフラッテンとか言ってましたが、わからない人もいる、っていうかわからない人のほうが多い、というかフラッテンに至ってはT-semiでしか使われていない用語らしいので誰も知らないと思うので、ちょっと説明したいと思います。

まず、ライントレースのほうですが、これは、ラインセンサ(簡単に言うと、床の色が白か黒かを判別するもの。他のチームの日誌に写真があります。)という回路で床のライン(InRoFでは白い床に黒いラインが引いてある)を読み取ることを言います。
そして、フラッテンは、例えば、床に段差があった等の理由で、ロボットが進行方向から曲がってしまったときに、元の向きに直すこと等を言います。

前回言っていた、「ライントレースでフラッテン」とは、床のラインを読み取って、そのラインにあわせるようにロボットを動かして、正しい向きに戻してやることです。

・・・こんなところでしょうか。
さて、次は今週の製作状況ですが、まだライントレース近辺のプログラムが完成していません。まぁ、少し手直し等もしていましたし、もう少しで完成なので、問題ないでしょう。

では、また来週。

ほうだい!!

唐突ですが、砲台の機構について説明したいと思います。

今回は砲台を上下できるようにしました。まずはその回転に使うモーターです。

Hitec製のHS-805BBというサーボです。普段よく使われるサーボに比べれば、サイズも力もかなり大きいものです。また回転軸を固定するために、真鍮を削り出してセットカラーと呼ばれる部品も旋盤で削り出しました。

次に、回転の軸受に使ったボールベアリングです。ベアリングについてはこちら。外形が10mmなのですが、9.9mmの大きさで穴をあけ、ハンマーで打ちこんで固定してあります。

ベアリング

最後に、軸が左右にずれないように固定するためのセットカラーです。ベアリングの内側にも外側にもセットカラーが触れると、ベアリングがうまく回転しなくなってしまうため、内側だけに接するように、サーボモータと軸をつなぐためのセットカラーとは違い、突起をつけてあります。

次は、砲台にボールを取り込むためのアームを作っていきます。

by Ohtake

受けてみよ、1kJの一撃を…!

前回は溶接だけで終わってしまいましたが、今回はしっかりと発射できました。

まずはその成果を

はい。アルミ缶にある黒くて丸いモノは模様ではなく穴です。この記事では先端の平らなプロジェクタタイルを紹介していますが、今回の実験では、五寸釘から先端をとがらせたプロジェクタタイルを作って飛ばしました(本番は先端の平らな方を使います)。この実験中は先輩方も怖がっていて、中にはフルフェイスヘルメットをかぶる先輩(某I先輩)までいました。

やはり半導体スイッチの方が効率がいいようで勢いよく加速されました。結構エネルギーがあるように見えますが、InRoFのボール(30g)を飛ばすとなるとエネルギーが足りないかもしれません。なので、ガワがある程度完成してから、もう一度実験をします。

この実験が見たい場合は部室までどうぞ。20分くらいで装置のセットアップが完了します。月曜の放課後(3限目以降)と、土曜には実験を行える者(Shiozaki)が必ず待機しています。それ以外の日も出来るだけ部室にいるようにするので、運がよければ見られるかも。どうしてもみたい場合はwelcome(AT)t-semi.orgまでメールをください。

タイトルの元ネタが分かった方も是非。

By Shiozaki

SAIMON

昨年SAIMONという名前のロボットで出場したY.Oです。今年も同じようなコンセプトで更なるブラッシュアップを目指し出場します。さて、以下の写真は去年のロボットですが、とりあえず去年のロボットを動かしてみようとしたところ、なぜか問題発生。プログラムを修正したかったのですが、去年からコンパイラをgcc3からgcc4にアップデートした影響でコンパイルが正常に通らなかったり、コンパイルが通ってもうまく動かなかったりと苦戦しています。とりあえず、マイコンの選択をする上で参考にしようと思っていたので少々弱りました。がんばって今日か明日には動くようにしたいと思います。

回路

TMRTに使っている回路について少し話したいと思います。

まず、カラーセンサー

この回路にLMC662というオペアンプを使っています。

次はラインセンサーです。

フォトレフレクター2つで、オペアンプとしてLMC6482を使っています。

最後はモータードライバ

モータードライバはSLA7033 2つ使っています。出力電流は2.8Aにした。

Diptarama

Cygwinを使いやすく

Cygwinの標準のターミナルでは、色が見にくいです(特に青がほとんど見えません)。

そのため、別のターミナルを入れて見ることにしました。

PuTTYやCygtermが有名ですが、今回はminttyを入れてみました。Cygwinよりはましですが、初期状態だと色が見にくいです。


このあたりを参考にして、以下を.bashrcに追加しました(色は筆者の好みです)。

[bash]
#Change ANSI Colors
if [ $TERM = "xterm" ]
then
echo -e
"e]P0000000"
"e]P1cd0000"
"e]P200cd00"
"e]P3cdcd00"
"e]P41e90ff"
"e]P5cd00cd"
"e]P600cdcd"
"e]P7e5e5e5"
"e]P8666666"
"e]P9ff9999"
"e]Pa99ff99"
"e]Pbffff99"
"e]Pc9999ff"
"e]Pdff99ff"
"e]Pe99ffff"
"e]Pfffffff"
fi

[/bash]

これで、色が見やすくなりました。

そのほかに、右クリックからcopy&pasteができたり、透明化ができたりもします。もちろん、日本語も使えます。

補足:上で実行しているansi_color.shというのは次のようなスクリプトです。

[bash]
#!/bin/sh

echo -e
"e[30mBlackn"
"e[31mRedn"
"e[32mGreenn"
"e[33mYellown"
"e[34mBluen"
"e[35mMagentan"
"e[36mCyann"
"e[37mWhiten"
"e[30;1mBright Blackn"
"e[31;1mBright Redn"
"e[32;1mBright Greenn"
"e[33;1mBright Yellown"
"e[34;1mBright Bluen"
"e[35;1mBright Magentan"
"e[36;1mBright Cyann"
"e[37;1mBright Whiten"
"e[0m"
[/bash]

2010/4/11 Cygwinの標準のターミナルで起動時に無意味な文字列が表示される問題を修正

By Shiozaki

CygwinでもAVR

最近新しいPCを買いました。以前はFedoraを使っていたのですが、これを機にWindowsに乗り換えようかと思います。

Windowsでもbashが使いたかったので、WinAVRとCygwinを入れてWinAVRのbinにPATHを通しましたが、avr-gccがランタイムエラーで止まりました。仕方がないので、ソースからコンパイルすることにしました。

CygwinのインストーラからDevelをインストールするのは当たり前として、そのほかにもGMPMPFRも必要ですのでCygwinインストーラからインストールするか自力でコンパイルしておいてください。その後はLinuxでもAVRとほぼ同じです。ただしroot権限はいらないのでそのままmake installできます。

インストール後は忘れずにPATHを通しましょう。PREFIXの指定がない場合は/usr/local/binにインストールされているはずです。

それにしても、Cygwinの色は見にくい。特に青が暗すぎてほぼ見えない…。

By Shiozaki