SimROBOT

SimROBOTの英語版

英語版のSimROBOTも出たようです。

Safariscreensnapz007

日本では、ロボザックのプログラミング・シミュレータがあったせいもあって、RZ1Actionのダウンロードは、英語版の方が多かったし、反響もあったのですが、英語版のSimROBOTOが出たとあれば、RZ1Actionも必要性が薄れますねsweat01

ま、SimROBOTは、Vistaで動かないから、RZ1Actionの良い所は、Vistaでも動くことくらいかなhappy01sign03Mac OS Xでも動きますhappy01

SimROBOTが、Flashのようなタイムラインを採用してますよね。RZ1Actionもタイムラインのインターフェイスにしたいとは、RZ1Actionを作ったころから思っているんですが、タイムラインの出来合いのインターフェイスがないので、いちから作らなくてはいけなくて、ちょこちょこ作ってはいるんですが、完成するのはいつのころやら。。。

というか、日本語版のSimROBOTも使てないので、英語版が必要な訳ではないのですが、とりあえず英語版をダウンロードしようと「Download」ボタンをクリックしてみたら、ダウンロードされませんね。。。なぜだろう?

あと、先日、robobasicの最新版のサイトが廃止になっているようだと書きましたが、Hitecの日本のサイト英語のサイトドイツのサイト、ともに、v2.5しかダウンロードできないようなので、最新版のv2.7.2をダウンロードしてない方は、現在、v2.7.2をゲットする方法がないってことですね。

| | コメント (0) | トラックバック (0)

SimROBOTのアンケートに答えて...

15日間試用して、アンケートに答えてみました。
聞かれたのは、ダウンロードの時に入力した様な内容に加えて、

  • とても満足  
  • 満足  
  • 普通  
  • 不満  
  • とても不満  
  • 無くてよい

という感じの6段階評価で、22個
あまり悩まず適当にsweat01答えればあっというまに終わりますsweat01

で、もらえるゲームは、「旗上げゲーム」

Parallels_desktopscreensnapz034_2

Parallels_desktopscreensnapz036

操作は、「赤上げて」とかのメッセージにあわせて、キーボードや、ゲームコントローラでします。そうすると、それにあわせて、ロボットが動きます。

1Playerの場合のキーボード操作は、

  • a=白上げる
  • z=白下げる
  • d=赤上げる
  • x=赤下げる

です。

実際にやってみました。当たると、
Parallels_desktopscreensnapz037

こんな感じ!

ちなみに、終了するときは、「ESC」キーです。

というか、22番目のアンケートの質問は、結局のところ、売り物になるかどうかを調べたいってことなんですかね。。。


無料じゃなきゃ使わないだろうなと思ったので、そう答えましたけど。。。sweat01

昨日iPhoneのソフトの話をしましたが、SDKが公開されて、いろんなソフトが出だしていますよね。

この動画面白いですよね。


のビールは、iBeerかな??いろんなこと考えますねhappy01

この人、VirtualMagicianのMarcoさんのコンセプト?面白いですね

| | コメント (0) | トラックバック (0)

SimROBOTの転送プログラムの解析1

SimROBOTがどのようなプログラムを転送しているのか、RZ1BasicでSimROBOTが転送したプログラムを吸い出して、デコンパイルしてみました。

one転送したプログラムはBowとHands Upの2つです。
Parallels_desktopscreensnapz014_2

two転送後、RZ1Basicで、転送されているプログラムを吸い出す。
Parallels_desktopscreensnapz015

threeしばらく待つと、以下のようなオブジェクトが表示されます。
Parallels_desktopscreensnapz016

