やっつけ構成で進む巨大Rolly略してGRollyの開発
ジャイロセンサによるPID制御を目指しているけれど、まずは車体を動かそう・・・
ということで、アナログ入力にPSD距離センサをつなぐ。
PSD距離センサは、赤外線を出す発光部と受光部の2つが並んだセンサで、
距離を電圧で出力してくれる。
使用したのは秋月電子で扱っているシャープのGP2Y0A21YK
試しにシリアル接続した状態で、Arduinoのアナログ入力の値をPCに転送し続けるプログラムで確認する。
手を近づけると数字がじりじりと大きくなる。
白くて大きな壁に近づけて、20センチ付近くらいでの値をスレッショルドとして、右回転するよう分岐に付け加える。
そうして走らせると、予想通り壁に衝突するGRollyの姿が。 ぶつかりながらも向きを変える。
壁にぶつかるとか、障害物に車輪がロックすると本体だけが回転して、床を壁と誤検知してカオスな挙動ののち脱出するというスルー力の高さを見せたりする。
Arduinoを3.3V駆動にした関係で、PSD距離センサの電源は推奨より小さいし、姿勢制御してないGRollyは結構揺れる。 スレッショルドの設定はいろいろいじって少し近すぎるくらいに設定しておいた。 壁にぶつけて複雑奇怪なローリング挙動を観るためとお茶を濁して。 創発ですね。
2009/12/22
2009/12/21
巨大Rolly
なんというガラの悪いタイトル・・・
Rollyみたいなロボットが欲しいということで、じゃあ作るかと始めたのがこの企画。
車体は木製 制御部はArduinoと自作シールドにモータドライバとジャイロセンサその他を詰め込んだもの。 まだプロトタイプ。
車体はたったの2000円。パーツも秋葉原で揃う一般的なものばかりという仕様。 (一番高価なパーツ:モーターは借り物だけど)
プログラミングはUSBケーブルつなぐだけ。 ちなみにArduinoは3.3V化してあって、モーター電源にしているエネループ4本でも何事もなく動作してくれる。
この電圧だと少々走行性能が落ちるので、6Vにするかもしれない。 あるいはサーボモーターにするべきか。
今後の計画
・とにかく動かしてみる 完了
・センサ走行 完了
・車体のPID制御 未だ
・ゆっくり音声LSIボードの開発 設計終了
・スピーカ取り付け 進行中
最終計画 歌って踊れるロボット
Rollyみたいなロボットが欲しいということで、じゃあ作るかと始めたのがこの企画。
車体は木製 制御部はArduinoと自作シールドにモータドライバとジャイロセンサその他を詰め込んだもの。 まだプロトタイプ。
車体はたったの2000円。パーツも秋葉原で揃う一般的なものばかりという仕様。 (一番高価なパーツ:モーターは借り物だけど)
プログラミングはUSBケーブルつなぐだけ。 ちなみにArduinoは3.3V化してあって、モーター電源にしているエネループ4本でも何事もなく動作してくれる。
この電圧だと少々走行性能が落ちるので、6Vにするかもしれない。 あるいはサーボモーターにするべきか。
今後の計画
・とにかく動かしてみる 完了
・センサ走行 完了
・車体のPID制御 未だ
・ゆっくり音声LSIボードの開発 設計終了
・スピーカ取り付け 進行中
最終計画 歌って踊れるロボット
がまぐちミュージックプレーヤー

