MyRobot(ID-01)の組み立て


口パクをやっと完成させました


なかなか完成できなかった困難な問題は機構的な加工の出来
の悪さ「ヘタクソ」が主たる原因ですが、
天秤を細い銅線で軽く作り先端に半田の鉛で錘の重さを調整
したことが比較的動きを良くした原因と思います。
電源はテスト用なので別の電池4本、6Vとしました

オセロの対局をするプログラム


ロボットのプログラムではないが、モンテカルロとゆう手法で
プログラムを作るのが流行しています。
囲碁などで人を負かすような高度なプログラムを簡単に作る 方法です。
原理はコンピュータは計算が速いので、デタラメな手を数多く
実行してみて、勝てる確立が高い手を選ぶのです。
別な、たとえで説明すると10000人以上の素人を集めて
現在の局面から最後まで大局させ勝った人の最初の手を
集めて多い手が良い手だと決めるのです。
この単純な考えが意外と効果を発揮し、かなり強いプログラム ができるそうです。
10000人よりは100000000人の結果で決めたほうが強い
そうで、コンピュータでもたくさんのコンピュータの結果を使う そうです。
MyRobotのプログラムもこの考えでオセロを打てるようになりました

画像解析、ロボットの目の機能の開発


JAVAのプログラムでロボットを制御する



MyRobot(ID-01)の改造


独自のハードウエア改造部分の説明



横山実習室へ戻る
初節句写真 ハードウエアの改良 アプリケーションプログラム ソフトZIP形式提供履歴
URC受信を腕ツールから分離し
頭上のアンテナで受信
⇔章咾離癲璽織椒奪ス
歯車を1枚はずし動きを高速化
ストッパーピンの除去で
どの位置でも動作可能
じ緝車輪をキャスタで置換
ヅ澱咼椒奪ス
eneloop8本の独自方式
電子モーター共用4本
モーター専用4本
ε展参疆杜防止用
0.5Aポリスイッチ適用
Д劵リセンサー回路
ボックス内臓
TOTAL.CLIKE
声に反応しうなずく
ロボットと人の会話
ダンスと音楽の再生
物体回避走行
ひとり言ぶつぶつ
PICTRUN.CLIKE
URC操作の走行
ダンスと軍艦マーチ
各種BGM走行
健康診断動作
HENABC.CLIKE
掛け算九九暗唱
長方形面積 三角形面積(ヘロンの公式)
番号指定の録音
DRIVE.CLIKE
道路の縁石を目で見て走行
KANSI.CLIKE
動く物体に反応する監視カメラ
人が来れば挨拶する
JANKEN.CLIKE
ジャンケン
バンザイ
BAIBAI.CLIKE
倍倍ゲームでボケ防止
rokuon.clike
メッセージの録音再生の操作
2008/06/10会話全面修正
ダウンロード

2008/06/15pictrunバグ修正
ダウンロード

2008/07/03total修正
ダウンロード

2008/07/20total,pictrun修正
ダウンロード

2008/09/story追加
ダウンロード

2008/10/story,drive修正
ダウンロード

2008/11/eyepos,rokuon追加
ダウンロード

2008/11/driveのバグ修正
ダウンロード

2008/12/rokuon,storyの改良
ダウンロード



メール
CLIKE言語の解説
C言語の要約
C言語のからくり

C言語講習会


STORYを題材にC言語を説明
悪戦苦闘の日々

画像の動きで話す言葉を変える


昨日 2歳の孫が遊びに来てロボットでキャッキャと 喜びました。
プログラムは新作で、画像の動く場所によりしゃべる
言葉が変わるのと、場所によっては手を上げ下げ首を
左右に動かすもので、以前から配布している会話
プログラムとあまり見た目には変わらないのですが
孫が喜んでくれたのでうれしかったです。
(eyepos.clike)

録音の制御


メッセージを録音する指示を言葉で与えると録音
すべき音楽などと重なり面倒なので、新たに
(rokuon.clike)プログラムを作りました。
cボタンでスタートとメッセージの選択をします。
たとえば、+が表示されているときCボタンを押すと
メッセージの番号が変わります。
DELETEでボタンを押すと削除した後、録音の開始
のタイミングを指示するボタンの押しを待ちます。
+−がメッセージの番号の切り替え、*が再生
DELETEが削除と録音への入り口です