fourポップアップメニューでソースコードを選択すると、逆コンパイルされます。以下のようなコードが転送されていますた。※変数名、ラベル名はオブジェクトコードの中には記述されない為、それらの名称は逆コンパイルの際にRZ1Basicが自動的に付けたものです。

  • IF 1=1 THEN....の辺りがなんか変なコードを転送してます。
    ま、問題なく動くとは思うけど。。。
  • 2つしか転送していませんが、ON...GOTOのルーチンは32個分用意されています。
  • PTP ALLON, OFFをルーチンごとに行っている。
    あんま必要ないと思うけど。。。
  • DELAYやSPEEDの変換は、やっぱ少しズレてる。
    例:rsfのインポートではDELAY 2000が、フレーム数66コマとしてSimROBOTに読込まれるんだけど、転送すると、1950になっていた。
  • DELAY 0が続くような変換がある。
    動かないキーフレームが連続しているので、仕方がないと思う。

以下がソースコード

DIM A0 AS BYTE
DIM A1 AS BYTE

'====================
PTP SETON
PTP ALLON
DIR G6A,1,0,0,1,0,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,1,0
GETMOTORSET G6A,1,1,1,1,1,0
GETMOTORSET G6B,1,1,1,0,0,0
GETMOTORSET G6C,1,1,1,0,0,0
GETMOTORSET G6D,1,1,1,1,1,0
SPEED 5
MOTOR G24
IF 1=1 THEN
A0
=0
ELSEIF 1=2 THEN
A0
=32
ELSEIF 1=3 THEN
A0
=64
ELSE
A0
=96
ENDIF
A1
=0

'====================
LABEL35:
A1
=REMOCON(1)
A1
=A1-A0
ON A1 GOTO LABEL35,LABEL36,LABEL37,LABEL38,LABEL39,LABEL40,LABEL41,LABEL42,LABEL43,LABEL44,LABEL45,LABEL46,LABEL47,LABEL48,LABEL49,LABEL50,LABEL51,LABEL52,LABEL53,LABEL54,LABEL55,LABEL56,LABEL57,LABEL58,LABEL59,LABEL60,LABEL61,LABEL62,LABEL63,LABEL64,LABEL65,LABEL66,LABEL67
GOTO LABEL35
END

'====================
LABEL36:
A1
=0
PTP ALLON
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
SPEED 10
MOVE G24,100,58,135,160,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,58,135,160,100,100
WAIT

DELAY 1950
SPEED 8
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
WAIT

DELAY 450
PTP ALLOFF
GOTO LABEL35

'====================
LABEL37:
A1
=0
PTP ALLON
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
SPEED 7
MOVE G24,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100
WAIT

DELAY 0
DELAY 0
DELAY 0
DELAY 0
SPEED 6
MOVE G24,100,76,145,93,100,100,100,168,150,100,100,100,100,168,150,100,100,100,100,76,145,93,100,100
WAIT

DELAY 450
SPEED 8
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
WAIT

DELAY 150
PTP ALLOFF
GOTO LABEL35

'====================
LABEL38:
A1
=0
GOTO LABEL35

'====================
LABEL39:
A1
=0
GOTO LABEL35

'====================
LABEL40:
A1
=0
GOTO LABEL35

'====================
.........
.........
.........

LABEL67までつづきます。

| | コメント (0) | トラックバック (0)

srmファイル形式(SimROBOTのファイル)解析4

srmファイル形式(SimROBOTのファイル)解析2」で、imROBOTのフレームと、ROBOBASICのDELAY/SPEED/最大動作角度との関係を調べたんですが、SimROBOTのマニュアルを読んでいたら、1秒当り33フレームでなく、1フレームが30ミリ秒でしたsweat01ほんのちょっとの違いですが、書き直しておきます。

《フレーム》

  • 30ミリ秒/FRAME

《DELAY値》

  • FRAME数=DELAY値 / 30
  • DELAY値=FRAME数 x 30

《SPEED値》