なぜか気に入ってしまい手元にある。
バリバリならぬパクパク財布。 (支払いはまかせろー パクパク / やめてーッ)
さすがに小銭を入れてつかうわけでもなく、薬を入れたりしている。
ここにプレーヤーを仕込んでみた。つくったのは以下のサイトの
AVRだけで作る音楽プレーヤー
AVRのみで音楽再生というのがすごい。 再生フォーマットはADPCMだけどSDカードを読み込んで再生できる。 ハードウェアがシンプルで作りやすいのも良い。
作者の言う通り、今の時代ならLEDチカチカよりもインパクトは大きいですね。
おはり。
2009/12/19
個人で出来ることの拡大
現状に不満をいだいた人間の行動はいろいろありますね
大まかに
に分かれるでしょう。 殆どの人間が事情に応じてどれかを選択するわけで、選択に優劣があるないは関係ありません。
新しいPCが欲しいという仮定に沿えば、
だれでもオリジナリティを出したいから、余裕やスキルがある人は、
メーカー品でも センスの良いものを選んだり、自作PCで好きな構成のPCを制作する人もいるし、
わざわざ木でケースを自作する人(笑) といった個性が生まれるところです。
PCで言えば、一式30万,40万円していた時代には、そうした個性が生まれる余地はなかったのです。
ネットが普及して、誰もがPCを所有するようになって10年。
IT化と製造業の多国籍化はメーカー品という概念を大きく変えました。 価格競争が熾烈になり、開発費節減のためにCAD、FPGA、3次元造形、CNCマシンといった技術が発展しました。
皮肉なことに、企業のコストダウン化の果てに、専用の工場が必要だった上記の技術は、いつの間にか一般人が自宅に備えることも可能な技術になってしまいました。
今や、電子機器に関していえば、自分で欲しい機能があったら、身の回りの機械に関してはどれも制作可能です。
例えばMP3プレーヤーは、MP3デコーダー、アンプ、マイコン、メモリーカード、充電池、ケースで出来ていると言い換えられます。複雑怪奇に見える基板も、実はこれだけです。ICの動作に必要なコンデンサや抵抗は、データシートという文章にすべて指定されていたりするので、動くだけでよければ深い知識もいりません。 だれが見てもレゴブロックのように判別できるのが現代の電子機器です。
CADで回路を設計し、マイコンにプログラムを書きます。処理回路の要求によってはFPGAで論理回路を組みます。
基板はCADで設計したあと、自作するかデータを業者に送ることで手に入ります。部品はネットでで手に入れることが可能です。
ケースもCADで設計して、3Dプリント業者に発注することもできるし、 3Dプリンタも個人で手の届くものもあります。
自宅にいながらにして、すべての工程が実行可能なのです。 日本の花形といわれる家電産業が、ゲリラ的に安価な商品を市場に投入できる外国の業者に苦戦しているのは、こうした理由ですね。組み立てることは誰でもできるので、この時代は設計製造技術に関連する企業、部品を生産する企業以外は厳しいのです。
とまあ他人行儀な文体で送る文章でした。
大まかに
- 仕方なく現状維持
- サービスにお任せする
- あるていど自分でサービスを組み合わせる、作り出す
に分かれるでしょう。 殆どの人間が事情に応じてどれかを選択するわけで、選択に優劣があるないは関係ありません。
新しいPCが欲しいという仮定に沿えば、
- 今は資金も無いし現状維持
- メーカー品を頼る
- パーツを取り寄せて自作する
だれでもオリジナリティを出したいから、余裕やスキルがある人は、
メーカー品でも センスの良いものを選んだり、自作PCで好きな構成のPCを制作する人もいるし、
わざわざ木でケースを自作する人(笑) といった個性が生まれるところです。
PCで言えば、一式30万,40万円していた時代には、そうした個性が生まれる余地はなかったのです。
ネットが普及して、誰もがPCを所有するようになって10年。
IT化と製造業の多国籍化はメーカー品という概念を大きく変えました。 価格競争が熾烈になり、開発費節減のためにCAD、FPGA、3次元造形、CNCマシンといった技術が発展しました。
皮肉なことに、企業のコストダウン化の果てに、専用の工場が必要だった上記の技術は、いつの間にか一般人が自宅に備えることも可能な技術になってしまいました。
今や、電子機器に関していえば、自分で欲しい機能があったら、身の回りの機械に関してはどれも制作可能です。
例えばMP3プレーヤーは、MP3デコーダー、アンプ、マイコン、メモリーカード、充電池、ケースで出来ていると言い換えられます。複雑怪奇に見える基板も、実はこれだけです。ICの動作に必要なコンデンサや抵抗は、データシートという文章にすべて指定されていたりするので、動くだけでよければ深い知識もいりません。 だれが見てもレゴブロックのように判別できるのが現代の電子機器です。
CADで回路を設計し、マイコンにプログラムを書きます。処理回路の要求によってはFPGAで論理回路を組みます。
基板はCADで設計したあと、自作するかデータを業者に送ることで手に入ります。部品はネットでで手に入れることが可能です。
ケースもCADで設計して、3Dプリント業者に発注することもできるし、 3Dプリンタも個人で手の届くものもあります。
自宅にいながらにして、すべての工程が実行可能なのです。 日本の花形といわれる家電産業が、ゲリラ的に安価な商品を市場に投入できる外国の業者に苦戦しているのは、こうした理由ですね。組み立てることは誰でもできるので、この時代は設計製造技術に関連する企業、部品を生産する企業以外は厳しいのです。
とまあ他人行儀な文体で送る文章でした。
2009/12/16
木製PCケース
木製PCケースの自作
静かで、小さいPCを目指して制作しているPCケース。
筐体は木製(MDF材)。突き出たボルトはHDDなどのドライブベイを接続するもので、
完成すると20センチ四方の立方体になる。静粛性のため1基の14センチファンのみで冷却している。吸気口はドライブベイの箱を接続すると遮蔽される。
自分が欲しいケースってあまりないし、ハイセンスなものはとても手がでない。 自分の加工できる範囲で材料を絞ると自然と木に行きついた。 燃えるのでは心配されるけれど、木に着火するのは結構難しい。
micro-ATXのマザーボードを使っていた時代は、市販のミニタワーとほとんど変わらないデザインしかできなかったけれど、 mini-ITX規格だとけっこう手抜きができる。
Spec
M/B DG45FC
CPU PentiumDC E5200
RAM 4GB DDR2
HDD 320GB
PSU Pico-PSU 150W (with 120W AC adapter)
紆余曲折はこちらで
静かで、小さいPCを目指して制作しているPCケース。
筐体は木製(MDF材)。突き出たボルトはHDDなどのドライブベイを接続するもので、
完成すると20センチ四方の立方体になる。静粛性のため1基の14センチファンのみで冷却している。吸気口はドライブベイの箱を接続すると遮蔽される。
自分が欲しいケースってあまりないし、ハイセンスなものはとても手がでない。 自分の加工できる範囲で材料を絞ると自然と木に行きついた。 燃えるのでは心配されるけれど、木に着火するのは結構難しい。
micro-ATXのマザーボードを使っていた時代は、市販のミニタワーとほとんど変わらないデザインしかできなかったけれど、 mini-ITX規格だとけっこう手抜きができる。
Spec
M/B DG45FC
CPU PentiumDC E5200
RAM 4GB DDR2
HDD 320GB
PSU Pico-PSU 150W (with 120W AC adapter)
紆余曲折はこちらで
2009/12/14
Open-WRTをFON2200にインストール
FON2200にOpen-WRTを入れてみた記録。
以下の作業は、シリアル端子からFonのブートローダーRedBootにアクセスして行ったものです。
いけにえ :FON2200
母艦 :ノートPC VAIO-typeSZ 2007年モデル
コンソール:TeraTerm
変換器 :今回はArduinoを使用(FT232Rだけ)
<Open-WRTってなんぞや>
組み込みLinuxの一種で、Fonのファームウェアや、DD-WRTのソース元。
自分で好きにモジュールを組み込める、らしい。(opkg形式でインストールができる)
これでシリアル経由でロボットの制御をしようとしてあれこれやろうと画策。結局ルーターとして重宝したっきり。
TFTP鯖 ファームは2009年6月時点のものです。 なぜか本家とのアクセスが悪いので
内容 openwrt-atheros-root.squashfs
openwrt-atheros-vmlinux.lzma
<PC側とコンソール上の設定>
Fonela開けてシリアルをつなぐ(改造して外にピンソケットが出してある)
ボーレートは9600bps
PCのipアドレスの設定 ネットでは固定192.168.1.10にする例が多い模様
Fonelaとシリアル通信ができると、まずはRedbootが起動するので ここでCtrl+c
Redboot> とプロンプトがでると成功。
PCのシリアルコンソールはDeleteキーの割り当てに注意。
(Backspaceに割り当てておくとLinuxの端末動作と同様の操作が可能)
ip_address -l 192.168.1.2/24 -h 192.168.1.10
アドレスは Fon側 / PC
この設定前にip_address と打ち、Fonelaのip設定を確認しておく。
あまり凝ったipにしておくと、TFTP鯖にアクセスしてくれない。
Fonで初期設定しているipとかぶらないように設定すること。
あとの流れは、フラッシュ上のファームを消去/ロード、書き込み となる。
以下ログ 赤字が入力したこと
fis init //フラッシュ消去
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> ip_address
IP: 192.168.3.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
__udp_sendto: Can't find address of server // ロード失敗 ( ^ω^)・・・
Can't load 'openwrt-atheros-vmlinux.lzma': some sort of network error
RedBoot> ip_address -l 192.168.1.2/24 -h 192.168.1.10 //再設定 ローカルiP変更
IP: 192.168.1.2/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-root.squashfs ファームその1書き込み
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x801e0fff, assumed entry at 0x80041000
RedBoot> fis create -l 0x06f0000 rootfs
... Erase from 0xa8030000-0xa8720000: ...............................................................................................................
... Program from 0x80041000-0x801e1000 at 0xa8030000: ..........................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x80100fff, assumed entry at 0x80041000
RedBoot> fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
... Erase from 0xa8720000-0xa87e0000: ............
... Program from 0x80041000-0x80101000 at 0xa8720000: ............
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
//以上ファーム書き込み
RedBoot> fconfig //Redbootの設定
Run script at boot: true
Boot script:
>> fis load -l vmlinux.bin.l7
>> exec //起動用スクリプト
>> //enterしてスルー
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
enterしてスルー
Gateway IP address:
enterしてスルー
Local IP address: 192.168.3.1
enterしてスルー
Local IP address mask:
enterしてスルー
Default server IP address: 192.168.1.10
Console baud rate: 9600 //ここはRedBootのシリアルボーレートの設定。 変える必要はなし(動かすディストリによっては、速度が変わるため、ボーレート変更が必要なこともある)
enterしてスルー
GDB connection port: 9000
enterしてスルー
Force console for special debug messages: false
enterしてスルー
Network debug at boot time: false
enterしてスルー
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> reset //システムを再起動
... Resetting.
成功すると、長々と起動ステータスが表示されて Open-WRTが現れる
BusyBox v1.11.2 (2009 time UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __この設定前にip_address と打ち、Fonelaのip設定を確認しておく。
あまり凝ったipにしておくと、TFTP鯖にアクセスしてくれない。
Fonで初期設定しているipとかぶらないように設定すること。
あとの流れは、フラッシュ上のファームを消去/ロード、書き込み となる。
以下ログ 赤字が入力したこと
fis init //フラッシュ消去
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> ip_address
IP: 192.168.3.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
__udp_sendto: Can't find address of server // ロード失敗 ( ^ω^)・・・
Can't load 'openwrt-atheros-vmlinux.lzma': some sort of network error
RedBoot> ip_address -l 192.168.1.2/24 -h 192.168.1.10 //再設定 ローカルiP変更
IP: 192.168.1.2/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.10
RedBoot> load -r -b 0x80041000 openwrt-atheros-root.squashfs ファームその1書き込み
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x801e0fff, assumed entry at 0x80041000
RedBoot> fis create -l 0x06f0000 rootfs
... Erase from 0xa8030000-0xa8720000: ...............................................................................................................
... Program from 0x80041000-0x801e1000 at 0xa8030000: ..........................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x80100fff, assumed entry at 0x80041000
RedBoot> fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
... Erase from 0xa8720000-0xa87e0000: ............
... Program from 0x80041000-0x80101000 at 0xa8720000: ............
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
//以上ファーム書き込み
RedBoot> fconfig //Redbootの設定
Run script at boot: true
Boot script:
>> fis load -l vmlinux.bin.l7
>> exec //起動用スクリプト
>> //enterしてスルー
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
enterしてスルー
Gateway IP address:
enterしてスルー
Local IP address: 192.168.3.1
enterしてスルー
Local IP address mask:
enterしてスルー
Default server IP address: 192.168.1.10
Console baud rate: 9600 //ここはRedBootのシリアルボーレートの設定。 変える必要はなし(動かすディストリによっては、速度が変わるため、ボーレート変更が必要なこともある)
enterしてスルー
GDB connection port: 9000
enterしてスルー
Force console for special debug messages: false
enterしてスルー
Network debug at boot time: false
enterしてスルー
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> reset //システムを再起動
... Resetting.
成功すると、長々と起動ステータスが表示されて Open-WRTが現れる
BusyBox v1.11.2 (2009 time UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (8.09.1, r16278) ----------------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
root@(none):/#
登録:
投稿 (Atom)