目による物体回避


text形式ソフト
目で見て縁石を検出し走行するdrive.clikeを改定し、超音波の
物体回避と同等の機能をCMOSカメラの目で実現した。

デモプロ(story.clike)


あらかじめロボットが次に行う動作を表示するので
操作者は適当にアドリブで会話を楽しんでください。

表示 Ru:migi age
操作者 「右手上げて」
ロボット 右手をあげて、最高と叫ぶ
動作の要素を組み合わせることで、デモの
シナリオができる。
複数のシナリオが乱数で選択実行される。
シナリオはプログラムの利用者がかってに変えて自分独自の
ロボットを作れるように簡単に変更できるようにしている。
動作の要素
頭部 Hr Hl Hu Hd   右、左、上、下 に向く
S番号     番号の言葉を発生
目のLED Mr Ml   右目、左目 目の色はa,c,g,tの状態
腕部 Ru Rd Lu Ld  右手、左手のアップ、ダウン
詳しくは デモプロを題材にC言語を説明
にプログラムの説明があります。

OS STARTING 完全制覇


OS STARTINGでREADYにならない障害、この原因を特定する手順を紹介する。
‥澱咾鮨靴靴する。
▲戞璽好棔璽匹鬟泪供璽棔璽匹ら抜く(ピンで直接接続部分)。
マザーボードから供給される赤いケーブルをアームボードからはずす。
。 ぅ泪供璽棔璽匹ら供給される青いケーブルをブルーツースボードから はずす。
これで、52号でブレインボードが供給されたときの状況になる。
この状態でも障害なら頭部の障害か頭部とマザーボードの接続ケーブルの 問題である。
なお、ブレインボードの障害、インストールが完了して いない場合もある。
この切り分けはブレインボードをはずしてローカルで頭部の試験を行う
ことである程度推定はできるが、最終的にはどこかで正しいブレインボード
を借りてテストするしかない。
この状態で障害がでなければ、
障害の原因は上記◆↓、い鮴楝海垢襪箸ひとつずつ行うと判明する。
これでボード単位まで切り分けできたが、そのボードの中でボードの障害
か、そのボードに接続されているどの機能が障害か切り分ける必要がある。
ここではアームボード関係の原因究明を例に説明する。
基本的には各機能に接続するケーブルをはずしてテストする。
全て正常の時各機能の接続をはずしてテストした結果をいかにします。
〆献癲璽拭▲札鵐気鯣瓦い疹態は正常。
温度センサを抜いた状態は正常。
左腕のツールを抜いた状態は正常。
いずれもREADYとなるにで原因追求はひとつずつ抜いて正常を 確認すればよさそう。
右についてはテストしなかったが、同様と推測される。
他のボードについてはテストしていないが、同等の考えで切り分けできる。

ロボットの目に対する格言


風船追っかけ、道を見て走る、監視、うなづき、癒し、 目の機能をプログラムする時、 「動くものを見る」見つけると反応して動く、「自分が動けば全てが動く」 この問題の解決は「目をつぶる」すなわち自分が動くときは目をつぶって動く 「たぶん動物の目の基本はこのあたり」今日はひとつ発見した。
5月25日関東地区の走行会でロボットの健康診断が実施され、その項目
をプログラムし、pictrun.clikeを拡張しました。
起動された状態ではURCで0から9で走行を制御するモードです。
2、3,4ではメッセージ8,9,10をバックグラウンドミュージック
で発生させる追加、
新たに追加した健康診断はcキー2回で開始します。
URC走行は 0:ストップ、1:前進、2,3,4:お任せ走行、
5、6:左カーブ、7、8:右カーブ、9:後進です。
健康診断ソースの表示
もうひとつのプログラムhenabc.clikeは三角形の3辺の長さを与えて
面積を計算するプログラムですが、付録の掛け算九九を言う方が
人気があったかな、こちらは起動後cキー1回で開始します。
2 2 が 4のように”が”の言葉が無いので少し不自然な
ところもありますがこれが限界です。
URCで辺の長さを入れる時、0から9の数字は認識すると数を発声します
10は各辺の終わりで、3辺入力が終われば計算し面積を数で答えます。
掛け算九九ソースの表示
どちらもカットアンドペーストで適当に名前をつけて保存して使用して
ください。拡張子は .clike で保存してください。