モータ回転速度

  1. 50ミリ秒/度
  2. 25ミリ秒/度
  3. 16ミリ秒/度
  4. 12ミリ秒/度
  5. 10ミリ秒/度
  6. 8ミリ秒/度
  7. 7ミリ秒/度
  8. 6ミリ秒/度
  9. 5ミリ秒/度
  10. 5ミリ秒/度
  11. 4ミリ秒/度
  12. 4ミリ秒/度
  13. 3ミリ秒/度
  14. 3ミリ秒/度
  15. 3ミリ秒/度
  • FRAME数=最大動作角度 x モータ回転速度 / 30
    もし、モータ回転速度を式にするなら
    モータ回転速度=52.053 x SPEED値の-1.057乗
  • SPEED値=41.683 x (FRAME数 / 最大動作角度 x 30)の-0.9415乗

以上のようになりますので、RZ1Basicや、RZ1Disguseは、次のバージョンの公開までには直しておきます。

| | コメント (0) | トラックバック (0)

srpファイル形式(SimROBOTのファイル)解析1

すげー似たタイトルになってしまいましたが、SimROBOTのファイルにsrpというのがあるのを見つけましたsweat01

  • srm:モーションファイル
  • srp:ポーズファイル

です。

srpは以下の通りです。数値などなどは、srmと同じようなので、説明は割愛させて頂きます。

RThigh = -0.000
RKnee = 105.000
RShin = -10.000
RAnkle1 = 3.000
RAnkle2 = -0.000

LThigh = 0.000
LKnee = 105.000
LShin = -10.000
LAnkle1 = 3.000
LAnkle2 = 0.000

LShoulder = -0.000
LUpperArm = -70.000
LArm = -20.000

RShoulder = 0.000
RUpperArm = -70.000
RArm = -20.000

Body : px=0.000, py=6.862, pz=-0.460, rx=-90.000, ry=-39.055, rz=90.000

| | コメント (0) | トラックバック (0)

srmファイル形式(SimROBOTのファイル)解析3

SimROBOTの角度と、ROBOBASICの角度に関して、関係式をまとめましたので書いておきます。

DIRに関しては、ROBOBASICのデフォルトと同じのようです。ROBOBASICの角度(R)、SimROBOTの角度(S)とすると以下の表で書いた関係式で双方向に変換することが可能です(クリックして拡大して見て下さい)。
Numbersscreensnapz002

SimROBOTの基準角度がモータによって異なっているので、モータによって式が変わります。

ということで、ここまで出してきた関係式で、RZ1Action, RZ1Basic, RZ1Disguiseで変換の対応ができるかなぁ。。。

| | コメント (0) | トラックバック (0)

srmファイル形式(SimROBOTのファイル)解析2

SimROBOTのフレームと、ROBOBASICのDELAY/SPEED/最大動作角度との関係を調べてみましたpaper

《フレーム数》

  • 1秒当り33フレーム

《DELAY値》

  • FRAME数=DELAY値 x 33/1000
  • DELAY値=FRAME数 x 1000/33

《SPEED値》
SPEED値とFRAME数の関係がどうも非線形なようで、いろいろデータを取ってみると以下の表のような関係があることがわかりました。以前、ロボザックで実測した時、スピードは線形だったんだけど、変なのsign02ま、いいかぁ
Numbersscreensnapz001
これを、近似してみると、以下になりました。
横軸はSPEED値(x)、縦軸は最大動作角度1度当りのフレーム数(y)になります。
Excelscreensnapz001

ということで、

  • FRAME数=最大動作角度 x 1.7351 x SPEED値の-1.057乗
  • SPEED値=1.6954 x (FRAME数/最大動作角度)の-0.9415乗
    (※最大動作角度が0度の場合、DELAYコマンド、上記DELAY値の式)

で変換できるかな。。

| | コメント (0) | トラックバック (0)

srmファイル形式(SimROBOTのファイル)解析1

Safariscreensnapz004先日公開された
SimROBOT 0 for ROBONOVA-I

なんですが、独自のsrm形式と、rsf形式(roboScript)が読込め、書き出しは、srm形式のみのようですね。

