ロボットの見た世界2008/01/23 18:41

 ロボちゃん(ID-01)には、私たちの姿がどの様に見えているのだろう。
 ロボちゃんの目が捉えた映像をスチール写真で撮影したり、ビデオ録画も出来る様になっている。
 ブルートゥース通信を経由してロボットから送られてきた映像がパソコンに蓄積される仕組み。
 つまり、WEBカメラの様に使える。
 写真の黄色い部分は、ロボットが特に注意してみている部分。特に人間の肌色に近い色を認識するのだが、間違って壁とかを認識してこの通りの有様となっている。この辺りを調整出来れば、もっと面白くなると思う。
 ビデオの後半の部分で、ロボットが捉えた動画が一部見られる。(前半は、以前に公開したスプレー缶を握るロボちゃんでこの後に連続して見られる。)
http://www.asahi-net.or.jp/~ZZ2T-FRY/robot1217

赤外線リモコンユニットを受信機に転用2008/01/23 21:22

ビデオキャプチャーなので画質悪いです。
 ID-01の機能を調べてみると、右手のリモコンモジュールは、赤外線信号の発進以外に受信にも転用する事が出来る事が判明した。
 リモコンからの赤外線信号(とにかく赤外線を発進するものならなんでも良いみたい)を感知したら、「私は、本当に幸せです。」と言うプログラムを作成してみた。
 その様子をビデオに撮影してみた。
 ロボちゃんとの新たなコミュニケーション手段が見つかって嬉しい。
 今後の課題は、更に詳しい信号制御を可能にする事である。
http://www.asahi-net.or.jp/~ZZ2T-FRY/remort.wmv

プログラムソース
----------------
/**
*
* @author
* @version 1.0
*/

#include "c-like.h"
#include "robot.h"


counter Counter1 = new(counter);

declare( behavior(Behavior1) );


define( behavior(Main))
{
set(Counter1,1);
lcd_clear();
lcd_write_string(1,1,"watasi wa siawase");
vision_follower(true);
say_phrase(21);
start(Behavior1);
end();
}

define( behavior(Behavior1) )
{
while (get(Counter1) < 10)
{
inc(Counter1,1);
lcd_write_string(2,1,"@@@");
say_phrase(140);
led_blink(LED_RED_RIGHT);
led_blink(LED_GREEN_LEFT);
head_pan_r(-1);
head_pan_r(1);
head_pan_r(-1);
head_pan_r(1);
local(urc) = wait_for (urc, update);
led_blink(LED_YELLOW_RIGHT);
led_blink(LED_YELLOW_LEFT);
play_sound(8);
head_tilt_r(1);
led_blink(LED_ALL);
head_tilt_r(-1);
head_tilt_r(1);
led_blink(LED_ALL);
lights(true);
led_off(LED_ALL);
head_tilt_r(-1);
left_arm_r(1);
left_arm_r(1);
left_arm_r(-1);
left_arm_r(-1);
right_arm_r(1);
right_arm_r(1);
right_arm_r(-1);
right_arm_r(-1);
say_phrase(124);
base_up();
say_phrase(61);
say_phrase(70);
base_down();
lights(false);
}
}

源氏物語・失われた場面2008/01/23 23:43

 国宝源氏物語絵巻で、源氏物語のどの場面を選択されたのか、今、一覧表を作っている。
 ようやく松風の巻まで作成したが、ここまで、絵が曲がりなりにも残っているのは、若紫、蓬生、関屋巻のみで、先日述べた、若紫のもう1つの場面、末摘花、絵合わせ、松風は、詞書のみで、しかも、若紫、末摘花、松風は、ほんの断片でしかない。それでも、現存の源氏物語本文との照合が可能なので、面白い。
 特に、残念なのは、絵合巻であり、これは、ほぼ完全な形で詞書が残されている。
 二条院で源氏と紫上が古今の様々な絵画を2人で鑑賞する場面で、きっと華やかで素晴らしい絵であったろう。
 松風巻のこの意味では、非常に惜しい。明石君と入道との別離の場面で、入道が詠んだ歌の一部が残されている。
 きっと、物寂しい明石浦を背景に、情緒ある場面が描かれていたに違いない。
 末摘花の断片も面白い、源氏が2人が一緒に過ごした翌朝、末摘花の醜悪な姿を見てしまう場面である。どの様な絵が描かれていたのか、例えば、本当に醜く描かれていた場合と、控えめに描かれていたのでは、大分、様子が違う。
 この様に失われてしまった絵の部分は、大抵、面白い場面であり、やはり、この部分だけを所望するイケナイ人によって切り取られてしまったのだろう。
 図は、ツバル発行の土佐派の源氏物語絵を図案化した切手で蓬生巻、絵合巻等が描かれている。