使い古しのテレビ赤外線リモコンの活用


赤外線リモコンはユニバーサルですから何でも活用できます。
私は使い古しのテレビ赤外線リモコンを使ってID-01を操作しています。
使いかたは「ふみのへや」を見て理解しました。感謝!。
いろいろあるようですが私のプログラムに使用する場合は以下の手順で
設定してください。
ボタン操作で「Diagnostic」の9番目「URC-10IT」で3番目「Voice...」
で赤外線リモコンの特性をロボットに認識させます。
最初 イチ と発音し ロボットが同じくイチと復唱したら、該当のボタンで
赤外線の特性を教えます。
0は電源に,1〜10まではリモコンのボタンどおりとします。
私のロボットはゼロを認識しないので、電源と1をイチと重複して教えたが
正しく0と1と認識しました。

赤外線リモコンによる脳トレプログラム


数字を交互に言って、先に間違えたほうが負けの
ゲームをプ ログラムしました。
次の数値を作る規則は何を乗ずるかで2〜9まで
あります。
扱う桁数は1桁で下1桁のみです。
「私は 6 あなたは」 で入力でリモコンのボタン2を押すと
「2 OK 私は 4 あなたは」とつづきます。
この場合 乗ずる数は2で 最初に入力した数で
決まります。次に入力する数で初期値が決まり
「私は 6 あなたは」と来ます。
次の数は12ですが、1桁だけ2と入力します。
最初に入力する数が1の場合 2桁で扱います。
2桁の入力は「34+」の様に行います。
ソースのダウンロード
乗数が5の場合、すぐ0となり、次も0なのでつまらない。
この場合は何を入れても正解としています。
他の乗数でも繰り返しで面白くない場合があるので
変化をつけるため同じ数は答えにしないで、そのとき
はでたことのない数を正解にする規則を追加しました。
新たな規則に切り替えるには+を押します。

赤外線リモコン対応のじゃんけんプログラム


0:グー 2:チョキ 5:パー
ソースのダウンロード
音声コマンドも元のままつかえます。(後の記事参照)

MyRobotの首の横回転を速くする


ギアボックスから写真の図の様に1枚ギアを除き、2枚を接着し一体で
回転させる。

改造の説明
この改造で5倍以上早く首が動き、自然な感じとなる。

MyRobotのカメラの画像解析で道路や障害物を検出し自動走行する

ロボット単体(clike言語)で画像認識が可能となった。

ホームページの規約として.clikeはできません。.txtとなっているが
ダウンロードの後で変更ください。
‘始を認識する
置いた場所の真ん中が道路と判断し、これと異なる色は障害物と判定。
オリジナルのID-01だと遠くを見ているので、少し近くを見るように
ハードの改善が必要、後輪を改造して少し高めなどがよい。
ソースのダウンロード
道路は褐色、灰色の単一の色で境界を幅5cm以上の赤テープで作成すると
境界を通過しないように動きます。
∨問者があると挨拶する。
仕組みとしては画像が変化するとこんにちはと挨拶します。
ソースのダウンロード
後で気がついたのですが、画像の変化を検出した後、行動Aisatuを
起動するやりかたはこの場合あまり適切ではありません。
単に外部変数としてフラグを用意しオンオフする方が、挨拶の速度より
画像の変化が頻繁に発生したとき、途中のデータを捨てられるので
好都合です。
4道襯メラ
上記の挨拶の替わりにtakePicture()を入れて、シャッターを押させれば
監視カメラになるはずですが、私の実験ではうまく写真が取れません。
今後の研究課題とします。
原因がわかりました。写真は撮られているが、まだLINUXのバッファ上で、PCから
ファイルを認識できない状態でした。
このままロボットの電源を切るとファイルは書かれないままです。
この問題を解決するためにclikeプログラムからLINUXに命令を出す方法は秘密です。
まあ、だしおしみしないでここに書きましょう。
system("sync");が使えるのです。さすがにCLIKEがCだと証明できたようなきがします。
Javaに変換されているのではと、一部で考えた人もあったようだがそうではなかった。
ソースのダウンロード
プログラムをスタートすると、カシャと音がして、1枚写真をとります
後は画面が広範囲で変化するごとに写真をとります。
終わるときはCボタンで最後のバッファを書き込みます。