RZ1Disguiseでsrm形式を変換できるように、とりあえず、サンプルのBOWをsrmで書き出して中を見てみました。

ただのテキストファイルですね。
テキストエディタで開いて見てみると、以下のようになっていました。

F0 [ Body px=0.000, py=7.657, pz=0.057, rx=-90.000, ry=-0.055, rz=90.000 ] RThigh=0.000,RKnee=38.000,RShin=0.000,RAnkle1=21.000,RAnkle2=0.000,LThigh=0.000,LKnee=38.000,LShin=0.000,LAnkle1=21.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F14 [ Body px=0.000, py=6.862, pz=-0.460, rx=-90.000, ry=-39.055, rz=90.000 ] RThigh=0.000,RKnee=105.000,RShin=-10.000,RAnkle1=3.000,RAnkle2=0.000,LThigh=0.000,LKnee=105.000,LShin=-10.000,LAnkle1=3.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F80 [ Body px=0.000, py=6.862, pz=-0.460, rx=-90.000, ry=-39.055, rz=90.000 ] RThigh=0.000,RKnee=105.000,RShin=-10.000,RAnkle1=3.000,RAnkle2=0.000,LThigh=0.000,LKnee=105.000,LShin=-10.000,LAnkle1=3.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F98 [ Body px=0.000, py=7.657, pz=0.057, rx=-90.000, ry=-0.055, rz=90.000 ] RThigh=0.000,RKnee=38.000,RShin=0.000,RAnkle1=21.000,RAnkle2=0.000,LThigh=0.000,LKnee=38.000,LShin=0.000,LAnkle1=21.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;
F114 [ Body px=0.000, py=7.657, pz=0.057, rx=-90.000, ry=-0.055, rz=90.000 ] RThigh=0.000,RKnee=38.000,RShin=0.000,RAnkle1=21.000,RAnkle2=0.000,LThigh=0.000,LKnee=38.000,LShin=0.000,LAnkle1=21.000,LAnkle2=0.000,LShoulder=0.000,LUpperArm=-70.000,LArm=-20.000,RShoulder=0.000,RUpperArm=-70.000,RArm=-20.000;

構造

キーフレーム:

  • F
  • フレーム番号
  • スペース

位置と向き:

  • [
  • スペース
  • Body //基準部位
  • スペース
  • px=?, //X位置
  • スペース
  • py=?, //Y位置
  • スペース
  • pz=?, //Z位置
  • スペース
  • rx=?, //X軸回転
  • スペース
  • ry=?, //Y軸回転
  • スペース
  • rz=? //Z軸回転
  • スペース
  • ]
  • スペース

サーボモータ:

  • RThigh=?, //右大腿(股関節の外転、内転):#22
  • RKnee=?, //右膝(股関節の屈曲、伸展):#21
  • RShin=?, //右脛(膝関節の屈曲、伸展):#20
  • RAnkle1=?, //右足首1(足首の底屈、背屈):#19
  • RAnkle2=?, //右足首2(足首の内反、外反):#18
  • LThigh=?, //左大腿(股関節の外転、内転):#4
  • LKnee=?, //左膝(股関節の屈曲、伸展):#3
  • LShin=?, //左脛(膝関節の屈曲、伸展):#2
  • LAnkle1=?, //左足首1(足首の屈、背屈):#1
  • LAnkle2=?, //左足首2(足首の内反、外反):#0
  • LShoulder=?, //左肩(肩関節の屈曲、伸展):#6
  • LUpperArm=?, //左上腕(肩関節の外転、内転):#7
  • LArm=?, //左腕(肘関節の屈曲、伸展):#8
  • RShoulder=?, //肩(肩関節の屈曲、伸展):#12
  • RUpperArm=?, //上腕(肩関節の外転、内転):#13
  • RArm=?; //腕(肘関節の屈曲、伸展):#14

 