FZ18 自然な感じで撮れます2008/01/25 23:30

FZ18で撮影
 FZ18の画調について、先日は根暗だと言ってしまったが、それに加えて、FZ7では、やや輪郭が強調される傾向があったのが、FZ18では、非常に自然な感じで撮れていて、デジイチに少し近づいた感じがする。それでいて、ディテールの描写が出来る。
 でも、なによりも有り難いのは、500万画素に落とせば、EZ23倍ズームが出来る事で、そうなれば、50㍉標準換算で1000㍉相当の超望遠で撮影出来る事になる。
 それでもインテリジェントISOで増感されているとしてもかなり速いシャッターが切れるので、ブレル事は少ない。
 しかし、AFが場合よって合いにくい事があるので、AFAELOCK機能を使っていわゆる置きピンで撮影する事であり、これは、レーシングカーの流し撮りの要領と一緒だ。
 写真は、鶴見緑地で撮影したもの。かなり離れた距離で撮影しているので、自然な表情が撮れる。

凄い鳥の群れでした2008/01/26 08:54

FZ18で撮影。カラーモードをウォームで撮影
 これも鶴見緑地でのFZ18での1枚。
 大変な数の渡り鳥等が居ます。
 ちょうど、エサをやっている人がいたので、この有様です。
 シャッター優先でカラーモードをウォームで撮影したら、こんな暖かい感じの写真が撮れました。
 これもかなりテレ端に近いポジションで撮影しました。
 鳥の表情等、撮影してみると意外に1羽1羽違っていたりして、面白いものです。

ようやく体重減少効果か2008/01/26 11:55

 ゆさぶーるを初めてから現在までの体重と筋肉率、体脂肪率のグラフだが、体重の減少がようやく、先週辺りから目立ち始めた。
 ところが、筋肉率は、一時は、改善傾向が見られたが、体重が減少したら下がってしまった。
 一日の運動量は、300kcal分、ステップ13と自動モードを組み合わせている。
 ステップ13では、以前、マモリスの先生に教えていただいた方法だが、真っ直ぐに立ってのるのではなくて、支柱に身体をもたせかけて、90度に曲がる角度で振動を与えている。
 自動モードの運動では、ただ単に膝を曲げるのではなくて、屈伸運動、腕付きポーズでは、腕立て伏せを振動中に30回程度する様にする。ちょうど30回位やった時にタイマーが切れる。
 運動はハードで、少し疲れが貯まって来た。特に太股やら背中、腹等、筋肉痛気味。

ロボちゃんとのリモコン会話に成功!2008/01/26 18:49

 ID-01の最大の欠点は、OSに組み込まれた基本プログラムによって、音声コマンドを理解する事は出来るので、最小限のコミュニケーションらしきものは出来るが、ユーザーがVC-LIKE EDITORで作成したプログラムでの双方向のコミュニケーションが困難である事だ。
 つまり、ID-01との受け答え(ロールプレイ)で進行するプログラムを作成する事が非常に難しい。
 タッチセンサー、超音波センサー等があるが、音声での意思疎通は、COMMNDという命令以外はなく、しかも、この命令を変数化する事は難しく、意思疎通には非常に使いづらいものである。
 そうなれば、一番簡単な意思疎通は、前回アップした赤外線リモコンを利用して、予めプログラミングされたID-01からの音声質問に対して、リモコンキーで、意思を伝達する方法がある。
 今回のプログラムは、現在、1~9まで予めリモコンコマンドを学習させておく(マイロボット90号参照)
 WAIT FOR コマンド及びリモコンチェックプラグラムで条件式を分岐させる。(画面がその部分)
 こうする事で簡単な会話型プログラムを完成させる事が出来た。
http://www.asahi-net.or.jp/~ZZ2T-FRY/remort.wmv
 ID-01に音声そのもののパターンを記憶させておいて反応させる様にプログラムを組む事は、C-LIKE言語では、無理だろう。
 ロボットのフレーズは100種類以上予め登録させているので、これを組み合わせて、ロボットの意思を伝えさせる事はビデオの様に可能である。