ホームページ自動検索ロボット(無償)

どうだ、このページがトップランクされた?その秘密は!


ロボットの思考のための人間の思考分析
人口頭脳についての雑記

SoftBank 705SH 携帯の動画です、パソコンに映し出す方法は知りません。
携帯動画3は片方の腕の動きを高速に改造したもの、どちらか判るかな。
携帯動画1
携帯動画2
携帯動画3

プログラム(2007/11/11)のダウンロード(zip)
前回(10/05)以降に作ったプログラム。
バンザイは前回の宿題で、両腕を同時に上げ下げさせる ものです。
TOKKOUは風船の色を追跡するものだが、不満足な ものです。
OPTCMDは「た」さんが光センサを電池ボックスに 入れたとゆう記事をみて、私もまねました。
光の入る方向が限定されるので、明るい中でも反応して 走ったり、曲がったりします。
会話プログラムのダウンロード(jar)

イニシャルセット完了
74号完成間近
ついに完成
電卓を入力に
腕の動きを高速
ギアが
1本除いてある

タッチセンサーのユーザプログラムが動作しない

touch_behavior(trur)がなければだめなのは解ります
でもその前に
sounde_follower(false);が必要なのを忘れていた。
でもどこのその条件が書いてあったかわすれたが、
どこかに記述はあったとおもいます。

ロボ君子供祭りにデヴュー

ロボ君が地域の子供祭りに参加、歓迎されたがカメラマンが同行せず
写真がなく残念。
問題点は回りの騒音で、ロボ君は言葉を聞き分けられなくなること。
ロボットにはまだ騒音の中で聞き分けるのは無理、今後皆様、このことを
忘れないで、ロボ君にハジをかかせないようにしましょう。
でも、こどもたちは大喜びでした。

ジャンケン


入力は音声コマンドで
0:グー 2:チョキ 5:パー
とし、ロボットは
わたしは 0 2 5 の数字のあと
おなじなら「もういちど」
勝ったら 「最高」
負けたら 「意地悪」
とこたえます。
ダウンロード
ファイル名の拡張子は「.clike」にしてください。

うなずきロボット


ロボットに話しかけると、うなずき目のLEDをピカピカさせるようにしたいが、
音源追跡で話かけられていると、検知できるかと思ったが反応しない、手拍子
なら反応する。プログラムから話しかけられていることを検知できないでしょうか。
良いタイミングでうなずくだけで、話し手は相手が理解してくれたように感じて
快い印象をうけます。
時々、目をパチパチさせると興味をもって熱心に聴いている印象をあたえます。
話だけでは信じない人も多いと、このアイデアを出した教授はいっています。
実際に、その教授が作ったロボットをテレビで見ました。
クマのプーさんのぬいぐるみでしたが、ゲストのタレントも感心して、話かけて
いました。

ホッチキス回路


ブレッドボードで実験的に回路を作ってテストすることができます。
私は同様の発想の拡張として、ホッチキス回路すなわち、抵抗やトランジスタなど
を透明なプラスチックのカバーではさんでホッチキスで止めて回路を作りそれを
このブレッドボード上で組合すことを実験中。

LEFT ARM ERROR


