ロボット製作日誌


増設RAM攻略 2008/6/18(水)

   やっとの思いで増設RAM(外付けRAM? どっちでもいいや)の動作確認ができました。
   
   わかりますか? 5/16のと見比べるとわかるのですが イが出ています。
   前回と違うのは増設したRAMへ書き込んでPCへ送っていること。
   プログラムに間違いを見つけて、それを直したところ正常に書き込まれていることを確認しました。

   
   さてさて、水平の分解能が14しかありません(^^;
   なぜか。
   理由は増設RAMだから。H8内臓程の高速なRAMではなく、ウエイトステートを挿入して使わないといけないので、読み書きが遅いのなんの
   IOからのデータ転送ともなれば その分もあって遅いわな。MOV命令になってるはずだし。
   
   さて次は、DMA転送に入りたいと思います。 DMAなら高速に、IOからRAMへ書き込むことができます。

   今日だけで6,7回はH8のROMにプログラムを書き込んでしまった。
   ROMは書き込み保証回数100回だってぇ!?

   いのち〜みじ〜かし〜

   
   さて、それとは関係なく、ロボットのデザインの話。
   今日も物理の授業中とかにふと考えてたけど。。。いやぁ〜胴体に悩む。


増設RAMに悩む 2008/6/16(日)

   増設RAM
   

  
 これがうまくいかない。
   画像データをH'200000番地から4KByte分書き込んで それを1つづつPCへ送るプログラムなのですが、
   まっ白。送られてくるデータは0のみ。
   ちなみにプログラムはこれ


   
オシロで見てみると、アドレスバスは矩形波のようなものが見えます。
   ただ 中には何の信号も出ていないようなものもあり(書き込みデータは4Kbyte分ですからね 使われないのもあるかと)
   でもオシロで見たとき途中が出ていなかったような…
   それよりなにより CS、HWR、RD端子が5Vに張り付いている。オシロの時間幅を広げたところ、ちょこっ ちょこっと下がってるパルスは見つかるが
   こういうもんだっけ???あり? おかしい・・・
   現在研究中でーす。 


オシロにて 2008/5/19(月)

   大学には立派なオシロスコープがあって、親切な技術員の人に今日使わせてもらった。
   コンパレータの入力と出力波形です

   
   
   なぜに立ち上がりが遅いのか。立ち上がるまで320〜460nSってところでしょうか
   ん〜 なんでだろ〜なんでだろ〜
  

 


画像取得成功 2008/5/16(金)

   CCDからの映像を取得しました
   
   ちなみにこれは
   これをカメラの前に置いたときのものです
   

   もう1度見てみましょう
   
   それなりに画像は取得できてるようですね。
   プログラムとしては、RAM(内臓)に2KB保存して それを一気にパソコンへ送る というプログラムがH8に書き込まれています
   2KBだと1画面分すら送られてこないのね(。。;)そりゃそうか
   DMA使わずにやったので、処理は遅く、横26の解像度しかありません。
   どうもRAM(外部)の調子が悪く、いやこれが悪いのかどうかわかりませんが、
   GDLの設定を 内臓+増設RAM にするとうまくいきませんでした
   手動でRAMを使えるようにするしかないのかな?
   まぁその前にアセンブリでRAMが本当に機能しているのか調べるつもりですけどね。それからCでやり直してみます。

   これで確認が終了しましたね。まともにCCDからの映像はH8に来ていることの。
   ところで情報量を考えたところ仮にDMAで1μSきざみでデータを保存するとしましょう。
   すると水平1本で63ドットその水平は256あるとすると16,128Byte 増設RAMの1割を超えているのです。結構なものですねぇ(^^;)
   それにDMAでの1回の転送は1μもかかるでしょうか?・・・・・・・かからないよねぇ〜
    そんなにおそかないわなぁ 5クロックらしいし(RAMへのアクセスに多少時間がかかるでしょうが)
   意外とMOVで連続転送すればちょうどいいかもしれない。1クロック0.04 つまり25クロックで1μSだから MOVでできるかな?
   どっちにしろRAMへのアクセスをアセンブリでしなくてはならないので アセンブリの勉強をし直そう、すっかり忘れてしまった(^^;)


CCDより 2008/5/11(日)

   前回うまくいかなかったと言っていたCCDからの映像取得。うまくいきました
   
   
   まともな絵にはなっていません、なぜってRS232Cでパソコンへデータを送っているのですが CCDのデータを保存せずに とりあえず連続送信しているので
   絵になるはずもなし。
   とりあえずCCDからのデータはちゃんとH8に来ているようです。ためしにCCDを手で覆ったりしたら
   絵にはなっていないのですが、赤くなったり紫が増えたりしたのでノイズではなくCCDからデータを受けているようです

   外付けRAMをつけました これで視覚部の回路は完成したことになります
   
   秋月電子の 128KByteのSRAM(55nS)です
   まだ書き込みチェックなどはしていないので、(外付けの設定プログラムもよくわかってない)そのうちに。

   次はDMAでメモリーに保存してみてPCへ送ってみる というのをやります。
   これならまともな絵が見えるはずです。

   


再開しました ロボット製作 2008/4/13(日)

   長らくお待たせしました。前回の更新から1年経つんですね
   そのせいか 前回作ってた回路によくわからん部分も多くて作り直しました(^^;
   
   左側が 頭の部分
   目となるCCD 上下用サーボ 左右用サーボ を先頭に 左右のCCDのセレクター回路 NTSCのアナログ変換回路が乗っています
   目をこんな簡単な構造でサーボに乗せて動かすのは あまりいいことではないと思うんですが 目をきょろきょろ動かしたかったし デザインの問題です
   結構CCDが揺れるかと思ったんですが そうでもなく割と安定しているので良さそうです
   サーボモーターを動かした時も 割と かちっと動いてくれます そんなにぶらぶらしないで
   
   

   回路の変更点はコンパレータをuPC272Cにしたことです。応答速度が速いことが これにした理由です。
   ヒステリシスを構成して 数十mVの変動を受け付けないようにしました 入ってくる信号幅を考えたら問題ないでしょう。
   そうそう、入ってくる信号(RGB)が0V〜1Vと勝手に思ってたら どうやら違って(^^;
   はんだ付けしてから 8KΩを急きょより小さな抵抗に変えました

   オシロスコープでコンパレータの出力信号を見たところちゃんと動いていたのですが(そのうちお見せします)
   立ち上がりが遅い(。。 立下りは早いんですが 立ち上がりが、、、 その辺を早くする回路について 考えたほうがいいのかな・・・
   現在外付けRAM以外は回路図のとおり全部付いております
   んで LED点灯 A/Dのテスト ITUのテスト サーボモーターのテスト SCIのテストが終わったところです
    (久し振りのH8なのでね プログラム書いて動かしてみたってことです)
   一通り内臓周辺回路は動作させてみたので、次は CCDからの映像信号をRAMに保存して PCに転送したり というところに入っていきたいと思います

   テストプログラムです(GDL)

PWM

   

ITUによるタイマー

   

SCI

   

 

追記: 夕方に追記です。
   HSPでH8からのデータを映像化するプログラムを書いてやってみたのですが H8側のプログラムが良くないらしく映像が出てこない…
   そこでとりあえずH8に1から順番に255まで数字を繰り返し送らせて映像化したところとりあえずまともに表示されまいた
   が・・・よく見るとわかるのですが まともじゃないのです(ーー;)
   1つのドットが横に伸びてるのがわかりますか? 同じ色が■■ってなってるのが
   しかしH8から送信されるデータは1回の送信ごとに違うデータを送っていて それをHSPで1つづつ色に変えてるのですから隣に同じ色が来るってことは
   無いわけです
   なんでだ!? HSPのプログラムミスだと思うけど 何が違うんだろ・・・・ 通信速度のせいってことはないと思うけど・・・
   次回の日記にはここにちゃんとCCDの映像が映るように映るように 原因を探ってみます
   今日はここまで
   

   


現在の状況について 2007/4/3

大学受験により開発をSTOPするので、現在の進行状況について話をしたいと思います。
現在作成した回路は ↓下の記事にあるように視覚部分だけです。
完成と言ってもとりあえずCCDをつなげてサンプリングできるようにしただけですけどね。
コンパレータは393ではんだ付けしましたがやはり速度の速い319に変えようかと思います。(せっかくつくったのに(^^;))
ただ回路そのものも そのままつかえるわけではないと思うのでじゃっかん変更になるかもしれません

このロボットの現在の仕様書を書いておきますね

名前…未定(人間の名前をつけようと思う)

目的…CCD入力と画像解析ができるようになること
    音声出力(ICに頼るけど)できるようになること
    音声認識(音波解析だね)ができるようになること
    サーボモーターを使えるようになる
    無線モジュールを使う
    人工知能を作ること

仕様…CPUは3つで処理をします
    画像解析・全コントロール・その他周辺コントロール

    必要な大きな機能として
    CCD・音声入力・音声出力・モーターコントロール・サーボモーターコントロール・
    無線モジュール・超音波温度タッチ センサー類・液晶に操作ボタン

    ここについては詳しくは後ほど

部品…CPU×3 H8/3052F(画像解析)
          3048F(メイン)
          3664(その他コントロール)

    モーター 360K36
    サーボモーター 目に上下・左右がつくので 2つの目で4つ
              首の上下に1つ(左右は・・・どうしよう)
    


と。これぐらいしか発表できることはありません

決まってないことが多いので、、、でも興味のある人もいると思うので 何も決まってませんが載せますね

・電源について・・・このロボットはCCDに12V CPUの動作に5V モーターの動作に7.2V〜12V必要です
           NiMH電池を使うならば12Vを作るのに10個もの電池が必要になります
           冗談じゃない(^^;)
           となると7.2V作って そこから5Vをレギュレーターで 12VをDC-DCで作るのが良さそうですが
           なんかもったいない、、、ロスが大きそうです。それにモーターのノイズが12Vにかなり、、、
           となると…12V?いっそ鉛蓄電池のせようか!
           結構電気食うことを考えると、リチウムイオンに挑戦しても良さそうですけどね。
           そう、電気を食うんですよこいつ。消費電力計算したらえらいことに(^^;)
           必要のないときに CCDやサーボモーターへの供給電流(さらにサブCPUの電源OFFや メインのsleepも)がカットできるように
           工夫をしたいと思います
           あと、どうやって充電するか。充電回路ね。作ったこと無いからなぁ・・・でも電池抜くとメモリーがぁぁぁ(コンデンサーつければいいけどさ)
それだけじゃない。コードで電源を接続した場合 充電 かつ ロボット動作 にするときにどうするのか その辺を工夫しないといけない

・どう役割分担するか…知ってのとおり 画像・メイン・サブ の3つのCPUってのは決まってます
              これにCCDやらつなぐわけですが・・・なにになにをつなぐか
              メインのタイヤはメイン基盤かサブか。目のサーボは画像CPUが担当するとして首のサーボはどいつ?
              液晶とそれのボタンはメイン?サブ?それとも画像?(ボタン押されてるときは画像解析する必要が無いからね)
              タッチボタンとモーターは同じCPUにつなぐべき?(急に反応できるように)
              どうつなげば うまく処理できるか。いざ!って時に対応するにはどうするか
              (CPU同士をつなぐんだから 相手が処理中だとデータをやり取りできない(割り込みにはするけどさ))
              
              さらに CPU同士をどうやってつなぐのか
              RS232Cだとすると 自動的に サブーメインー画像ー このつなぎ方になる
              そうすると PCとつなぐときに メインCPUとパソコンは 画像CPUを中継してデータをやり取りすることになる
              その間 画像解析って・・・
              あと「無線モジュールどこにつなぐ?」(まぁこれはI/Oにつないで プロトコル組めばいいんだけどさ)
              
              つなぐだけでも大変です
              でもこれはもっと大きな問題が解決すれば自動的になんとかなりそうです

・最大の問題…人工知能

              人工知能のテストという意味もあるこのロボット
              肝心の人工知能をどうするのか
              これを決めないと上の役割分担を決められない(もちろん(まだ先だけど)プログラムも組めない)
              だいたいのイメージ。やりたいことはある

動物の再現

              特に心理学の本に載っててすごい納得した

オペラント条件付け

              これをソフトウェア上で実現したい
              知らない人もいると思うので解説すると
              用は「なにかをして 何かの結果が出れば その行動をもう1回しても同じ結果になる と学ぶ」
              こんなことだ 簡単でしょう?
                 (スキナー箱の実験・・・箱の中にねずみを入れる
                 その箱にはレバーがついており レバーをねずみが押すとえさが出てくる仕掛けになっている
                 ねずみは偶然レバーを押す、するとえさが出る。するとねずみはおなかが空けばレバーを押すようになる
                 レバーを押す→えさがでる のオペラント条件付けが起きたわけだ)
              これをプログラムで再現したい
              つまり学習させたいの 僕は
              これをさせるためのプログラムの構造を考えてるところだけど、おおまかなのは出てる。

1 入力
2 分析⇔記憶
3 判断(・予測)⇔記憶
4 行動
  (1へ戻る)

              ノートにはこのメモがあった。
              やってることは簡単だ。基本モデルね。
              何かが起きる(例:画面に赤いものが出る)
              →それが何なのか分析する(そのとき記憶の検索も行う)(例えばペンだと判断される)
              →この後どうなるか どうするべきか予測し判断する(過去の記憶も参考にする)(例えば 前回はこの後近づいたら倒れた)              →バックするようモーターを制御する

              →この後どうなったかを分析し記憶に記録する
              
              こんな具合だよね 記憶貯蔵マシーンと言うか。なんというか
              もちろんこれだけじゃだめだよ。元々あるていどのデータが必要だし 素質が必要だし 感情が必要
              例えば上の段階の 「この後近づいたら倒れた」を思い出したとき 同時に「怖い」っていう感情が増えて
              「近づきたくない」という感覚になり近づかない というプロセスをたどってもいい
               それに感情を発生させなければ体を動かすはずが無い
               体を動かす=楽しい の条件がなければ 動かす必要が無いのに動くはずが無い
              それに どの結果が良くてどの結果が悪いのか の判断は与えなければならない
              例えば前回ペンにあたって倒れたからって 倒れた=良くないこと と思ってなければ またぶつかるよね?
              でも倒れる=身体の危険 で身体の危険=嫌だ という判断がつけられていたら 近づかないはず
              それが必要だね
 
              なんにせよ肝心なのは 分析 ・ 記憶 ・ 予測 ・ 感情 ・ 判断基準 (まだあるだろうけどね)
              もっと理論を広げなければならない。
              それぞれがやってることは大して難しくないので頭の中でな〜んとなくプログラムが思い浮かぶが
              どう動くかは予想できない。だって理論だけだもん

              あとこの思考を1つのCPUにやらせるのかどうか。
              例えば画像解析は大変だから CPU1こ割り当てて これで画像を解析するわけだけど
              どこまでやるか?どこになにがあるのかを分析するのかどうか。(まぁこれはやっても良いだろう)
              でもそうすると記憶が必要になる(だって基本の記憶なければ何なのかわかんないじゃん)
              分析も必要だし
              本当は10個ぐらいCPU用意して。予測・記憶・判断・感情・制御 等と分担して めっちゃぶっといバスでつないで…
              ってのをやりたいけど無理なのよ お金も消費電力も考えると大変。
              だから3つだけど どこまでどこにやらせるのか。それによって部品の配置の意味も変わってくる。
              これが今の一番大きな問題。

本当は絵や図を使って話したい内容だけど、今は製作をSTOPしてて進めてないからあんまり深いところまで頭に無いから勘弁してね。

            
 

回路図 2006/11/1

とりあえず回路図が完成したので載せておこうと思って
これがCCDから出るNTSCを2値のRGBに変換する回路
プロセスとしては
CCD
どっちのCCDかを選ぶ回路
NTSCをアナログRGBに変える回路
アナログRGBを1か0かのRGB信号に変える回路
です
問題だったのは 最後の1か0かのデジタルに変える回路
高速なコンパレーターが必要だったのだが
LM393 若しくは NJM319
まぁ速度的にはNJM319の方が速いのでそれでいいが
393ぐらいの速度でもまぁいいかなと思って選択肢の1つ
ちなみに左下の回路は電源から12Vを作る回路
(秋月のキットそのものです)
電源を充電池*6と決めたので 電源は7.2Vなのだが
ただ、CCDなど12Vが必要なものがあるので
これで7.2V→12Vする

この回路の出力は RGBと同期信号の3本
入力はカメラ切り替えの1本だ

 

 

こっちは カメラから来た信号を処理する回路
3052Fを使用
カメラからの信号を P7 0-3 へつなぎサンプリング
同期信号も一緒にサンプリングして 取り込んだ後で画像の形を整える
(初めは割り込みに同期信号をつないで処理しようとしてた)
あと128KBのメモリーをつなぐ。M68AF127B というもの
3052とは 8ビット3ステータスで接続
ここに 画像やらなにやらを保存する
後から2個3個と簡単に増やせるので便利だ。今回は、1個
内臓が8KBなのを考えるとものすごい増えた
3052F自体はモード5(内臓ROM有効の1Mモード)で動かす
CCDを左右上下に動かすサーボモーターを2セット 計4個は
3052のTIOCAxに接続
基本ITUを使って自動的に位置制御をする
SCI(RS232C)接続は 1つがPCとの接続(ロボットとして動くときは開放)
1つが頭脳として動く3048につなぐ
レジスタの設定だけで簡単にデータ転送ができるのは便利

とりあえずこんな感じ、
ロボットのデザインももう考えたのだが 絵は又今度
とりあえず首も左右上下に動くという変更が加わった
あとCCDの下に口(?)としてバックライト付LCDをつけて
■で口元の表情を作ったり情報を表示したりする
LCDやセンサー類はPIC16F877を中継して3048Fで管理

大分形が見えてきた感じになりました。
残るはPIC(センサー類)の設計、
3664による音声関連の設計
そして本体の製作です
回路はCCDのところと3052は完成してるから(RAM以外)あとは楽なもんだ
まぁこのロボットの問題はハードウェアじゃなくてプログラムなんだけどね(^^;)

 


視覚完成 2006/9/12

とうとう視覚部が完成しました!
デジカメの調子が悪いので写真無しですが
視覚部といっても目を動かすサーボは未だつけてない
CCDからの入力ができるようになったというだけ

前回まで問題になっていたOPアンプ問題
コンパレータの LM393を利用することにした
LM393は単電源動作・GND入力が可能で速度的にはまぁまぁ
これを使って 新しく回路を作ったところ ちゃんとアナログ輝度信号がデジタル信号になって出てきた!
これでマイコンに入力できる

ただし問題はこのコンパレーター やっぱり遅い
高速サンプリングにどれだけ耐えられるかちょっと心配
波形を見ると立下りは早いのだが立ち上がりが遅い…(ちなみに非反転入力にしてある)
さらにその影響で短い時間だけ立ちあがる波形を読み取ることが出来ない可能性がある
正直この辺はプログラムを組んでみないとなんとも言えないので
とりあえずプログラムを作ることに
いやはや完成してよかったわい(^^ )

 


視覚部作ってみました &土台 2006/8/6

回路図は今度紹介するとして
設計が済んだので作ってみました

とりあえず 画像の処理関連と マイコン(3052F)をつないだだけ、
あとこれに メモリーと 目玉(CCD)を動かすためのサーボモーター4つが
つながりますが
メモリーは買ってある、がつなぎ方がまだ良く分からない
サーボモーターは買ってない(これにしようと思ってるのがなかった)

んでとりあえず電源を入れた、ショートなどはなさそうで 発熱大丈夫そうだ
だけど、テスターやオシロで確認すると、マイコン入力(オペアンプ出力)が
ずっと0Vのまま、レベル調節用の可変抵抗をぐるぐる回してもだめ、、、
オペアンプ入力前までの信号は正常だ
だけど出力が0Vのまま、、、、
おぺんあぷへの配線、電圧問題無し
となるとオペアンプ、、、
7474というものを使ったのだがこれがいけなかったようだ
これは元々単一電源用ではない
12V 0Vをつないで 出力は分圧してマイコン入力につなげてあるのだが
入力電圧が0.5Vとか低いのもあってか 正常に動いてくれないようだ、、、
スルーレートだけ考えたのがいかんかったな、、、
LM6361や LM6365 を使おうと思う
、、、とはいえ手元に無いので次回だな、

サンプリングには MOV命令を使おうと思っていたが、DMA転送の方が断然よさそうだ
詳しく知らなかったが固定周辺機能のアドレスから、連続して転送をすることが可能らしい
なんでも1回5クロックで実行できるとか
それならば 1クロック 0.04μ秒の3052Fでは
5クロックは0.2μ秒だ つまり0.2μ秒ごとに信号を読み取れるってこと!?
となると 60μ秒ある信号を 何回読めるのかというと、、、
60÷0.2で 300! 横300ドットの解像度だ!
さらに『525本すべての信号線を読むとして(要らない信号線もあるけどね)
300*525 の解像度が得られる!
15万画素の映像が得られるのだ!
これはすごい、、、逆に画像処理に困ってしまう(^^;)

土台が完成しました!

結局使ったモーターは 3633K75
回転数94rpm、トルク3.7kg/cm タイヤは直径5cmだ
直径5cmなのだから 円の周回は5×πcm おおよそ15.7cm
これが一分間に94だから1475cm つまり分速 14.75m 時速だと0.88km
一秒に24.5cm進む カメのようなスピードだ
僕のつまさきから頭のてっぺんまで(165cm)を 七秒近くかかって移動するスピード

なんで3633K36じゃないかというと
トルクが気になったからだ、
重量として1kgは間違い無く超えるので それが気になった
あと、3633k36はK75の約2倍のスピードなわけだが、そんなに速くなくてもいっか って思って
だけど実際 K75はパワーがすごい
手では、かなり本気じゃないと回転を止められない
ちょっと K36にすればよかったと後悔してます(^^;)

アルミパンチング板、600円ほどのだけど
それに取りつけた様子 これだけだと想像が働いていろいろ形が思い浮かぶ
だけどこの板一枚しか買ってこなかったから 色々形をやってみたかったけどできないや(^^;;)
この写真に映ってる土台で 1万とちょっとかかってる、モーター高いよ〜(1個3500円)


回路図完成 2006/7/5

ノートに落書きをしたような(ようなっていうか落書きですが)
だいたいの構想が完成した
マイコンは4つ

画像処理専用 H8/3052
音声処理専用 H8/3664
情報処理兼コントローラー H8/3048F
各種入力 PIC

PICは 16F877辺りを考えてる

センサーは CCD×2、超音波センサー×3、温度センサー、タッチセンサー×2
        マイクがいくつか
モーターは タミヤの3633K36 を考えてる

3052には CCD2つ とサーボモーター1つ あと外部RAM
3664にはマイク入力と 音声出力
3048にはモーター2つと外部RAM それにPCとの無線接続
PICにはその他をつなぐ

さて、問題はバッテリーなのだ、残念なことにこのロボットは1つの電圧ではだめなのだ
3048Fの書きこみやビデオセレクター、
それにCCDは12V電源で動く。
これは大問題、 12Vが必要なのだ
   12Vがあれば5Vも作れるのでいいのだが
   12Vともなると 1.2Vの電池が10個にもなる、 かといってあの重たい鉛蓄電池を乗せたくは無い
   逆に7.2V乗せて、昇圧して 7.2Vから12Vを作ることを考えてしまう これなら電池6個ですむ
   ただ、何にせよ、モーターとCPUの電源が同じってのが気になるが、まぁ〜それはいいかぁ

   始めは「PICは強制動作」として、つまり 3048Fが普通はロボットを制御するんだけど
   PICがそれにうってかわって制御できるようにしようと思った
   それは、3048Fが考え事しててセンサー入力に気づかなかったときや、PCから無線でコントロールするときに
   3048FからPICに制御を移せるようにしようと思ったけど、 まぁそんな必要もないかなぁって
   PCから操作するときは3048Fは考えるの止めて、いざってときには割り込み動作で動けば良いんだしね

   3664がせっかくのポートがもったいない気もするけどまぁ音声解析するからしょうがないのかな

   ちなみに 3052と3048との通信は:SCI 3664やPICとの接続は:独自の通信方式
   本当はSCIなら楽な上にCPUが処理する必要無いから便利なんだけど 2本しかないからね SCI
   3664を3052に PICを3048にSCIでつなぐってことも考えたけど バケツリレーするのにCPU使うのもめんどいなぁって思って
   それに無線モジュールが繋がらなくなるしね。独自の方式ってのは
   4本のリード線で 1本をスタートやクロックとして使うか もしくは1本スタートで後は4本でデータを送るか、その辺は決めてない
   
   外部RAMが 3052と3048にあるけど 3052は画像を扱うから内部RAMでは足りなくなるから 3048は記憶として 使う
   ちなみに画像は圧縮を考えてる 例えば 黒黒黒 と続く場合 黒×3 とするのだ
   具体的に言うと 例えば 赤色の場合 8ビットのレジスタで表すと

1 0 0          

   となる RGB でいう R が1になってるわけ
   残りがもったいないので8ビットで 2つの点(2画素)を記録するとしても

1 0 0 1 0 0    

   となり まぁ、2ビット余るが 一応容量は1/2にできた
   これを圧縮する
   例えば 赤色が5個連続だった場合

1 0 0     1 0 1

   これでOKとなる
   100 が赤 101が続く数だ 色+数 の情報にするのだ
   こうすると連続で同じ色が来たときに威力を発揮する

   ただ、細かい画像が来た場合には逆に容量をとってしまうのが欠点
   それに保存には適していても 画像解析に便利かどうかは分からない
   まだ どうやって画像から物を判別するかっていう細かい部分は決めてないから

   しかしこれでとりあえず ロボットのおおまかな回路図を完成させた
   3052周辺の画像の取り込み回路なんかはおおよそ部品も決まってるし、3052から作っていこうと思う
   同時にロボット本体・モーターを用意して3048の回路を作り 本体も作っていこうと思う


困難なサンプリング、スルーレート 2006/6/30

   CCDの出力信号は NTSCと言う信号です
   これはTVと同じ信号なのですが、1秒間に30枚の絵を出力します
   1枚の絵は線にばらされて、上から1本ずつ送られ、全部で525(違ったかな)本で1枚の絵になるようになっています
   つまり1枚の絵は525本の細かく色のついた線で表現されています
   これが1秒間に30枚あり 1本の線が送られている時間はわずかに93μ秒ほどです
   さらにその、93μ秒の中でも実際絵が映ってるのは60μ秒ほどです

   この信号から色を読み取らないと行けません
   だけど、マイコンの場合仮に4μ秒でサンプリングしても
   15個の点が得られるだけ
です
   それが525 なので 15 × 525 で 7875画素 ということになります
   しかもこれ 極端に縦長な画像になります
   まぁ15 × 15にしても 175 画素です
   
   これが15×15の絵です
   これでは何がなんだかわかりません、拡大しても画像認識にはちょいと無理があります
   どうやって サンプリングするか・・・これが問題です

   信号は 最大1Vのアナログ信号ですので このままマイコンにつないでも読み取ることは出来ません
   なので 最大5Vの信号変える必要があります 方法は以下の通り
    ・トランジスター増幅回路を使う
    ・FET回路を使う
    ・オペアンプ回路を使う
    ・マイコンのA/D回路を使う
    ・外部A/D部品をつけてマイコンに入力

   方法はこれだけ、 これでせめて30×30ぐらいにはしたい
   そうなると トランジスター増幅回路は元々むりです、電気を食う上に高速な反応は出来ません
   FETは使ったことが無いってのまりますが、期待できそうに無いです それにFET使うならOPアンプがいい
   マイコンのA/Dは話になりません 15×15も期待できません
   外部A/D これが1番期待できそうでした
   秋月で買えるものでは 速い奴で 1.5μ秒のサンプリングでした
   これなら60÷1.5で40 つまり40×40の画像が手に入ります(CPUが追いつけばね)
   
   40×40を拡大したものです
   なんとなく、、、物体の認識ができそうじゃないですか?
   ただ、僕は画像を8色であらわしたいだけなのに、わざわざ R G B をA/Dして
   その上位1ビットだけを取るってのは A/D使う意味全く無いんじゃないかなんて思ちゃうんですよ

   やっぱり FETか OPアンプかなぁ〜 でもそんな速いOPアンプとかってあるのかなぁ
   OPアンプは入ってきた信号が基準より高ければ出力が+になる(まぁ正確にはこういうものじゃないけどね)ので
   1か0かしか欲しくない僕にはちょうど言いのですが
   入ってきたからといってすぐには+にならずに 5μ秒とかかかって やっと5Vになったりするんです
   これを規格化したものを スルーレートといって OPアンプ選びの1つです
   1μ秒で何Vあがるのか ということでスルーレートは V/μS という単位で表します
   僕の手元にあるのは 5V/μs つまり0から5Vになるのに1μ秒かかるのです
   これでは60μ秒しかない信号を読み取るにはちょっと遅いです
   あ〜あ と思いながら秋月のページ見ると
   スルーレート 4100V/μsのオペアンプ発見!(LM7474)
   なにこの速さ!
   0から5Vになるのに1n秒ほどしかかからない!これなら出来る!
   これの入力をR G Bに 基準電圧を0.5Vにして 出力をマイコンにつなげば 簡単に0Vか5VのデジタルRGBにはやがわり!
   あとはCPUの速度によってサンプリングできることになる すげー
   まぁ一応非反転増幅回路として組んでその出力をマイコンにつなぐつもりだけどね

   早速今日買いに行こっと
   


AIの考え方 6/27

   今回 僕が望もうとしてる大きな課題は
    ・画像解析
    ・音声認識
    ・AI
   の3つが大きなものです
   その中で AI というのはどういうことなのか ちょっと書いてみます

   プログラムをやってる人なら分かるように 映画に出てくるような愛を持ったプログラム などというのは基本的に無理です
   人間をプログラムするのはほぼ不可能に近いのです
   ただ、それに近い動きをさせることはできます

   例えば「カセットテープを早送りするプログラム」を作るとします
   カセットテープには モーターと 回ってるかどうかを確かめるセンサーがついてるとします
   この場合 始めに考えるのは
   「モーターを回す」
   ということです
   なので モータを回す というプログラムが始めに出てきます
   これで早送りは完了かと言えば そうではありません、早送りが終わる つまりテープが最後まで行く場合があります
   ここでもまだモーターを回してるわけにはいきません
   ”回転は止まってるのに モーターだけ回ってる”のが 早送りが終わった状態なので
   「モーターを回す、ただしモーターを回してても回転していないのなら モーターを止める」
   というプログラムになります
   これが 早送りのプログラムです
   「早送りが終わる」っていう”現象”に 作る人 つまりプログラマーが
   「モーター回してても回ってなければ止める」という 対処をしています
   人間の場合 自分でテープを早回しするとき目で見て「あっ終わってる」と思い止めることが出来ます
   これは

   早送り終わる → 回してるのに回らないという現象が起こる → おかしいと思う→
    記憶からこれが「テープが終わったということ」と判断する → 記憶から「テープの回転を止める」という手順を手に入れる → 
回転を止める

   まぁ こんな流れだと思うんですけどね 頭の中で
   これがプログラムになると オレンジの部分は プログラマーが事前にすることなわけですよ

   早送り終わる → センサーが回ってないことを見つける → プログラムにより回転を止める指令が出る → 回転を止める

   ”目”の代わりに”センサー”
   ”記憶”などの代わりに”プログラム”が判断しています
   ロボットは 過去の経験が無くてもプログラマーによって対処方法が教えられているのです
   逆にいうと それ以外では対処できません

   この ”プログラム”の部分を もう少しロボットに任せよう というのが 今回のAI計画です

   プログラムを 「ロボットの経験」や「ロボットのなにかに対する対処法」だとするならば
   それ以上が望めませんね、プログラム以上は動けない
   そこでプログラムを 「経験する」プログラムにするのです
   テープが最後まで行って「回してるのに回らない」時
   「あれ?回らない なにこれどうしたの? 記憶によると、、、これでいいのか、終わりか んで止めればいいんだな よ〜し止めよう」
   こんな風に 自分の動きをプログラムからではなく メモリーから読み取れるようにすると やや人間よりになります
   もちろんこのためには 判断するプログラムや記憶と照らし合わせるプログラムなど多々のプログラムが必要ですが
   決定は記憶によります
   問題点としては 記憶が無い場合 です
   見たことも無いものがある、聞いた事も無い出来事が起きた そういう場合 どうすればいいのか分からない と言う問題が起きます
   こういうときは心理学に基づいて「オペラント行動(とにかく何かをしてみる、その結果が良ければそれを今度もする)」を起こすつもりです
   もちろんある程度の記憶はあらかじめ入れるつもりです でなきゃ動くこともままならないですからね

   プログラムに従うより、自分のメモリー(記憶・経験)に従う
   これが今僕が作りたいAIというものです


カメラと回路の接続 6/21

   これが TVにつないだCCDの映像。
   これではうまく映ってないけどね(^^;) でもすごくキレイなんだよ
   録画したビデオの映像、標準モード以上にキレイと思ってもらっていい
   そのぐらい映像がいいのだ
   

   さて、このためにCCDを買ったのではない ロボットのためだ
   
   こういう風に使う
   カメラの出力を アナログRGB変換回路に
   その出力をマイコンが得るというものだ
   マイコンは用意できてないので とりあえずつないでみた
   どっちも12Vなので このように同じ電源を使える。
   ペン型オシロにて 出力を確認したところ 確かにでとるでとる
   R G B ともにちゃんと出力されている、 カメラにカバーをすると ほぼ0Vが続く状態になるので
   ちゃんと出力されている模様
   同期信号も 出力を確認

   ただ、 同期信号は5Vの ON か OFFかだけなので まぁ そのままマイコンにつなげなくも無いのだが
   RGB の出力は 1V-0V ほど
   つまり このまま普通にマイコンにつないだとしても 0Vにしかならない
   方法として、 A/D入力につなぐか 増幅回路を使って(トランジスターによるスイッチング回路でもいい)1か0か分かるほどに電圧を上げるか

   高速なのは 増幅回路を使うほうかな、ただ、信号が高速なので うまく行かない可能性があるけどね
   A/Dを使う場合、A/Dの速度が要求される。PIC16FシリーズやH8の300Hシリーズ内臓のA/Dでは速度的に無理があるかもしれない
   その辺は 外部A/D回路を使うか、 もっと早いマイコンに乗り換えるか
   そんな対応が必要になるだろうね

   とりあえず マイコン(PICかな)のA/Dにつないで得たデータをPCに送る ってのをやってみようと思う


人工知能 6/11

   下のCCDカメラ関係の図で 画像処理系の先に「制御系」ってあるけど これには意図があって
   制御マイコンは1つじゃなくて複数にしようと思ってる
   人間の脳は ”判断””記憶””体を動かす””想像””決断” それぞれ別の場所がそれぞれ独立して行っている
   これに習って このロボット(そろそろ名前決めなきゃね)も それぞれ決まりを分けようと思ってる
   例えば 今までは 画像認識で写ったものの「こういうものが障害物」というものがプログラムで決まっていて
        それを発見次第 回避する というものだった
   だけど 画像認識で写ったものをまず ”記憶”と”想像”にそのデータを送ってその結果を ”決断”に送って
        そこで決まったことを ”体を動かす”に送る
   こんな風にしようと思う
   このときの データを送る順番(画像のデータを初めに決断に送り、記憶と照らし合わせるのか、
                        それとも想像に送ってから同時に記憶で探すのか)
   そんな順番は まぁ心理学の本などを参考にしたり どれがいいのか自分で考えて決めていくことにするが
   とにかく 処理を別々にやらせることにする
   こうすることで 全く予測のつかない動きをすると思う、
   特に、”成長”する場合ね(記憶がたまってきた場合)

 

   まぁ大げさな話をしてるけど もうちょっと細かく話をすると
   記憶 判断 等に分けるが、とうぜん処理を行うのはH8などのマイコンだし、プログラムは僕が書く
   なにをするかというと 例えば前進中に 目(CCD)の前に(近い距離に)大きな白い物体が写ってる(この場合壁とかね)
   そのとき カメラには白い物体が新しく入ってきたということで 画像認識用H8が 制御系全般にそのデータを送る
   例えば 記憶・想像・決断・体を動かす があったとする、
   そのとき 記憶用マイコンは送られてきた白く大きな物体が以前にもこの場所にあったかどうかメモリーから探す
           もしくは以前白く大きな物体に遭遇したことがあったかどうか、
           以前にも経験したことだった場合 そのときどう対処したのか その対処の結果どうなったのか
         想像用マイコンは 目の前に大きな白い物体がある
           今自分は 前進している、この先どうなるだろう(まぁぶつかるけどね)と考える
           その結果右に曲がったほうが良いのか このままのほうが良いのか、
           いい結果が出そうなものを探す、 もしくは記憶と相談しながらね
         決断用マイコンは記憶と想像の結果を元に どうするのか決める
           記憶が「これは以前にも経験した 昔は右に曲がって どうにもなかった」と言っている
           想像が「このままだと衝突する、よけたほうがいい」と言っている
           ならよけよう と判断する
           簡単な仕事のようだけど、記憶と想像の言ってることが違った場合 力を発揮するのがここ、
         体を動かす用マイコンは 決断の出された指令(右に曲がるとか)を実行するにはどうすれば良いのか考えて動かす
           右に曲がる場合 左のモーターを早く回すのがいいのか、右のモーターを止めたほうが良いのか
           はたまた 右のモーターは逆回転させたほうが良いのか

   多分これを読んでるあなたは「こんなことできるの?」って思ってるかもしれないけど
   挑戦だよ 挑戦、
   今までにない動きをするロボットを作るのよ、ただ、動かすのには飽きちゃったからね
   できるかどうかの話では かなり難しいと思う、
   結局はプログラムで動くCPUにどれだけできるかだから  難しい…だからやりたい


画像周辺回路&ロボットの形 6/11

   ロボットの形について、四角にすることにした
   やっぱり四角だと作りやすい というのが大きな理由
   はっきり言って僕の技術だと円柱形作るのはまず無理、 まぁ作れないことは無いが思うほどのデザインにはならないし
   そこまでこだわってないから四角にすることにした
   それに まぁ作りながら色々変わってくるだろうしね

   画像関係だけど こんな感じかなぁ

   

カラーCCDが2つ、NTSCをアナログRGB信号にする回路が2つ
画像処理用マイコンが1つ

なぜCCDをそのままH8につながないのかというと
はっきり言ってNTSC信号をH8に解析させるにはH8は遅すぎる
さらに言うなら 白黒ならまだしも カラーNTSCの高速な色の振り分けはH8ではできない
そこで 秋月で販売されている NTSC信号をアナログRGBに変換する回路を使う
これはカメラから来る 色も明るさも混ざったNTSC信号から
赤緑青の3つの信号に分けて その色が明るければ電圧が高い という風な
簡単な信号にしてくれるのです
これなら まぁ赤緑青の3つの線 それに同期信号の線 という4つの線と言うことになるけど
赤緑青はA/D変換につないで 簡単に色と明るさを調べられる

 

   これでNTSCは簡単な信号になるのだが、問題は消費電力
   一人暮し時給自足(漢字間違いはわざとです)の僕には電力消費は避けたいところ
   それに消費電力が大きいということは バッテリーでこのロボットを動かすことができなくなるかもしれない ということです
   この NTSC→アナログRGBは 300mA以下で動くそうですが 仮に300だとして2つで600mAです
   12Vの600mAといえば 相当な電気くいです、
   …どうしようかなぁ…

   どうせ画像処理用のH8が1個なら NTSC→アナログRGB 回路は1個にして カメラを切りかえれるようにする
   という手があるけどね
   まぁ H8が1個ならそれでいいかなぁ と思うけど
   実はH82個にしようかなぁなんて思ってる(ぜいたく)
   つまり右目と左目、 別々に画像処理を行わせるというもの
   できればこれのほうが 2つCCDがある意味があるってもんだけど
   その場合さらにH8が電気を食うことになる、、、
   どうするかなぁ、、、

   それはそうと、H8でカラーの画像をどう扱うかだけど
   そのまま何画素なんて画像はとても処理できない(保存すら出来ない)
   中央だけ解像度高くして他はぼやかそうかと思ってる、
   人間の目って 中央だけ文字が読めるほど視力が良くて、それ以外のほとんどは文字も読めないほど視力が悪い
   中央以外は色や大体の形は分かるけど 文字なんてとても読めない、読もうと思ったら目玉をうごかしてそっちに向けなきゃ行けない
   そこで思ったんだけど ロボットも 中央だけちゃんと見えるようにして 他はぼかしてもいいかなぁって
   じゃないと処理しきれないよぉ
   人間だって きっと中央だけじゃなく他の部分も見えたら脳みそパニックだよ
   キーボード打ってるとき、ちゃんと画面見てるのにキーボードの文字まで見えるようじゃ 多分脳みそが混乱する
   見たいところ以外が見えないからちょうどいいと思うんだ
   ロボットにもこれを採用して 中央部分は解像度を高く細かく見えるようにして
   それ以外は 色は見えてもぼやけるように解像度を低くする
   そんでもって 「これはなにかな?」っていう いわゆる画像処理を行う
   もし「これなんだろ」ってものが中央に無くて良く見えないなら、 そこが中央になるようにカメラを向ければいい
   そしたら良く見える
   この方法ならCPUの負担が軽減される
   

   もしくは、全体的に通常解像度が低くて 障害物らしきものが見えたとき
   その物がある部分だけ解像度を上げる という方法がある(まぁ目玉を動かす代わりに良く見える部分を動かす に過ぎないけどね)


どんなロボットにするか 6/9

   さて、前回に引き続いて どんなロボットがいいか
   

大きく分けて2つ候補があり どっちかになると思う
幅30cmほど高さ80cmほど(未定)の形
違いは見て分かるように 円柱か直方体か
直方体は良くある まぁ見て「ロボット」とすぐ分かるようなもんだね
製作にはもってこいの形。楽に製作・拡張なにからなにまでできる
だけど、初めに僕が思いついたのは円柱のほう
デザインとして、家の中で何をするわけでもなく動き回ったりする奴は
こんな変わった形の奴でも良いんじゃないかと
んで円柱

 

   だけどはっきり言って円柱はむずい。
   丸いパーツが無いから 内部は四角で、 外側に丸くアルミを巻くような形になる 擬似的な円柱だ
   それならいっそ四角のほうがいいのかなぁ って思うけど 円柱…すてがたい

   …形は後にしようかなぁ

 

画像認識

   今回の大きなテーマの1つ画像認識。画像を取り込みそこから障害物などを探ったりするものだ
   まだまだなぞの多い分野で楽しそうだ
   ロボットの上には2つのカメラを載せる予定。目だ
   その目というのはカラーCCDが2つ。
   今ロボットを趣味などで作ってる人で画像認識をやろうとする人は多くは白黒カメラを使う
   理由は簡単。処理が楽だからだ
   白黒なら 白か黒か 1か0かしかなく、CPUに向いてる その上1点の情報が 黒か白かしかないので情報量が少なくてすむ
   逆に色を使う場合 たった16色だとしても 1か0かの2色に比べ8倍もの情報量になる
   メモリーも8倍 時間も8倍(いや、それ以上)かかることになる
   だから多くの人は 白黒カメラを使って 明るいところと暗いところの境目”輪郭” を使って
   そこにものがあるのかどうかを探っている 

   だけどねぇ…僕はカラーに挑戦したい
   挑戦と言うより カラーがいい、 僕は輪郭よりも色に注目したい
   画像処理で何をしたいかと言うと まぁロボットに障害物を(物があるってことを)分かってもらいたい
   そのときに輪郭を使うのも全然ありだとは思うが
   それよりも色の違いで 物がそこにあるってことを分かれないだろうか って思って
   確かに処理に時間がかかる上 メモリーも食う
   

これは 写真を画像処理した例
一番左がデジカメの写真
真中が8色の場合
一番右が白黒だ
もし一番右の写真だけ見せられたとしたら
人間は何かがどこにあるのか なんてこと
分かるだろうか?

まぁ真中の写真でも怪しいとこだけどね(^^;)

 

   カラーにするメリットは 色さえ違えば物を区別できること
   白黒はただ、輪郭を手に入れるための処理。物と物の境目を探して 「あっ境目がある あそこに物がある」という境目にたよった探索をしてる
   それに比べて カラーの場合境目にはこだわらない、それより 注目するのは色
   「赤い中に(床に)ここだけに黄色い物体がある」という風に 色の塊として物を見る
   この方が人間的な画像認識だと思う
   処理としては

   画像取得→色分け処理→画像保存→オブジェクト探索(色の塊を探し出す)→

   こんな感じ。ちなみに白黒は

   画像取得→白黒処理→画像保存→輪郭を探す→オブジェクトの探索(輪郭により、ものを探し出す)→

   こんな感じ

   基本的には同じ
   輪郭を探さない分はカラーのほうが処理が早い
   ただ、大きく違うのは オブジェクトの探索だ
   白黒の場合は輪郭(明るさの違う部分)さえ探せば そこにものがあるのが分かってる
   カラーの場合も色さえ探せば そこにものがあるのが分かってる
   どっちをとるかやね

   確かに白黒でも物があることは分かるだろう
   だけど より人間に近い状態で作っていきたい。人間は物を見分けられる、なら人間に近いほうがいいんじゃないかって
   カメラを2台搭載するのもそのため。距離や そのデータを使った 立体的な地図を作成させたい(先の話)
   片目だけだと 人間は走ることが難しいんだよ。物がどこにあるとかいう情報が少ないからかな
   じゃあロボットにも片目はつらいだろう ということで2台
   白黒っていうのも もし白か黒かの2色だったら 人間は物を見ることなんて到底難しいだろう
   そこでせめて8色。輪郭ではなく色でオブジェクト(物)を区別させよう
   これなら まだ物を認識しやすいんじゃないかって

   そして できれば、これらの処理をすべてロボット自身で(パソコンを使わずに)

   P.S:上の画像処理はHSPで作ったプログラムでやりました
   サンプルはこちら(2,3分で即席に作ったものなので胸を張れるようなものじゃないですが)


やっぱりロボットを作りたいと思う! 6/6

   最後にはんだ付けをしたのは、もう一年ぐらい前になるかな
   作ったのはTVに画像を出力するもの。
   そのころもそうだけど どうも熱意に欠けてたが
   やっぱりロボットをつくらいと思う!

   引越ししてかれこれ2ヶ月目。洗濯もする普通の人ですが
   やっぱり家に誰もいないのは寂しいねぇ
   ペットでも飼えば良いけど ペットはしゃべらないし(・・^)餌やるの多分嫌になるし(昔飼ってた亀によくやり忘れたもんだ)
   ということで ロボットを作ろう!
   なんだかちょっと作りたい気持ちがあるぞ!久々にうちこんでみようと思う
   計画的に目標を立てて作ろうと思う。 んでもって他の人にも参考になるかもしれないと思って製作日記を書くことにしました

   こんなロボットにしよう!
     ・高さ1mほど、直径40cmぐらいの円柱 それか 1辺30cmぐらいの直方体
     ・上に顔があって まぁ顔って言っても 目(CCDorCMOSカメラ)が2つ あとLEDで口のようなの作ったり 動く眉毛があってもいいかも
     ・速度 1m/sぐらい出れば問題ない(なにせ のっぽ だから早く動くと転倒間違い無し)
     ・しゃべらせる! そして僕のしゃべることを理解させる!→録音再生ICの搭載と。音声認識プログラムの研究
     ・人工知能(AI)をもたせたい。 そんな映画出に出てくるすごいのは無理なわけだけど 学習ぐらいは(壁の場所を覚えるとか)
     ・カーテンにモーターつけたり 窓の鍵にモーターつけたりして 家を制御できるようにして ロボットにそれをやらせる
      またPCと無線でつながるようにして インターネット経由で情報を得たり。携帯から指令を出せるようにしておく
     ・そうじさせよう(^^;)

   AIBOみたいに ”人間とのコミュニケーション” というのには 僕自信興味無いから
   それより家の中うろちょろして そうじやら 「そろそろバイトの時間じゃない?」とか言ったりしてくれたほうが 嬉しい
   まずは形を決めよう そうじゃないと何も始まらない
   円柱か…直方体か…
   割り箸と紙で作りながら考えるか…

   目標。

デザインを考える(これ重要) 6/14までに
構造計算(構造を考える(モーターの位置から顔の形まで)) 6/26までに
回路のおおまかな設計 6/30までに
回路の詳細な設計 部品をどれ使うか 等など できれば7月末までに
部品購入と 回路テスト(使ったこと無い部品(カメラ)等を使ってみると言う意味) 9月末までに
体を半分は作る(回路テストと同時進行でもOK) 10月末までに
回路を作り始めて本体につけ始め 半分は作る(プログラムも作り始める) 12月中旬までに
体も回路もほとんど完成する 1月末までに
だいたい使えるプログラムが完成する=ロボットが完成 2月末までに

   かなり長いと思うでしょ。 というのもバイトと学校が結構あって 1日中休みの日は2週間に1日しかない感じなので
   正直あまりかける時間が無いからこんなに長くなってるのだ
   でもまぁ時間がない なんていうのは熱意が無い人の言うことだから。僕は時間を作る
   「回路テスト」だけ先に6月か7月中ににしてもいいかなぁ と思ってる。
   部品の使い方が分かってないと設計のしようが無かったりするからね。
   あと「半分作る」ってのは 基本的なところを作るって意味。 ロボットは作ってる途中で変更したいことが出て来たりするから
   変更しないところを 作ってしまうって意味

   はっきりいってこの目標ほぼデタラメ(^^;)
   もうちょっと時間をかけて締め切りとか考えたいけど 今日は午後から学校なので 今日はおあずけ 明日明日
   っていうか目標なんているのかなぁ…いままで目標考えなくても時間があれば作業してたから勝手に進んでいったけどなぁ
   前ほど熱意が無い僕には必要かもと思って作ったけど…まぁ 一応あったほうがええのか

   ちなみに「ロボット完成」というのは ありません
   なんでって 常にプログラムを書き直してパワーアップさせていきたいから 完成なんてものはないんです

   さて、1回目の日記。
   これからどう進んでいくか分からないけど 興味のある人は見てってください
   ちなみに最低でも週に1回は更新したいと思ってます
   これからもどうぞよろしくお願いします

ホームへ