以下は、プログラムソース(1がYES それ以外の番号は、NOという様にしてある。予め、リモコンを学習させておかねば動作しない。
------------
/**
*
* @author
* @version 1.0
*/

#include "c-like.h"
#include "robot.h"


counter Counter1 = new(counter);

declare( behavior(Behavior1) );


define( behavior(Main))
{
set(Counter1,1);
lcd_clear();
lcd_write_string(1,1,"watasi wa siawase");
vision_follower(true);
say_phrase(21);
start(Behavior1);
end();
}

define( behavior(Behavior1) )
{
while (get(Counter1) < 10)
{
inc(Counter1,1);
lcd_write_string(2,1,"@@@");
led_blink(LED_RED_RIGHT);
led_blink(LED_GREEN_LEFT);
head_pan_r(-1);
head_pan_r(1);
head_pan_r(-1);
head_pan_r(1);
local(urc) = wait_for (urc, update);
led_blink(LED_YELLOW_RIGHT);
led_blink(LED_YELLOW_LEFT);
say_phrase(58);
say_phrase(57);
say_phrase(55);
local(urc) = wait_for (urc, update);
if (urc_compare(&local(urc), 1))
{
say_phrase(92);
head_tilt_r(1);
head_tilt_r(-1);
led_blink(LED_GREEN);
say_phrase(140);
local(urc) = wait_for (urc, update);
if (urc_compare(&local(urc), 1))
{
play_sound(8);
say_phrase(60);
say_phrase(60);
left_arm_r(1);
right_arm_r(1);
right_arm_r(-1);
left_arm_r(-1);
led_blink(LED_RED);
base_up();
base_down();
}
else
{
led_blink(LED_YELLOW);
say_phrase(64);
say_phrase(8);
say_phrase(83);
say_phrase(93);
}
}
else
{
led_on(LED_GREEN);
head_tilt_r(-1);
say_phrase(62);
say_phrase(95);
}
head_tilt_r(1);
led_blink(LED_ALL);
head_tilt_r(-1);
head_tilt_r(1);
led_blink(LED_ALL);
lights(true);
led_off(LED_ALL);
head_tilt_r(-1);
left_arm_r(1);
left_arm_r(1);
left_arm_r(-1);
left_arm_r(-1);
right_arm_r(1);
right_arm_r(1);
right_arm_r(-1);
right_arm_r(-1);
say_phrase(124);
base_up();
say_phrase(61);
say_phrase(70);
base_down();
lights(false);
}
}

リモコンに運動機能を追加2008/01/27 10:50

IXYDIGITAL70で撮影。4枚の写真を1枚に合成してあります。
 昨日のプログラムを更に改良した。
 名付けて、「ロボちゃん運動プログラム」
 「遊びましょう」でリモコンの1を押すとカーンと音がなるのは一緒だが、そこから運動モードに入る。
 運動モードに入った事を示すためにリモコンの左手が挙手される。
 後は、ボタン操作で運動を始める。
 リモコンの2が前進、8が後退、4が左回転、6が右回転、1がベースアップ、2がベースダウン。3が右腕上げ、9が右腕下げ、5がハンドツールオープン、0がハンドツールクローズとなっている。
 行動は、10回ループで繰り返され、それが終わると、最初に戻る。
 結局、リモコン操作の運動になるが、障害物回避のコマンドが実行されているので、狭い道であれば、それを回避して行動するので、不規則な動きになって面白い。
 写真は回転運動をさせているところ。
 以下は、ソースコード(リモコンの番号を0から9まで学習させておく必要がある。
-------------
/**
*
* @author
* @version 1.0
*/

#include "c-like.h"
#include "robot.h"


counter Counter1 = new(counter);
counter Counter2 = new(counter);

declare( behavior(Behavior1) );

void Procedure1();
void Procedure2();

define( behavior(Main))
{
set(Counter1,1);
set(Counter2,1);
lcd_clear();
lcd_write_string(1,1,"watasi wa siawase");
vision_follower(true);
obstacle_avoidance(true);
say_phrase(21);
start(Behavior1);
end();
}

define( behavior(Behavior1) )
{
while (get(Counter1) < 10)
{
inc(Counter1,1);
lcd_write_string(2,1,"@@@");
led_blink(LED_RED_RIGHT);
led_blink(LED_GREEN_LEFT);
head_pan_r(-1);
head_pan_r(1);
head_pan_r(-1);
head_pan_r(1);
local(urc) = wait_for (urc, update);
say_phrase(58);
say_phrase(57);
say_phrase(55);
local(urc) = wait_for (urc, update);
if (urc_compare(&local(urc), 1))
{
say_phrase(92);
head_tilt_r(1);
head_tilt_r(-1);
led_blink(LED_GREEN);
say_phrase(140);
local(urc) = wait_for (urc, update);
if (urc_compare(&local(urc), 1))
{
play_sound(8);
say_phrase(60);
say_phrase(60);
Procedure1();
led_blink(LED_RED);
}
else
{
led_blink(LED_YELLOW);
say_phrase(64);
say_phrase(8);
say_phrase(83);
say_phrase(93);
}
}
else
{
led_on(LED_GREEN);
head_tilt_r(-1);
say_phrase(62);
say_phrase(95);
}
head_tilt_r(1);
led_blink(LED_ALL);
head_tilt_r(-1);
head_tilt_r(1);
led_blink(LED_ALL);
lights(true);
led_off(LED_ALL);
head_tilt_r(-1);
left_arm_r(1);
left_arm_r(1);
left_arm_r(-1);
left_arm_r(-1);
right_arm_r(1);
right_arm_r(1);
right_arm_r(-1);
right_arm_r(-1);
say_phrase(124);
base_up();
say_phrase(61);
say_phrase(70);
base_down();
lights(false);
}
}

void Procedure1()
{
left_arm_r(15);
while (get(Counter2) < 10)
{
inc(Counter2,1);
Procedure2();
}
left_arm_r(-15);
set(Counter2,1);
return;
}

void Procedure2()
{
local(urc) = wait_for (urc, update);
if (urc_compare(&local(urc), 2))
{
say_phrase(27);
move_dist(50,50);
}
else
{
}
if (urc_compare(&local(urc), 8))
{
say_phrase(28);
move_dist(50,-50);
}
else
{
}
if (urc_compare(&local(urc), 4))
{
say_phrase(23);
turn(90,-50);
}
else
{
}
if (urc_compare(&local(urc), 6))
{
say_phrase(24);
turn(90,50);
}
else
{
}
if (urc_compare(&local(urc), 1))
{
say_phrase(25);
base_up();
}
else
{
}
if (urc_compare(&local(urc), 7))
{
say_phrase(26);
base_down();
}
else
{
}
if (urc_compare(&local(urc), 3))
{
right_arm_r(3);
}
else
{
}
if (urc_compare(&local(urc), 9))
{
right_arm_r(-3);
}
else
{
}
if (urc_compare(&local(urc), 5))
{
hand_open();
}
else
{
}
if (urc_compare(&local(urc), 0))
{
hand_close(1);
}
else
{
}
return;
}

ピントが少し甘いかな。2008/01/27 17:53

FZ18で撮影。IAモード
 外は、厳しく寒い毎日だが、鶴見緑地の咲くやこの花館の温室では、熱帯睡蓮が咲き乱れている。
 温室の中は、ムシムシして少し暑い位。
 FZ18のレンズも少し曇ってしまって暫く使えなかった。
 花の写真はピントの設定が難しく、IAモードでは、やりにくい。ピンポイントでフォーカスする事が必要になってくる。
 一眼レフに比べて画面の精細度が低いので、細かな合焦の確認がやりにくい。
 インディケーターでピントが合ったと表示されても実は、地面や水面にピントが合っている場合もあるので、要注意だと思う。
 FZ18になってやはり、質感は良くなった思う。32インチの画面に拡大して詳細をチェックしてみるとFZ7に比べてややノイズが目立つ(フィルムカメラでは、これよりもずっとノイズっぽかった。)が、気にする程ではない。

写真集を作りました。2008/01/29 23:09

 昨年11月に行われたFZ18によるフォーミュラージャパン撮影会の写真集を作ってみた。
 「マイブック~デジタル写真を撮ったらフォトアルバムにしませんか。」
http://www.mybook.co.jp/
のページで専用ソフトをダウンロードする。
 幾つかページ数や装幀によって価格も異なるが、私が選んだのは、188Sの20Pタイプで、価格は、3465円(送料・手数料込み、コンビニ決済)
 ダウンロードされたソフトはMYBOOK EDITORで「新規作成画面」を選択すると、作成したい写真集・アルバムのタイプを選択してから編集画面に入る仕組み。
 編集は非常に簡単で、写真集に載せたいイメージを選択すると自動的に配列される。画像フォルダから自動的にアップロードされる仕組み。
 文字等も編集出来る。(私は、うっかりしていて文字入れを忘れて、表紙からなにもかも無文字の写真集になってしまったが、これも洒落ていてよい。)
 編集が終わるとアップロードと、注文画面に移る。この前に作成したブックファイルを保存しておく事も出来る。
 全てインターネット経由。支払いも色々選べるが、私は、カード決済や代引きは敬遠して、コンビニ決済する。
 すぐに確認メールと受注番号を送られてくるので、ローソンで支払いを済ませて、10日後に完成した写真集が送られて来た。
 完成品(写真)を見ると、光沢・ハードカバー表紙で製本も子供の絵本の様にしっかりしていて、豪華。写真が掲載されるページの紙質は、ややザラザラしておりエコノミーな感じもするが、市販のものと何ら変わらない。
 価格が、高いのが難点だが、立派なものが出来るので、自慢出来る様なものが撮影出来れば、オリジナルの写真集として残しておくのも悪くない。
 写真・絵本等も出来そうだ。色々と工夫次第で創作の輪が広がると思う。