アーム ボードを装着してから、LEFT(RIGHT) ARM ERROR が発生するように
なった。原因はアームのギヤボックスの中で歯車がかみあって固まってしまう
腕の部分を回してみれば微動だにしなくなっている。
ギヤボックスを分解、組み立てしなおして気がついたが、エンコーダの軸を縦方向
に固定するワッシャ状の部品が必要なのではないか、エンコーダの検知ミスが原因で、
固まってしまうように思える。
針金をエンコーダの軸に数回巻き、センサー部品の間隔を調整し、直った。
その後、右でも発生した、症状は同じだが、なかなか回復しないで、最後には
ボックスのビスの閉め具合が影響しているなど、真の原因は不明のままとなった。
どうも、腕を動かす範囲を制限する溝とギアの位置合わせがテキストの通りであるが
微妙で、エンコーダの端の検出が遅れるとかみ合ってしまうようである。
この溝とそれにささる金属のボッチは無くてもエンコーダで検出してとまるので
不要なのではないかと思ったが、まだ意味はよくわからない。
その後、右でも発生した、症状は同じだが、なかなか回復しないで、
最後にはボックスのビスの閉め具合が影響しているなど、真の原因は不明のまま
となった。
ついに、right arm error は完全にマスタしました。
reset error の場合も含みます。
.アが固まってびくともしない状態。
▲┘鵐魁璽世琉銘屬範囲外にある状態。
(´◆砲領省。
発生の原因は
a.歯車の位置合わせ(UとI)が不良
b.エンコーダの円盤が引っかかって動きが悪い
c.ギアが引っかかって動きが悪い
ギアボックスを分解せずにテストで回復できるもの
第二メニューARMでリれセットすると△任盒制
的に動かして正しい位置に復帰させようとする。
ただし、固まってしまっているとき反対に動いてくれるとは限らない。
ここは設計に問題がある可能性有。
ギアボックスを開いて対応。
私は二度と起きないように、根本的に対応。
アームの動作範囲を制限するストッパーピンを取り除きバリもとって腕の制限範囲を
自由にする。
これで歯車の(UとI)の位置合わせは腕の動く範囲を決めるのみ。
(当初の設計に合わせないこともできる。テスト済み)
もとのままで細かく調整するのは。
 複佞硲鼻砲琉銘峭腓錣擦鯊疹ずらす。
スムースに動かない原因を除く。
ボックスのネジを硬くしめない。
私はこの方法では左は調整できたが、右は調整できなくて、成功しなかった。
何かが原因で、引っかからず、スムースに回転するか
どうかは、モータに近いギアをひとつはずした状態で
組み立てネジもしっかり締めて腕を回すと、回転しますから動作がスムースかどうか、
また引っかかる原因は何かわかります。
私の場合、ストッパーピンを除いても引っかかる原因は、ストッパーピンを抜いた
後のバリであることがこれで分かりました。
エンコーダの調整
光源と検出器の距離は近いほうが感度がよくなると思ったがまちがいで、遠いほうが
正確に動く場合もある
エンコーダの穴の不ぞろいも影響が大きいようである。ナイフで整形できる
私はこの整形で正常な範囲を動くようになった。
言い忘れましたが、右はストッパーピンがない状態なので、UIの合わせはあまり
気にしませんでしたが、動作完了時点の位置が左右でずれがあり、UI合わせが
必要となりましたが、面倒なのでエンコーダの円盤の差込をルーズにけずり
どの角度でも可能とし、この位置で両腕の動きを合わせました。

タッチセンサーが働かない

タッチセンサーの感度が悪く、一時そのまま頭の上に出して、ビニールテープ
で頭に貼り付けていたが、掲示板で良いアドバイスがあり、現在は以下の対処と
した。
タッチセンサーと頭の内側の隙間にアルミホイルを入れる。
アルミホイルは3枚重ねで大きめにし、合わせ目の隙間から外のだして、
1.5cm四角ぐらいに折りたたむ。
タッチセンサーは深く入れないで後ろの部分をネジ止めするとき押し込ませる。
入り込んでいるタッチセンサーを取り出すときは小さな穴があいているので
きりの先などでこじると容易に安全にとりだせる。
外にでたアルミホイルはビニールテープで頭に止め、直接さわらないようにする。

腰の異常

イニシャライズでHip errorなど、また動作中カチカチと音がする
など悩まされたが、結果的には組み立て時のミスであった。
重要な点は歯車にUとIのマークを合わせるところがあり、これを完全に守る
こと。
もう一つ、私はこれを見落とししていたが、オプチィカルエンコーダの円盤の
位置あわせである。
写真を見てなんとなく合わせるのではなく、エンコーダにつながる歯車と
円盤の中の小さな目印の穴を合わせることが重要である。テキストに書いてある。
外部から強引に力を加えるとカチと音がして位置が変わるがこれは正常な機能である。

CD−ROM3で疑問は解決


さすがに良くなった VC−LIKE言語はC−LIKEに展開された形式でも
書けるように解説され、前回までは変数はカウンタのみで制限されていたが、
一気にC言語の全てを書けるようになった。
どんな制限が残っているかは、書いてないが、外部変数、自動変数は
テストして問題はなかった。
Counterで書いていた変数は、普通のCの変数で記述できる。
配列を使って、コンパクトなプログラムを書くことができるようになった。
多分Counterで定義する必要があるのは、センサー関係でイベント発生
が必要な変数のみだろう。
ここまで書ければ、Javaで書きたくなるのは、ライブラリそのものの改良
(独自のライブラリも含む)であろう。
まだ、勉強不足でなかなか手がでないが、当初から目的としたロボットの
プログラムの研究材料として、十分威力を発生してくれるであろう。

実用的なプログラムを2つ


最近、自宅の庭に侵入し、農薬で植物をからしたりする、家宅侵入の愉快犯の被害
に困っている。その撃退のために作成しつつあるのがこのプログラムである。
侵入者の物音に反応し、ぶつぶつと独り言をつぶやいて怖がらせる。
ひかりがあれば、ビデオを侵入者に合わせて写真をとる。
会話してくれるCLIKE
侵入者を監視するCLIKE
どちらも、ソースをカット&ペーストして使用してください

障害物を回避する走行制御


超音波センサによる障害物を回避
C−LIKEなのでコンパクトに記述できましたが、うまくはいっていません。
原因は、超音波センサの性能と関係があるとおもいます。
アイデアは自由に使っても良いが、なんの保障もありません、自己責任で
お願いします。
更にこのアイデアを検討した結果、ロボットのプログラムに必要な貴重な
アドバイスを含むことが分かった。分かってみれば当然の簡単なことであるが、
コロンブスの卵の話と同様、良い示唆を与えてくれるので紹介する。
 .蹈椒奪箸瞭虻遒魯▲丱Ε箸任△蝓元に戻すようなプログラムを書いては
いけない。ここでは、全方向の障害物の状況を調べてから、目的の方向に動く
ロジックであるが、このようなロジックはうまく動かない。
◆.札鵐機爾梁定値も多くの誤差を含むので、どの程度信頼できるかを考えて
ロジックを作る必要がある。

ROBOTのリナックスにコンソールがほしい


OSのインストールに使う、シリアルケーブルにTELNETをつなげないか。 実際につないでテストした結果、なにか通信はしているようである。 私の知識では、まだ完成していないが脈はありそう。 現在の問題は、文字化けで出力が読めない。 入力はTELNETに正しくキーボードを認識させられない。 おたすけ掲示板に目的のソフトがついているとの情報で解決。
掲示板のコピーは以下のとおり
CD-ROM2のSoftwareフィルダからbrain_debug.exeとbrain_config.iniを お好みのフォルダを作成した上でコピーします。 brain_config.iniを開き、最終行にある、シリアルポート番号をご自分のポート番号に あわせて編集します。(default=0) この後、ID01とPCをシリアル接続し、brain_debug.exeを起動したら、ID-01の電源をON します。Readyになったことを確認したら、enterを押すと#の状態になります。 このツールのメリットは、Logが自動的に取られますので、色々なテストで確認に便利か と思われます。 ひとつだけ例を # /idroid/IDROID/ test これでエンドレスのテストが開始されます。停止はenterを押すだけで停止できます。 宜しければお試しください。
このプロジェクトへの投資、参加者、協力者を募集しています。
村上ファンドより期待できると思いますよ。

テレビのコマーシャルでmyRobotを知り、毎週雑誌を買い付録のロボットを組み立てることにしてから、もう53週たった。

問題点と解決策

組み立て中に起こった問題点と解決策を以下に記録する。

14,15,16で一気に電子回路が入って、複雑になってきた。 
問題点1 何とか接続を完了し、テストに入ったがまったく動かない。
原因の究明
 ,泙催澱咾惑磴辰燭个りだが、安物を買ったのでうたがった。
電池1本で動く、モータ付きのおもちゃを使い、確かめた。
◆‥澱咾鯆瓦戮討い訶喘罎如◆棔爾龍棒が合っていないのに気づいた。
この電池ボックスは、不規則な方向を要求しているので間違えた。

問題点2 メインスイッチを入れると動いたが、縦に頭を振ったあと、左に回転し
元に戻って目が黄色に点灯、縦方向のエラー。
原因の究明
 ,泙昔側のカバーがないので、光により横方向のエンコーダが誤動作かと思ったが
方向は縦のエラーなので、困ってしまった。
◆‘をなでたら縦に動くのを思い出し、なでたら正しく動いた。
 もう一度本を見たら、イニシャライズでは左だけテストし正しく完了すれば、緑の
LEDが点灯とかいてある。なんだ黄色っぽいが緑なのだ。

問題点3 27でオプチカルエンコーダの取りつけで写真の図と完成の図が合わない。
 (解してやり直したが、合わない、詳細にみくらべたら部品が微妙に違っていた。
  設計変更か?。
49まできて、腰部の組み立てが終了し、あまりにもだらだらと進むので
嫌気が差して、各種の欠陥も少しは動くので思ったほど性能はよくないのかと、
適当に進めてきたが、いよいよ ブレインボードも近じか入るし、プログラミングも
次回に配布されるので、今までの不良箇所の原因究明にのりだすことにした。

問題点4 いつの間にか、首の横方向の動きがない。
仝彊究明のため、分解し、初期の首が横向きに動く時点に戻すことにした。
右、左の腕など取り除き、17の終了に戻した。
∧理的に腕や、DISPLAYやスピーカーなど取り除き大変だった。
8彊は首の横方向のモーターボックスの分解、組み立てで解決したが、
後から根本の原因を推定するに、首のエンコーダが回転不良、ねじの締めすぎ
であったかと思う。
じ紊ら考えると、物理的な分解は首の横方向のモーターボックスだけで
良かったと思う。
テ部のヘッドコントローラの電源を以前のケーブルで直結し、BUSの結合
ケーブルを抜くだけでテストできたはず。

すばらしい音声認識

2006.11.14 ついに音声ボードが着いた。
こんにちは ありがとう など 音声認識ができ 音声で答えてくる。
すばらしい。
もちろん、認識には限界がある、今後どのくらい拡張できるか未知数であるが 少数のワードはばっちり識別できるようだ
ワードセットとゆう単位で識別できる単語の群を切り替えてゆくアイデアも現実的 ですばらしい。

ここからは、私のアイデアで著作権を主張する。
すばらしい、有能なロボットのアイデアが浮かんできた

高度なロボットになるぞ

まず、会話の目的は、人工知能、高度な内容をロボットがサポートしてくれる。
もちろん、内容はすべてパソコンがサポートするので、ロボットは単にコンピュータ の指示どおりに会話する、ID-01の機能で十分と考える。
まず、コンピュータとロボットのインターフェースは以下とする。
1.コンピュータは音声で必要な指示内容をロボットに伝える。ロボットは音声で   スピーカに流すのみ。
2.コンピュータはローマ字で次に可能なワードセット、5語程度を与える。
3.ロボットは表示部分に単に表示し、その語を認識できるワードセットに設定。
4.人間は表示の語からひとつ選んで発音
5.ロボットはこれを認識し、コンピュータに伝える。
6.以下1から5を繰り返す。

コンピュータは上記インターフェースで目的の人工知能の機能をプログラムする。
たとえば、
・1980年代に流行した、エクスパートシステム
・現代のインターネット検索を利用して、会話するプログラムを新規に考える。
・老人や病人の会話あいてをする、エクスパートシステム
・ゲームの世界の会話システム
など応用は無限に考えられる。

ブレインボード搭載でプログラミング開始

音声認識、音声応答で面白いロボットを考えていたが、
現在提供されているレベルでは実現したい機能で書いた機能は無理、
音声認識は数字0から10まで、音声応答はあらかじめ用意されている
150程度の短文のみ可能。
まあ、それでもある程度面白いプログラムは可能と頑張っている。

高度なプログラミング テクニックの紹介

_酸芝Ъ韻里瓦泙し
・ロボットは高度の会話ができるように見せたい
・実際のロボットは満足な音声認識はできない
・ごまかしとして人間が何か話したら、それを検知し内容に関係なく ロボットが言いたいことをしゃべる。
・これは子供から、大人まで誰でも自然に行っている行為なので 不自然を感じない。(特許取得要)
・これをC-like-editorのプログラムで行うには、少し高度なテクニック が必要となる。
・人間がなにか話したかをしるには、サウンド追跡を待てばよい。 ただし、updateのモードでまつ。
・音を検知したら自分が話してから、相手が話す経過時間が過ぎていれば 次の音声をスタートさせれば良い。
・時間の経過は非同期のプロセスを作り、Pause で1秒経過ごとに変数Tim を加算すれば、経過時間を知りたい行動で変数Timを判定すればよい。
・この時間チェックをしない状態でテストすると、答えるタイミング早すぎ なにも聞いていないようで、不自然。
経過時間
・経過時間をプログラム中で知りたい場合は多い。
・最近ではコンピュータも進歩して、同時の複数のプログラムが動いている のが普通になった。
・でも本当は現在の最新のコンピュータでも、同時に動いているのは1個の プログラム(厳密にはCPUあたり1個)であるが、複数のプログラムの命令を 同時に動かしているように見せる、マルチプログラミングとゆう技術を使って いるのです。
・初心者にこのことをどの程度理解させるのが良いか、私自身は長い時間をかけて コンピュータの進歩と同時に理解してきたので、判断が難しいのです。
・結論としては、このロボットにも同期、非同期の制御で2つ以上のプログラムを 同時に動作させることにより、一方が時間の経過をカウントし、他方は自分本来 の仕事をしながら、必要な時時間の経過を知ることができるのです。
コンピュータと結合しプログラミング中
ブレインボード搭載後まだはらわたがまる見え
足の形が見えてきた
 現状のプログラムの問題点
・音声認識は0から10までの数字しか応答しない。
・サウンド追跡で音声検知をタイミングだけで対応するのは上記のとおり一応 動いたが、音声を検知した時点で首を動かすようにできているので、これを止める 方法はまだ見つけていない。
・やはり、次の段階の高度プログラミングのツール提供を待つしかないか。
ぁー騨囘なロボットに期待すること
・我が家は狭いながらも、一戸建てで、今いたずらな侵入者の撃退方法がなくて 困っている。
・ロボットなら24時間、電池代だけで働いてくれるだろうと期待している。
・ロボットに期待するのは、夜間に庭を見張り人を検知し、証拠写真を撮って 知らせてくれることを期待している。
・ビデオカメラを設置すればよいではないか、などと言わないでください、
人が入ったことを検知しないと、ビデオから侵入者がいるかどうか見つける 単純作業を誰がやるのかを考えてください。
・今度のCMOSカメラには、期待しているのです。
・スポンサーにこのロボットが有効だと分からせれば、追加の研究費も獲得できるかも。
ァ_菫解析処理のテスト結果
・CMOSカメラの入力のチェックはid-01 PC Controlの画面における表示で画面 が見える
・画像解析はビジュアルCライク・エディターユーザーガイド45ページの サンプルを参考に黄色の場所を目標に首を動かすテストを実施したが、
目標が安定的に把握できないように見える。

実現したかった機能

私がこのMyRobotで実現したいと考えていることは 面白い会話の相手をしてくれるロボットです。 技術的な困難は、人が話した内容をどこまで的確にとらえられるかですが、 今回はこの点はあまり追及しないで、間違えて理解することの面白さ、ジョーク に貢献できればと考えています。 話す能力ですが、これは技術的には現在の一般的な水準を多分このロボットも持って いると思うので、問題は、会話の内容そのもの、多くの話させたい内容を集めること だろうと推測しています。
  ロボットへの質問    ロボットからの答え  
おいしいたまには、ソニーの電池にしてよ
はやくしなさい はらがへっては、戦はできぬ 
つべこべゆうな ゆうなちゃんと遊びたい
いくつになったのゼロ
なぜゼロなの成長せざるもの、年取るべからず
こっち向いてこち、こちに固まって動けないよー
どうしたのどうしたも、こうしたも、ないよ
どうしたのママ、怖いよー 
きげん直して期限はあるけど、電池がないの
帰りました早かったね、おみやげなーに
今日はおみやげなしつまんないけど、まー、いいか
何がほしい大好きが一番、きらいが二番
今日は何の日子供の日、いやきっとロボットの日だ
何食べたいバッテラに決まってるでしょ
留守番しててねどろぼうが来ても、見てるだけだよ
おはようおはよう、おなかがすいたよ
こんにちわすみません、どなたか忘れました
パパだよパパは今留守にしています
パパだよパッパラパのパー 
パパだよパパ、ごめんなさい
ママだよオマンマ食べるの
ママだよマーいいか
ママだよママ、ごめんなさい
ママだよママ、泣かないで
  

C言語によるPICプログラミング