フレーム:キーフレームのフレーム番号に"F"を付ける。

位置と向き:基準部位が胴になっていると、換算するのが特に面倒くさそう。ま、足になっていても面倒くさそうだけど。。。

サーボモータ:右にはR、左にはLが付いた名前とモータの角度で各モータを表しているみたい。けど名前の付け方が変な気がするけど、ま、いいや。上記赤字で示したモータに対応します。

スタンダードポーズの角度が以下(赤字はroboBASICなどの場合の角度)

  • RThigh=0.000 //100
  • RKnee=38.000 //93
  • RShin=0.000 //145
  • RAnkle1=21.000 //76
  • RAnkle2=0.000 //100
  • LThigh=0.000 //100
  • LKnee=38.000 //93
  • LShin=0.000 //145
  • LAnkle1=21.000 //76
  • LAnkle2=0.000 //100
  • LShoulder=0.000 //100
  • LUpperArm=-70.000 //30
  • LArm=-20.000 //80
  • RShoulder=0.000 //100
  • RUpperArm=-70.000 //30
  • RArm=-20.000 //80

とBOWの場合は、以上のような構造でした。
srmからrsf、basへの変換は簡単に対応できそうですね。
srmへの変換は位置情報算出がやっかいだなぁsweat01でも、SimROBOTのインポードRSFでも、位置情報は何も計算されないみたいだから、それでいいなら、簡単だなhappy01

 

| | コメント (0) | トラックバック (0)

ParallelsでSimROBOT 0 for ROBONOVA-Iを動かしてみました

SimROBOT 0 for ROBONOVA-I
ダウンロードできるようになりましたね

早速、Mac+Parallels Desktopで動かしてみました。


Mac+Parallels Desktopでちゃんと動きますよup
追記:Windows XPだけでなく、Vistaでも動きましたよnotes

  1. SimROBOTを起動
  2. Robonovaがデスクトップに現れる
  3. 右クリックで、SimROBOT開始を選択すると、メイン画面になる
    Sr1
  4. オプションボタンをクリッ ク
    Sr3
  5. 試しにBackward Tumblingを選択し、読み込みボタンをクリック
    Sr4
  6. プレイボタンをクリック
    Sr2
  7. すげ〜ちゃんと回ったよ
    Sr5

ということで、兎に角、私はMacで動いてくれたのでひと安心
いろいろ楽しめそうですね。

| | コメント (0) | トラックバック (0)

2008年4月末は今日が最後だよね

Safariscreensnapz004先日紹介した
SimROBOT 0 for ROBONOVA-I

1週間くらい前から、毎日見に行ってるんだけど、ダウンロード開始になりませんね。

2008年4月末は今日が最後だよね。

roboBASICのVista対応のインフォメーション
http://www.hitecrcd.co.jp/info/news/07_9_12.htm
で、2007年11月以降を予定とあったので、期待したのですが、
http://www.hitecrcd.co.jp/info/news/08_1_28.htm
で、まだ配布出来ない状況とがっかりさせられましたが、

SimROBOT 0 for ROBONOVA-Iはどうなのかなぁ?
今日中にダウンロードできるようになるのかなぁ。。。

追記:今日のうちにダウンロードできるようになりましたねhappy01up

| | コメント (2) | トラックバック (0)

SimROBOT 0 for ROBONOVA-I

Safariscreensnapz004 c4cronoさんからメールで聞いたんですけど(ごめんなさい、先に、書いちゃったsweat01

SimROBOT 0 for ROBONOVA-I

というプログラミング・シミュレーターのようなソフトウエアが2008年4月末よりフリーソフトウエアとしてダウンロード開始!!のようです!

プログラミング・シミュレーターよりも、RZ1Actionよりも高機能そうですよ!!

残念ながら対応OSがWINDOWS XPのようです。
なんでVistaで動くものを作れないんでしょうね??

| | コメント (2) | トラックバック (0)