« 2008年9月 | トップページ | 2008年11月 »

2008年10月

IF文の中のIF文

roboBASIC v2.5の頃は、下記のような、IF文の中にIF文を書くことができなかったんですが、いつの間にやら、v2.72では、それが可能になったんですねsweat01

one入れ子あり

IF A=0 THEN
 IF B=1 THEN
         MUSIC "C"
   
ENDIF
ENDIF

使えないもんだと思い込んでいるので、全然気が付きませんでしたが、ヒロビさんのブログ記事を見て知りましたsweat01

RZ1BasicもroboBASICと同じ仕様にしているので、同じように、IF文の中にIF文を書けるようにはしてませんsweat01最初からIF文の入れ子ができるようになっていれば良かったのに、今からじゃ、入れ子ありで動くように直すのすっげ〜〜大変だぁbearingdownRZ1Basic v0.5.0で対応しましたpaper

と言ってるだけじゃ、あれなので、簡単ですが、IF文の入れ子ありを入れ子なしに書き換える場合の例を書いておきます。

oneの入れ子なし

IF A=0 AND B=1 THEN
   
MUSIC "C"
ENDIF

two入れ子あり

IF A=0 THEN
    IF B=1 THEN
        MUSIC "C"
    ELSEIF C=2 THEN
        MUSIC "D" 
    ENDIF
    MUSIC "E"
ENDIF

twoの入れ子なしの1

IF A=0 AND B=1 THEN
    MUSIC "C"
ELSEIF A=0 AND C=2 THEN
    MUSIC "D"
ENDIF
IF A=0 THEN
    MUSIC "E"
ENDIF

twoの入れ子なしの2

HOGE:
    IF
B=1 THEN
       
MUSIC "C"
    ELSEIF C=2 THEN
        MUSIC "D" 
    ENDIF
    RETURN

IF
A=0 THEN
    GOSUB HOGE
    MUSIC "E"
ENDIF

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

あれこれ考えてみる(原点を見直してみる...4)

さて、前回のつづきです。

【基本姿勢データ】
内蔵EEPROMの0x0FC0〜0x0FDFの32バイトに基本姿勢のデータの置き場があります。私のMR-C3024の、ここに記録されているデータを見てみたら、

FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF

となっていました。もし、ここが基本姿勢(スタンダードポーズ)のデータならば、

644C915D 6464641E 50646464 641E5064
6464644C 915D6464 FFFFFFFF FFFFFFFF

となっているべきですね。実際に、MR-C3024の工場出荷状態では、そうなっていたのかもしれませんが、今となっては、わかりません。ただ、ここを書き換える様なコマンドまたはroboBASICからの操作があるのかsign02というのも謎です。[追記]:忘れていました。INITコマンドで書き換えられますねsweat01

テンプレートでは、プログラムの最初に、以下のようなコードが書かれていますが、

-------------
GETMOTORSET
 G24,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0
'== motor power on  =============================

SPEED
 5
MOTOR
 G24
GOSUB
standard_pose
-------------

電源を入れた時に急激なモーターの動きを回避する為、GETMOTORSETを使うことを推奨しています(いたかと思いました)。GETMOTORSETは、「現在のサーボモーターの位置を読み込み、現在の状態を維持させる」コマンドです。つまり「電源を入れた時、どんな格好をしていようと、その格好でいなさい」というコマンドです。このコマンドを使う限り、内蔵EEPROMの0x0FC0〜0x0FDFの基本姿勢の値は意味をなさなくなるんです。むしろFFであることで、GETMOTORSETを使用してなかった場合でも、電源を入れた時の急激な動きが避けようとしているのかもしれません。ただし、GETMOTORSETを使う限り、内蔵EEPROMの0x0FC0〜0x0FDFの基本姿勢を無視している為、GOSUB standard_poseで基本姿勢にしてあげる必要がでてきます。

さて、もし、内蔵EEPROMの0x0FC0〜0x0FDFの値が、

644C915D 6464641E 50646464 641E5064
6464644C 915D6464 FFFFFFFF FFFFFFFF

となっていたなら、以下のように、モーターをオンにするだけで、基本姿勢になります。

-------------
'GETMOTORSET G24,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0 
'== motor power on  =============================
SPEED
 5
MOTOR
 G24
'GOSUB standard_pose
-------------

内蔵EEPROMの0x0FC0〜0x0FDFの値の書換えを、RZ1Basic v0.4.9で簡単にできるように機能を設けましたので、ご興味のある方はお使い下さい。

ということで、今回はここまでsign01

つづく。。。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Basic v0.49 公開

Rz1bicon04

RZ1Basic v0.4.9を公開しました。

ここんところゼロ点設定に関して、ブログを書いていますが、ゼロ点関連とリモコン・ラジコン関連の修正・機能追加など、今回はかなり盛り沢山ですhappy01

RZ1Basicはここからダウンロードできます。なお、10/27でサーバーが廃止になってしまってたようで、ダウンロード先を変更しました。もしダウンロードができない不具合などがありましたら、ご連絡下さい。

【更新内容】

  • 環境設定のモーター情報で、内蔵EEPROMに基本姿勢を書込めるようにした(参照)。
    Parallels_desktopscreensnapz028
  • 環境設定にゼロ点設定の項目を設け、ゼロ点設定ポーズの角度を設定できるようにした。ゼロ点設定で、読込みボタンをクリックした時の、ゼロ点のポーズをここで設定できます。
    Parallels_desktopscreensnapz029
  • ゼロ点設定で、股関節ヨー軸を装着している場合の問題点を修正した(※私はヨー軸を装着していないため直っているかは確かでない)。なお、roboBASICv2.72で出ているゼロ点設定の書込みができない不具合はRZ1Basicでは、もともと出ていませんので、ヨー軸ありの方、なしの方、ともにご利用して頂けると思います。
    Parallels_desktopscreensnapz027
  • コマンドテストのメモリーリードで、10進数以外に、2、8、16進数を扱えるようにした。
    Parallels_desktopscreensnapz031
  • Internal EEPROM writeの値が間違っていた不具合を修正した。
    Parallels_desktopscreensnapz030
  • ラジコンコントローラーで、キーボードに寄る操作の不具合を修正した(Windows版)。
    Parallels_desktopscreensnapz026
  • 赤外線リモコンの設定変更(右クリック)で、IDを変更できるようにした。
    Parallels_desktopscreensnapz025

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

あれこれ考えてみる(原点を見直してみる...3)

さて、前回のつづきです。

【ゼロ点補正データ】
ゼロ点補正の為のデータは、()内蔵EEPROM(不揮発性メモリー:電源の供給を切っても記録が残るメモリー)の0x0FE0〜0x0FFFの32バイトと、()SRAM(揮発性メモリー)の0x0340〜0x035Fの32バイトがゼロ点補正データが記録されている場所です。()さらに、プログラムは外付けEEPROMに記録されていますが、プログラム中にZEROコマンドで、ゼロ点の設定が書いてあるかもしれません。

まず、内蔵EEPROMや、SRAMに記録されるデータに関してですが、メモリーから値を読込んでみると、以下のような値で記録されています。

01FDFDFD 03000301 03000000 FF00FC00
0000FD01 00000100 FFFFFFFF FFFFFFFF

ゼロ点補正値は、ゼロ点設定の基本姿勢の状態における、それぞれのサーボモーターの値が100で、補正の数値がそのまま記録されるのではなく、100からのズレ量が記録されることになります。
Pagesscreensnapz001

こうすることによって、プログラムのMOVEなどで指定した角度を補正する式は、例えば以下のようになります。

Pagesscreensnapz003

上段が指定角度、下段が補正値ですが、つまり、そのまま足し算をすればOKということですね(※「計算結果が型の範囲外になると」を参照)。ちなみに指定角度/現在角度はSRAMの0x0300〜0x031F/0x0320〜0x033Fに、補正後の角度はSRAMの0x0360〜0x037Fに記録されます。

実際には、さらにDIR設定で反転させているサーボモーターの値を反転させて(100が中心なので、200-角度で計算できる:例、0xC8-0x49=0x7F)、目的の角度としてサーボモーターを動かすことになります。ちなみに、この値はSRAMの0x0380〜0x039Fに記録されています。

次に、あまり用いないんですが、プログラム中にZEROコマンドを書いて、ゼロ点補正値を設定することができます。ゼロ点のデータも、DIRの場合と同じ様に、電源を入れると内蔵EEPROMからSRAMにコピーされ、さらにZEROコマンドで、ゼロ点を指定していると、内蔵EEPROM、SRAMともに、その値に設定されます。

Omnigraffle_proscreensnapz001

ということで、今回はここまでsign01

つづく。。。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

あれこれ考えてみる(原点を見直してみる...2)

さて、前回のつづきです。

【DIR設定の読み方】
次 に、DIR設定4バイトの実際の値を見てみましょう。DIR値は0か1での指定です。DIR設定の4バイト(=32ビット)は、32個分のサーボモーター のDIR値をビットで設定しているんですね。MR-C3024では24個までなので、DIR設定の最初の3バイトを調べれば実際の値がわかります。

RZ1BasicまたはRZ1Terminalのコマンドテスト機能を使って調べることができます。

内蔵EEPROMのDIR設定を知りたい場合:

  • 0x0FB0の10進数を計算→4016
  • Internal EEPROMを選択
  • Start Addressを4016にする
  • Read Lengthを3にする
  • 「開始」ボタンをクリック

Idir

SRAMのDIR設定を知りたい場合:

  • 0x04E7の10進数を計算→1255
  • SRAMを選択
  • Start Addressを1255にする
  • Read Lengthを3にする
  • 「開始」ボタンをクリック

Sdir

すると、右側のResultのフィールドに結果が返ってきます。たぶん、股関節ヨー軸を繋げていない設定の場合、「C9 0F 58」という3バイトが返ってくると思いますが、どうでしたかsign02

この16進数を2進数にすると

&hC9=&b11001001
&h0F=&b00001111
&h58=&b01011000

です(変換はここ参照)。リトルなインテルさんなので、ややこしいんですが、これを右から順に読んでいきます。

  • C9の右から100100が、G6Aですね。
  • G6Bとなる次の6ビット分は、C9の残り2つの11と、0Fの右から4つ分の1111で、111111となります。
  • 同様に、0Fの残り4つ0000と、58の右から2つ00で、G6Cは、000000となります。
  • 58のあとの残りの6つ011010が、G6Dになります。

と、ごめんなさい、わざとややこしく説明したんですがcoldsweats01&hC90F58を逆に並べて2進数にして、左から読んでいけばOKなんですよpaper色を付けたのでわかりますよねhappy01

&h580FC9=&b010110000000111111001001

ということで、今回はここまでsign01

つづく。。。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

あれこれ考えてみる(原点を見直してみる...)

どうも、roboBASICv2.72のコントローラー形式「MR-C3024シリアル」を選択している場合のゼロ点設定に不具合があるようですね。私は股関節のヨー軸を付けていないので、確かめきれない部分もあるかと思いますが、RZ1Basicのゼロ点設定のこともあるので、原点に返って、ゼロ点のこと、あれこれ考えてみたいと思います。

問題点
具体的に、どんな不具合があるのかというと、

  1. 股関節ヨー軸を付けた場合、ゼロ点設定しても、正しい姿勢をとらない。
  2. ゼロ点の書込みが正しくできない。

の2つがあるようです。また、これらの不具合は、コントローラーの形式「MR-C3000シリアル」を選択している場合には起きないようです。なので、これで設定すれば、事足りるので、あまりみなさんご興味はないと思いますが、コントローラー形式「MR-C3024シリアル」の時に、なぜうまく動かないのか、この簡単な不具合sign01私が33回に分けて説明してやるsign01(テレビの見過ぎsweat01

さて、33回というのは冗談ですが、ゼロ点に関して、DIR設定データ、ゼロ点補正データ、ゼロ点姿勢データなどが、メモリー内でどうなっているかを考えてみることにましょう。

【DIR設定の挙動】
DIR設定は、()内蔵EEPROM(不揮発性メモリー:電源の供給を切っても記録が残るメモリー)の0x0FB0〜0x0FB3の4バイトと、()SRAM(揮発性メモリー)の0x04E7〜0x04EAの4バイトがDIR設定が記録されている場所です。()さらに、プログラムは外付けEEPROMに記録されていますが、プログラム中にもDIR設定が書かれていますね。

実際の挙動は、

  1. 電源を入れる/リセットする。
  2. 内蔵EEPROMからSRAMにDIR設定がコピーされる。
  3. もし、プログラム中にDIRコマンドがある場合、内蔵EEPROMと、SRAMのDIR設定をそのDIR設定に書き換える。

Omnigraffle_proscreensnapz008
という流れでDIRが設定され、SRAMにあるデータを元に、実際、ロボット(サーボモーター)は動くことになります。

あと、いろいろやっていて気が付いたのですが、プログラムを転送後リセットされますが、その際のリセットは、リセットボタンをクリックしてリセットするのとは異なってるようで、上図で、から始まるのでなく、から実行されているようです。ただ、プログラム中にDIR設定を書かないことはまずなし、一般には、SRAMの値を直接いじるようなことはしないので、問題にはならないと思います。

ということで、今回はここまでsign01

つづく。。。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Controller RC v0.1.1公開

Icon01_128RZ1Controller RC v0.1.1を公開しました。
最新バージョンは、ここからダウンロードできます。

【更新内容】

  • キーを押しても反応しない不具合を修正(Windows版)
  • ボタンのヘルプタグにキーを表示するようにした。
  • ボタンをクリックしたり、キーボードを押したり、ラジバンダリ〜
    の時の、応答を改良した。

※仮想マシンでWindowsのチェックしているため、キーコードが修正できないないかもしれません。どなたか報告して頂けるとありがたいです。
※ダイレクトに値を送る方法を使用している場合、レスポンスが返ってこない為、自動切断する設定になっていても、回線は切断されません。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Controller IR v0.1.0公開

Icon01_128_2 RZ1Controller IR v0.1.0を公開しました。

最新バージョンは、ここからダウンロードできます。

「RZ1Controller IR」は、ロボザックの赤外線リモコンの操作と同等の操作をコンピュータで行うことで、ロボザックを動かす為のソフトウエアです。この機能はRZ1Basicに付けた機能を単体アプリとして抜き出した機能です。

Rz1controller_irscreensnapz001_3

接続のやり方など、RZ1Controller RCの説明を参考に行って下さい。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Snaplist v0.1.0 公開(ページ)

別に、ここからでもいいのですが、いつものページからダウンロードできるようにしましたpaper
RZ1Snaplistの最新版は、ここからダウンロードできます。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

ロボザックのラジコン(11)

なぜ、左スティックの左下が、0x80じゃないのかsign02

なぜ、そんな単純なことに気がつかなかったのかと思うのですが、

ロボザックのラジコンで、プロポのスティックを倒した方向によって、「ロボザックのラジコン(3)」で、示した値が送信されていることを報告しましたが、これら、送信される数値を16進数で表すと、16進数の、一桁目が右スティック、二桁目が左スティックになっていそう(ロボザックのラジコン(7))だけど、

Omnigraffle_proscreensnapz002_2 Omnigraffle_proscreensnapz001_3

そうではありませんでした(ロボザックのラジコン(8))。実際には左スティックの左下が、上図と異なり、0x80でなく、0x09でした。なぜ、0x09なのかわからず、不良品じゃないかとも書きました。

ロボザックのラジコンは、パソコンとMR-C3024とを通信ケーブルで繋いで、プログラムの転送をしたり、ゼロ点設定をしたり、情報を取得したりするのと同じように、受信機とMR-C3024と通信を行っています。
Omnigraffle_proscreensnapz007

上図で、赤字がコマンドで、コマンドごとに値がきまっています。その後に続く青字がデータになります。例えば、B2 05は、SPEED値を5にするという意味になります。

さて、みなさん、ご存知の通り、ロボザックのラジコンの受信機が行っているのは、第一変数に値をセットすることですね。そこで、MR-C3024との通信で、どのようなコマンドを送ると第一変数に値をセットできるかを考えてみましょうsign03

第一変数は、SRAMの0x140番地です。第一変数の書換えの方法は、以下の3種類のやり方があります(以下は第一変数を0x11にします)。

  1. F8 40 01 11F8: SRAM書換える)
  2. FF 11FF: SRAM 0x140番地書換える)
  3. 11(※後述)

ロボザックの受信機が実際に送っているデータは「ロボザックのラジコン(9)」から、単に値が送信しているだけでした。つまり、3番目の方法です。MR-C3024はある値を受け取るとその値をSRAMの0x140にセットする仕組みになっているんです。便利な仕組みですよねhappy01heart04

という仕組みはRZ1Basicとか作ってて知ってはいたんですが、なんてことない当たり前なことをすっかり忘れてましたsweat01基本的に1バイト目は、コントロールコマンドであり、そのコマンド値は、0x80以上の値をコマンドとして使っているんですよねhappy01はははsweat01

ということで、3番目の方法で扱える値は0〜127(0x7F)の値に限られるってことですねscissorsだから、ロボザックのラジコンのデータも、0x80を扱えない為、0x09を用いているんですねhappy01flair

-------------------------------------

  1. ロボザックのラジコン
  2. ロボザックのラジコン(2)
  3. ロボザックのラジコン(3)
  4. ロボザックのラジコン(4)
  5. ロボザックのラジコン(5)
  6. ロボザックのラジコン(6)
  7. ロボザックのラジコン(7)
  8. ロボザックのラジコン(8)
  9. ロボザックのラジコン(9)
  10. ロボザックのラジコン(10)
  11. ロボザックのラジコン(11)
  12. ロボザックのラジコン(12)
  13. ロボザックのラジコン(13)

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Snaplist v0.1.0 公開

Icon01_128 ここんところ毎日ソフトウエアを公開していますねhappy01
いまRZ1Snaplistというソフトウエアを作っています。まだダウンロードの為のページが完成していないのですが、ここでダウンロードできるようにしておきます。ご興味のある方は是非、ご利用下さい。

このソフトウエアは、RZ1ActionやRZ1Basicなので作ったスナップショットを一覧に表示させることができます。表示されている画像をRZ1ActionやRZ1Basic、他テキストエディタにドラッグ&ドロップすると、スナップ時記録されたデータを読込むことができます。

Parallels_desktopscreensnapz022

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Controller RC v0.1.0公開

Icon01_128RZ1Controller RC v0.1.0を公開しました。

最新バージョンは、ここからダウンロードできます。

「RZ1Controller RC」は、ロボザックのラジコンの操作と同等の操作をコンピュータで行うことで、ロボザックを動かす為のソフトウエアです。この機能はRZ1Basicに付けた機能を単体アプリとして抜き出した機能です。プログラムのデバグ時などに便利なソフトウエアです。

●使い方

  1. RZ1Controller RCを起動
  2. コンピュータと、ロボザックをシリアルケーブルで繋ぐ(※Bluetoothなど、無線でオーディオプラグと繋げるようにしている方は、それでもOK)
  3. ポート設定:ポートメニューの「ポート設定」を選択し、ロボザックと繋げるポート等の設定を行う(※一度設定すれば、次回から設定は必要ありません。ポート番号など変更したい場合に再度設定して下さい)。なお、「自動で接続しない」にチェックを入れておけば、送信するたびに、接続/切断が繰り返されなくなります。
    Rz1controller_rcdebugscreensnapz003
  4. ロボザック電源オン
  5. スティックの動かす方向に対応して、ボタンがあるので、それらをクリックすることで、実際プロポを使って無線でコントロールしているのと同じように、データが送信されます。接続中は、左上の赤丸になります。
    Rz1controller_rcscreensnapz001
    また、これらのボタン操作は、キーボードのキーにも割り付けられています。それぞれの方向とキーの関係は、以下の図のようになります。
    Omnigraffle_proscreensnapz005 Omnigraffle_proscreensnapz004

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村



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

RZ1Controller

RZ1ソフトの新しいシリーズ「RZ1Controller」を公開準備中ですhappy01

「RZ1Controller」は、Robozak-1/Robonova-1を操作するリモコン、ラジコン、PSコントローラーなどの代わりを、コンピュータで行い、Robozak-1/Robonova-1を操作する為のソフトウエアです。

前々からいろいろ考えてたんですが、多機能/カスタマイズ機能など難しいことは考えず、簡単なものから順に公開していこうと思ってます。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

携帯でコントロール(13)

Rz1infared03_48 ロボザック用の赤外線リモコンを携帯電話でコントロールするiアプリのタイプ3をダウンロードできるようにしました。今回のタイプ3は、ロボザックのラジコンに対応した値を赤外線送信できるようにインターフェイスを作りました。

RZ1Infrared Type3

ダウンロード
Rz1infrared3qr

ボタンの対応

  • プロポのスティックを動かす方向の上下左右に対応するボタンを携帯で押すと、実際プロポから送信される値を同じ数値を赤外線送信します。
  • いちおう、右スティックの右上、左上は、ソフトキーの1と2に対応させてありますが、右スティックの右下、左下は、対応するボタンは用意していません。
  • 左右のスティックに対応するボタンを、右/左同時に押すことはできません。

Parallels_desktopscreensnapz021

プログラム

例として、「無線タッチサウンド.bas」のファイルをRZ1Basicで、「IF RR=」で、検索してみた。赤外線とは異なって、無線の場合は、特別なコマンドなしにデータを書き換えることができるため、RR(第一変数)の判定を何カ所かでRRの値を調べています。
Rz1basicscreensnapz010

RRの条件分岐の前に、REMOCONコマンドを入れればOKです。

WALKMODE:
RR
=REMOCON(1)
IF RR = 2 THEN GOTO STOPWALK
IF RR = 16 THEN GOTO FACS2
IF RR = 32 THEN GOTO BACS2
GOTO WALKCONT

-----------------------------

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

ラジコン用シミュレーション

ロボザックのラジコン用のコントローラー機能をRZ1Basicに付けました。
これにより、プログラムのシミュレーションや、有線でロボザックと繋げて、無線コントローラー用のプログラムのチェックができるようになりました。

使い方の例を簡単に示しておきます。

one今回は「無線タッチサウンド微調整A.bas」のプログラムを使ってみました。これをRZ1Basicで開きます。
Finderscreensnapz011
twoコントローラーの表示は、以下のボタンをクリックします。
Rz1basicdebugscreensnapz005
以下のウインドウが開きます。1、7、4、....と数値が書かれているボタンをクリックすると、その操作をしたことになります。シミュレーション画像でシミュレーションする場合は、「Sim」を、有線でロボザックと繋いで動かす場合は、「COM」を選択して下さい。今回は、「Sim」を選んで下さい。
Rz1basicscreensnapz009
threeシミュレーションを開始する前に、ポートの設定をします。以下の図のボタンをクリックして下さい。
Rz1basicdebugscreensnapz006

ADポートの1、2、3のチェックボックスにチェックを入れて、255にしておきます。
Rz1basicdebugscreensnapz004

fourあとはシミュレーションボタンをクリックすればOKです。
Rz1basicdebugscreensnapz007

●その他:コントローラーは、ボタンをクリックするだけの操作方法だけでなく、キーボードに割り当ててみました。コントローラーをフロントにして、キーをクリックして下さい。なお、キーの場合は左右同時にも対応させてあります。
Omnigraffle_proscreensnapz005 Omnigraffle_proscreensnapz004

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Action v0.4.9r2 公開

Icn_rz1action_128RZ1Action v0.4.9r2を公開しました。

RZ1Basicと同じ理由により、環境設定の保存などでWindows版において問題がありますので、RZ1Basic/RZ1Actionともに最新のものをお使い頂けますようお願いします。基本的には新機能はないため、バージョンはv0.4.9R2とさせて頂きました。

最新バージョンは、ここからダウンロードできます。

【更新内容】 

  • 環境設定の保存時、落ちてしまう不具合を修正。
  • スナップショット画像をウインドウ内のどこにでもドロップできるようにした。
  • スナップショット画像をドロップした時、G6系のMOVEデータの場合、一種類のグループのデータしか読込まなかった不具合を修正した。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村


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

RZ1Basic v0.48 公開

Rz1bicon04

RZ1Basic v0.4.8を公開しました。

v0.47では、お騒がせしました。Windowsにおいて、ファイルの保存時の不具合とドラッグ&ドロップに関する問題があり、

  • 環境設定の保存時に落ちてしまう不具合
  • コンパイルしたオブジェクトファイルが保存できない不具合(これはv0.46からあった可能性あります)。
  • エディットフィールドに画像ファイルをドラッグ&ドロップができない不具合

があることがわかりました。

ファイルの保存関連は、なんとか修正できましたが、エディットフィールドに画像ファイルをドラッグ&ドロップができない問題は、どうしようもなく、Windows版に関しては、シミュレーション画像以外のエディットフィールド以外のエリアにドロップした場合、エディットフィールドにプログラムが書込まれる仕組みにしました。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 環境設定の保存時に落ちてしまう不具合を修正(Windows版)
  • オフジェクとファイルの作成や転送ができない不具合を修正(Windows版)
  • プログラム編集フィールドにスナップショットをドラッグ&ドロップできない問題点を回避(Windows版)
  • ラジコン用シミュレーションまたは直結コントロール機能を追加
    この機能に関しては、別に書きます。
    Rz1basicscreensnapz009

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Basic v0.47 Windows版

RZ1Basic v0.47 Windows版
まともに動かないようですね?

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

画像がポーズのデータベース3

先日話題にしていた、ロボザック画像をポーズ/モーションのデータベースとして利用できるようにする機能を、RZ1Action v0.4.9/RZ1Basic v0.4.7で正式に対応し公開しました。

「お辞儀」と「羽ばたき」の2つの画像を付けましたが、これらの画像をダウンロードして、シムレーション画像上にドラッグ&ドロップするか、コード編集フィールドにドラッグ&ドロップすると、画像のコメントに組み込まれたポーズやモーションデータを読込みます。

が、Windows版で、コード編集フィールドにドラッグ&ドロップした場合、ドロップされたことが認識されない不具合がありました。あれこれ修復を試みましたが、今のところなぜうまく動かないか判りません。ここんところ私のParallelsがまともに動かないので、そのせいもあるかもしれません。アプリケーションの方はすでにアップロードしてしまっているので、いちおう使い方など書いておきます。いちおうマック版はまともに動きます。

Bow_pose_2

Wing_move_2

●ショットの取り方
RZ1Basicの場合:画像に組み込みたい部分を選択して、「カメラ」アイコンをクリック
Rz1basicscreensnapz008

RZ1Actionの場合:画像に組み込みたい部分を選択して、「カメラ」アイコンをクリック
Rz1actionscreensnapz001

ウインドウが表示されます。
ファイル名を入力し、「OK」をクリックして下さい。
なお、ここで、

  • 画像に文字を入れられます。
  • ソースコードは最初に選択しておかなくてもここで書込めます。

Rz1basicscreensnapz007

画像は、ピクチャーフォルダのRZ1Snapというフォルダの中に保存されます。

マックの場合:

Finderscreensnapz010

Windowsの場合:

Parallels_desktopscreensnapz020

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

 

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

RZ1Basic v0.47 公開

Rz1bicon04

RZ1Basic v0.4.7を公開しました。

同時に更新したRZ1Actionと合わせてご利用下さい。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • ポーズ/モーションを画像としてデータベース的に利用できる機能を追加
    RZ1Actionにも追加した機能です。この機能に関してはこちらを見て下さい
    Rz1basicscreensnapz007
  • リミット制限に引っかかったエラーを「注意」扱いにした。
    コンパイルした時、問題点があった場合、以下の図のように、赤丸のストップマークと、黄色三角の注意マークとして2種類の表示をするようにしました。注意マークの場合はエラーとして扱われず、例えば、プログラムの転送も可能になります。
    Rz1basicscreensnapz006

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Action v0.4.9 公開

Icn_rz1action_128RZ1Action v0.4.9を公開しました。

同時に更新したRZ1Basicと合わせてご利用下さい。

最新バージョンは、ここからダウンロードできます。

【更新内容】 

  • ポーズ/モーションを画像としてデータベース的に利用できる機能を追加
    RZ1Basicにも追加した機能です。この機能に関してはこちらを見て下さい

    Rz1basicscreensnapz007

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村


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

画像がポーズのデータベース2

昨日書いた「画像がポーズのデータベース」ですが、

Windowsの場合、Internet Exploreで、リンクしてあるTIFFファイルをダウンロードすると、ファイルを書き換えてしまうみたいですねdownダサぃthinkモーションの情報が書き換えられたことによって?消えてしまうので、RZ1Basicにドラッグ&ドロップしても、何も起きませんsweat01

ちなみにFirefoxで試してみた所、Firefoxならそのようなことはないようなので、もし試して頂ける方はFirefoxをお使い頂けますようお願いしますhappy01

TIFFでは、ネット上で扱いが悪いので、JPEGで対応させましたので、近々RZ1ActionとかRZ1Basicの新しいバージョンを公開予定です。

追記:この機能に関して、仕様を変えたので、こちらをご覧下さい

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

画像がポーズのデータベース

例えば静止画像だと、やっぱりJPEG, PNG, GIFじゃないと画像を表示できるサイトがないですねぇwobblyここのブログも、MobileMeのギャラリーもTIFF画像は扱えないみたいだsweat01

ということを考えるとJPEG, PNG, GIFで扱えるようにしないとダメなんだけど、公開済みRZ1BasicではTIFF画像しか対応させてないので、画像で示せないんですが、とりあえずTIFF画像で話を進めさせて頂きます。

onebow_pose.tifをダウンロードしてみて下さい。右クリックでリンクを保存とかでできるかなぁ?そのダウンロードしたTIFFファイルをシミュレーション画像上にドラッグ&ドロップして見て下さい。
どうなりましたかsign02

Rz1basicscreensnapz004xx

 

two次にwing_move.tif をダウンロードしてみて下さい。今度は、ダウンロードしたTIFFファイルを、コード編集フィールド上にドラッグ&ドロップして見て下さい。
どうなりましたかsign02
Rz1basicscreensnapz005xx

three他にも、以下のようなTIFF画像ファイルを作ってみました。

fourこれらの画像ファイルは、Photoshopなど画像ソフトで開くことができる画像ファイルですし、マックなら、iPodでお馴染みの、カバーフロー表示で画像の一覧が見られますし、Windowsなら、マイピクチャーの中に入れておけば、同じように画像の一覧が見られますよね。画像がそのままモーションやポーズのデータベースになるって、どうですかね??

マックのカバーフロー
Finderscreensnapz007

Windowsのマイピクチャーの中に入れた画像(※Windowsは書き出した画像プレビューがうまく表示しないやsweat01ちょっと出力失敗してたsweat01
Parallels_desktopscreensnapz019x

追記:この機能に関して、仕様を変えたので、こちらをご覧下さい

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

新しいMacBook

講演終わって、Apple Storeも開通しましたね。
ノート型系MacBook, MacBook Proは、筐体ごと新しくなりましたね。MacBook Airは筐体変わらず、中身の変更のみ。詳しくは、アップルのページで見てねcoldsweats01paper

新しいMacBookが148,800円からかぁ。。。
Safariscreensnapz002_2

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

MacBookがもうすぐですね

MacBook日本時間15日2時から発表かな
Apple StoreがWe'll be back soon.になってますねhappy01

ライブレポートみよ〜〜っとhappy01

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

Scheda Bluetooth RBT-001

イタリア版ROBOZAKのページのBluetoothモジュールのページで、私がカテゴリー無線化(RBT-001)で書いた方法が書いてありました。いちおうリンクされてるからいいんだけど、なんか写真とか図とか、そのまんま使われてますdashsweat01
Safariscreensnapz001x

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

ロボザックの掲示板って、結構とりこぼしってない?

ロボザックの掲示板のページ
掲示板に投稿されたことあります?投稿しても、掲示されなかったことって、ないですか?
私は何度かありますdown蹴られる様な変なことは書いてないと思うんだけどなぁ〜sad一生懸命かいたのに、蹴られるとショックですよねweep

ちなみに、私の投稿ではありませんが、今の時点で13日分までアップされているようですが、赤色のスレッドが最後の投稿と日時が合いませんね。

  • 左膝関節のサーボモーターが手で動かせる 10月14日22:28
  • 前進しません・・・ 10月14日20:26
  • 股関節サーボモーターから突然白煙上がる 10月14日19:58
  • 成功例は? 10月13日17:50
  • 拡張股関節の走行ができない 10月13日17:42
  • ロボB2.72のゼロポイント調整画面について 10月13日14:28
  • ケーブルクランプの件 10月13日14:07
  • 受信機の位置 10月13日05:06
  • ジャイロのピッチ軸について 10月13日04:52
  • カスタム無線テンプレート 10月13日00:39
  • 階段のぼり 10月12日23:04
  • 81号 5番モータ 10月12日19:19
  • マイコン交換後の対処方法 10月12日18:34
  • 転送エラー 10月12日18:20
  • 更新プログラムについて 10月12日17:36
  • RZ-1用更新プログラム 10月12日17:11
  • プロポ操縦に対するモーションプログラム 10月12日06:46
  • 赤外線20関節プログラムについて 10月11日23:30
  • コントローラーの情報について 10月11日07:45

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

ROBO_JAPAN 2008に行ってきました(ロボット工作教室)

ROBO_JAPAN 2008の「ロボット工作教室」に参加してきました(12日)。
Dsc10496

この教室では「教育用レゴ マインドストームNXT」を使い、ロボット工作からプログラミングまで体験しました。

組み立て
作ったのは、2足歩行ロボットではなく、マイクロマウス系のロボットです。やっぱ「レゴ」なんで、ブロックを組み立てる感覚で、パーツを繋げていくだけ!ドライバーなど、特別な道具を必要としないし、簡単にオリジナリティのある形のものが作れていいですねhappy01sign01
Dsc00497

こんなのを作りましたhappy01
Dsc00499

プログラミング
大まかにタッチセンサーによるものと、光センサーによるものの2種類のプログラミングを行いました。マインドストームのプログラミングは、動作(アイコン)をドラッグ&ドロップで貼付けていくフローチャート形式でプログラミングを行います。

1)タッチセンサーによるもの

  • モーターを作動させます。
  • タッチセンサーを検知します。
  • ぶつかったらハンドルを切ってバックします。
  • これらをループします。

Dsc00500_2

2)光センサーによるもの
光センサーは地面を向けて取り付けます。これによって、地面の明るい暗いを認識して走行をさせます。地面に書かれた黒いラインに沿って走行させることをやってみました。

  • 光センサーで暗いか明るいかを調べます。
  • 暗ければ、右のモータのみ動かします。
  • 明るければ、左のモーターだけ動かします。
  • これらを繰り返します。

Dsc00501

その他

  • プログラムの転送は、USBまたはBluetoothでできます。今回はUSBで行ったのですが、ポート設定とか面倒なことなく、USBコードを繋げてボタンをクリックするだけ、使い心地良かったですnote
  • マックでも動くんですよね?ん〜いいねぇえ〜heart04
  • 話は違うけど、RZ1Chartを作ろうと思いつつ、なかなか実行に移せてないんですが、何かと、その為の勉強になりましたscissors

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

ROBO_JAPAN 2008に行ってきました(第14回ROBO-ONE結果)

ROBO_JAPAN2008に行ってきました。
第14回ROBO-ONEは、ROBO_JAPAN 2008ROBO-ONE特設ステージ(ROBO-ONE STADIUM)で行われました。

エントリー台数:114台

決勝トーナメント出場者
(敬称略、順不同、勝手にリンクです)

軽量級(3kg未満)

重量級(3kg以上)

軽量級:準決勝/決勝/3位決定戦 結果
決勝に残った中で、いちばん身長のあったCavalierが優勝happy01heart023kg未満のクラスで、重さはみんなほぼ同じくらい。
Omnigraffle_proscreensnapz001

Photoshopscreensnapz001

重量級:準決勝/決勝/3位決定戦 結果
OmniZero.7:96cm/18kg vs ALCNON:130cm/16kg(2つ目の写真)は、超重量級sign03リングが狭く感じましたsweat01というか、ALCNONが倒れて、リング壊れるしsweat01第13回 ROBO-ONE 優勝のキングカイザー:64cm/4.8Kg vs OmniZero.7:96cm/18kg(3つ目の写真)は、同じ重量級の戦いなんて思えない、けど、ルール違反じゃないし、勝ちは勝ちだよねflairすごいですhappy01heart04
Omnigraffle_proscreensnapz002
Photoshopscreensnapz002

総合優勝決定戦 結果
手も足もでないのはわかるんですが、なんだか、みんなの雰囲気、自然にCavalierを応援しちゃってた感じでしたhappy01軽量級の決勝戦は、Cavalierより小さなヨコヅナグレート不知火二代目を応援してた雰囲気だったhappy01面白いね人の心理って。。。
Omnigraffle_proscreensnapz003
Photoshopscreensnapz003

--------
※リンクとかいろいろ間違ってたら、ごめんなさいconfident
※全長重量などROBO-ONEのエントリーの情報を参照させて頂いております。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

Logic Level Converter

sparkfunのLogic Level Converter BOB-08745

BluetoothモジュールのRBT-001をMR-C3024と繋げる時、レベル変換するのにあれこれやってましたが、これを使うと簡単コンパクトで済みそうですねhappy01
0874503l

拡大してみて見ると、片側がLV、もう片側がHV側になっていて、それぞれ3.3Vと5Vを入れればいいことがわかります。入出力は2系統扱えるようで、5V側でRXIピンに入るデータは3.3Vとして3.3V側のRXOピンに、3.3V側でTXIピンに入るデータは5Vとして5V側にTXOピンにとなるようです。

ただ、このレベル変換器は2.8Vと1.8V装置で動作とありますが、この値はRBT-001、MR-C3024ともに大丈夫な値なのかな???

------------------

sparkfunの日本の代理店はストロベリー・リナックスソリトンウェーブマイテク・メカロボショップなどがあるようですが、これらのお店では扱ってないようでした。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

iPhone開発関連本 メモ

iPhone開発関連本 自分用メモですhappy01


【Objective C】


【関連】


【洋書】

----------------------------------

iPhone関連の買った本:

  1. iOSデバッグ&最適化技法 for iPad/iPhone
  2. iPhoneではじめるOpenGL ESプログラミング
  3. iPhone SDK開発のレシピ
    かゆい所に手が届くようなTipsがいっぱいで、とても便利ですhappy01
  4. iPhoneプログラミングUIKit詳細リファレンス
  5. OpenGLで作るiPhone SDKゲームプログラミング
  6. iPhone SDK 3 プログラミング大全 ゲームプログラミング
    題材がゲームなんで、楽しい物を作りながら勉強できそうって感じ、ということで1ヶ月くらい前に買いましたが、まだ全く開いてません(2009/11/21現在)sweat01
  7. iPhoneサイト制作ハンドブック iPhone&iPod touch対応
  8. iPhone Web Style
  9. Cocoaではじめよう Mac/iPhoneプログラミング入門
  10. iPhoneアプリケーションプログラミング
  11. 基礎からのiPhone SDK
  12. iPhone SDKの教科書 Cocoa Touchプログラミング、最初の一歩
  13. サンプルプログラムから学ぶ iPhone SDK プログラミングガイド
  14. iPhone SDKプログラミング大全
  15. The iPhone Developer's Cookbook: Building Applications with the iPhone SDK

立ち読みだけで買ってない本:

  • iPhone SDK リファレンス大全 実践インターフェース構築
    「リファレンス大全」とありますが、全然リファレンスっぽくなくて、サブタイトル?の方の「実践」でUIのお勉強ができる本って感じかな?リファレンスっぽいのがお好みなら「iPhoneプログラミングUIKit詳細リファレンス」の方も目を通した方がいいかも
  • iPhone&Androidクロスプラットフォームアプリケーション開発〜スマートフォン用グラフィックスツール作成で学ぶ〜
    iPhoneとAndroidと両方の開発を行う為のノウハウが書かれてます。Android持ってないし、まだiPhoneのソフトでさえ作ってないので、立ち読み程度。。。 
  • モバイルアプリをプロデュース iPhone SDK 3 プログラミングの基礎
    カラーで見やすい。実機への転送、プロファイル証明書、iPhoneDeveloperProgramPortalの辺りが他の本と比べて結構詳しく書いてて良かった。
  • iPhoneアプリネットワーク+GPSプログラミング
    iPhone開発関連本も、だんだん専門性の高いものが出だしていい感じですね。もう基礎的なことはほとんど触れてませんね。タイトル通り、ネットワーク、GPSのプログラミング方法がギッシリつまっててGOODです。あと、メモリリークのチェックのための「インスツルメンツ(Instruments)」や、時間のかかっている処理を見つけ出すための「シャーク(Shark)」、Ad Hocの作り方とか盛り沢山の内容になってます。(2009/11/21)
  • iPhone Core Audioプログラミング
    これも専門性の高く、音を扱うソフトを作る時には持っていたい一冊だと思います。(2009/11/21)
  • iPhone SDK Programming Manual
  • サンプルプログラムでマスターする iPhone SDKプログラミング実践ガイド
  • iPhone SDK 3 プログラミング大全 実践プログラミング
    いい感じだったので、買おうと手に取ってましたが、結局やめました。どこかに不満があったとかでなく、最近iPhone開発に全然手がまわってないので、また今度でいいやと思っただけです。
  • ライトウェイト・プログラマのためのiPhoneアプリ開発ガイド
    これまでのいろいろなiPhone開発本とは全然違う雰囲気。悪くなさそうです。
  • iPhone SDK アプリケーション開発ガイド
    iPhone SDK Application Developmentの訳本。
  • iPhoneアプリで週末起業
    iPhone Dev Center登録からアプリ公開までの流れ。ちょろっとは書いてあるんでまぁ参考になるかもしれないけど、どうせなら、その辺が、もっとがっちり書いてあるといいなと思いました。
  • Mac OS X/iPhoneのためのCocoaプログラミング入門
    iPhone関連は最後の1章分だけかな。「しかた」より「しくみ」に重点をおいて説明しているとのことでしたが、あんまりそんな感じもしませんでした。
  • ユメみるiPhone —クリエイターのためのiPhone SDKプログラミング
    OSCに関して書かれてるんで、欲しいとは思いますが、それだけの為に購入まではなかなか至りません
  • はじめてのiPhoneプログラミング
    原著も持ってないので迷ってます。この翻訳本の方にするか、原著の方にするか、どうしましょ。。。
  • iPhone デベロッパーズ クックブック
    原著の方を持っているので、買い控えてるだけです。持ってないなら買いに思います。

----------------------------------

ダウンロード(PDF)版

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

DD-WRTって何?

まだ何も理解してないんですが、DD-WRTって、どんなんなんだろう?

  • DD-WRTはオープンソースな無線LAN APファームウェア
  • ファームのバージョンアップでsshを封印されたLaFoneraハードを最大限活用できる

だそうです。なんか面白そうな響き。。。ロボザックに使える様な何かができるのだろうか???
他に、FreeWLANというのもあるんだぁ。。。

------------

FONとは

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

WiFi 802.11b Serial Module

この前、「あれこれ考えてみる(iPhone3Gをコントローラーに...)」で、WiPortのことをちらっと書いたんですが、

WiFi 802.11b Serial Moduleの自分用メモです。

  • LantronixWiPort
    Wiport150
    • 若松通商で15,540(税込)、+専用基板で18,000(税込)、専用アンテナ\1,575(税込)
    • 約3.25×3.39×1.03cm( ※アンテナ部除く)
    • 日本で電波法で定められた 「工事設計認証番号:004NYDA0091」取得済
    • IEEE802.11b/g準拠
    • 多様なセキュリティ機能を搭載
    • WEBブラウザで簡単に設定
    • ユーザ情報追加可能なWEBサーバ機能
    • E-mailアラート機能搭載
    • お客様のシリアル機器(2ch同時使用対応)をワイヤレス通信可能に
    • 最大11個のPIOを利用可能
    • Ethernet機器の無線LAN化も可能(ブリッジ機能)
    • 省電力モードを新規搭載!
    • アクセスポイント検索機能を搭載
  • sparkfunWRL-08869
    0886906l
    • $99.95
    • 25.4x38mm
    • IEEE802.11b/g準拠
    • WEPとWPA2-PSK(AES)セキュリティ機能サポート
    • 4V-12VDCで動かすことができる
    • Fully pre-certified module with FCC ID and CE marks
    • TCP sockets with incoming and outbound connect modes
    • UDP connectionless and broadcast modes
    • Virtual COM support via Tactical Client
    • Low power consumption (40ma connected, 120ma TX, 12 micro amp sleep modes)
    • Programmable timers and wake/trigger modes
    • 3つのLEDによりPIO信号状態を表示
    • ATコマンドで簡単に設定可能
    • FTP越しにファームのアップグレード可
    • 1/4波のワイヤアンテナ付き

------------------

sparkfunの日本の代理店はストロベリー・リナックスソリトンウェーブマイテク・メカロボショップなどがあるようですが、WRL-08869は扱ってないようでした。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

プログラムの作成、転送、削除について

デアゴのROBOZAKのページのお助け掲示板の「コントローラーの情報について(全般)」のスレッドで、「プログラムの削除」に関しての話があったので、改めて、「プログラムの作成、転送、削除」について調べてみました。

roboBASICには、プログラムの作成、転送、削除に関して、以下の図のようなボタンがあります。

Parallels_desktopscreensnapz011xx

それぞれのボタンには次のような機能になります。

  1. プログラムの作成:ROBOBASIC言語で書かれたソースコードを、コンパイルしてオブジェクトコードを作ります。
  2. プログラムの転送:オブジェクトコードをMR-C3024の外付けメモリーに転送します。注意点は、この機能は転送しか行わないということです。
  3. 作成転送:プログラムのソースコードをコンパイルし、作られたオブジェクトコードをMR-C3024へ転送します。つまり、1と2を合わせて行います。
  4. プログラムの削除:MR-C3024に転送されているプログラムを削除します。実際には「END」とだけ書かれた「無題」というプログラム名のコードを作成転送しています。従って、メモリーの中をゼロや255で埋めるというのではありません。

oneプログラムの作成とファイルとして保存されるオブジェクトコードとメモリー(パソコン)内のオブジェクトコード
この操作により、ソースコードがコンパイルされて、オブジェクトコードが(メモリー内に)作られ、さらに、作られたオブジェクトコードは、Objという拡張子を持ったファイルとして保存されます。注意点は、以前「オブジェクト"ファイル"が壊れる現象」で書きましたが、オブジェクトコードが32Kバイトを超えると、オブジェクトファイルが壊れます。ただ、メモリー内に作られたオブジェクトコードは壊れてないことと、プログラムの転送で転送されるオブジェクトコードは、ファイルからのデータでなく、メモリー内のデータが転送される様なので、大きな問題にはならないことが判りました。

twoプログラムの削除とMR-C3024のメモリー内
あるプログラムを転送してあるMR-C3024のメモリー内の値を最初から160バイト分を以下に示しました。
Miscreensnapz001
この状態で、「プログラムの削除」すると、以下のようになります。
Miscreensnapz002

プログラムの削除とは、MR-C3024のメモリー内をゼロまたはFFで埋めるという訳でなく、「END」とだけ書かれた「無題」というプログラム名のソースコードで作られたオブジェクトコードが転送されるのと同じになります。

そのオブジェクトコードは、プログラム名、日時、サイズの16バイトのヘッダーと、ENDのオブジェクトコード3バイトと、プログラムの終了コードの3バイトの計22バイトになります。

実際の転送では、128バイトごと転送されますので、22バイト目以降128バイト目までゼロで埋められた状態になります。

128バイト目以降は、前に転送されていたオブジェクトコードが途中から残っている形になっています。プログラムの削除を行うと、削除後、「メモリークリア完了」とメッセージがでますが、クリアされているのは、最初の部分だけです。
Parallels_desktopscreensnapz018

threeプログラムの削除後のプログラムの転送
「プログラムの転送」は、その名の通り、オブジェクトコードを転送します。注意点は、(パソコンの)メモリー内にあるオブジェクトコードを転送するだけで、新たにオブジェクトコードを作りません

さて、ここで、プログラムを削除した後、プログラムを転送しようと、このボタンをクリックしても、(パソコンの)メモリー内にあるオブジェクトコードは、プログラムの削除際に作られた時のオブジェクトコードなので、つまり、また、もう一回、削除しているのと同じことになります。プログラムの削除後は、新たにオブジェクトコードを作成してから転送する必要がありますので、注意が必要です。

fourプログラムの削除後の作成転送の挙動
プログラムの削除後は、上記で書いたように、新たにオブジェクトコードを生成する必要があります。「作成転送」のボタンは、オブジェクトコードを作成した後、オブジェクトコードの転送を行います。

これを実際にやってみると、以下の様な表示になります。
Parallels_desktopscreensnapz008

プログラムの名前が、「無題」でないのに、オブジェクトコードのサイズが「22バイト」のハズがないのに、まるで、削除の為のコードが転送されるように思えます。グラフの動きから、削除されてから、新たなコードが転送されているようにも見えます。

さて、実際、どんなデータが送られているのか、ラインモニターで見てみたところ、表示だけが「無題」の「22バイト」となっているだけで、削除の為のコードも転送されることなく、普通に(正常に)オブジェクトコードが転送されていることが判りました。

fiveプログラムは上書きでpaper
ロボザック?号にはプログラムを「削除」してから「作成転送」すると書いてあるそうなんですが、普通は、いちいち削除する必要はありませんので、転送の際は、「作成転送」のみ行えば大丈夫です。

------------------------

さて、ということで、プログラムの作成、転送、削除の挙動の解析は以上ですが、この解析をしていて、RZ1Basicの「プログラムの削除」に重大なバグを発見してしまいましたsweat01基本プログラムの削除はする必要がないので、常に上書きで使うようにして下さい。次バージョンアップで修正します。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

制限の勧め

またまた、ダイエット(食事制限)の話sign02
では、ないですよhappy01paper

先日公開したRZ1Basic/RZ1Actionでサーボモーターの回転範囲のLimit(制限)の機能を付けました。
Rz1basicdebugscreensnapz002

「サーボモーターから煙がsweat01」なんて話もよく聞きますが、これまで使っていたテンプレートプログラムを最新のRZ1Basicでコンパイルしてみるとわかると思いますが、Limitに引っかかるモーションが沢山あります。

実際、個体差があると思いますので、各自で実際にロボットの関節を曲げて何度まで動かすことができるか調べて、設定してやる必要はあると思いますが、兎に角、まず間違いなくサーボモータに負荷をかけてしまっているモーションが何個かあるはずです。

RZ1Basicでは、環境設定であらかじめ設定しておけば、コンパイル時にチェックしてくれるようになりましたが、roboBASICをお使いの方は、そうはいきません。サーボモーターを長持ちさせる為にも、roboBASICをお使いの方は、'$LIMITコマンドを、プログラムごとに書き加えておくことをお勧めします。

'$LIMITコマンドの書き方は、以前、ROBOBASIC講座で'$LIMITについて書いたので、参考にして下さい。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

第48回全日本模型ホビーショーとか

株式会社ハイテックマルチプレックスジャパンのインフォメーションのページで、「第48回全日本模型ホビーショー」に出展のお知らせがアップされてました。

「これまで以上に充実した新製品のラインナップをご用意してお待ちしております。」
と書いてあるけど、ロボット関係もいろいろ展示されるのかなぁ?

先日買ったばかりの、iPod classic 120GBの画面が奇怪な状況にsweat01
「写真」が「真」に、「エクストラ」が「クストラ」に、「設定」が「定」に、などなど、この画面だけでなく、そこらじゅう、文字が変になってしまいました。長年iPodを使ってますが、こんなの始めてだぁsweat01けど、壊れたかとビックリするより、曲名とか、アーティスト名とか、変な名前に書き変わってるのを見てて、なんだか笑えましたhappy01(※いちおうiTunesに接続したら直りました)
Dsc00484

バナナダイエット流行りで日本列島バナナ不足だそうですね。
家の近くのスリーエフの窓ガラスに、こんなのが貼ってありました。バナナを入れた段ボールが何箱も山積みになってました。スーパーじゃあるまいし、コンビニでこんなのみたことない。「バナナ埠頭」が目の前だから安いのかなsign02それとも、スリーエフでは、どの店も、やってるのかな??
Dsc00485

ダイエットと言えば
20代の頃は、みなさんもダイエットなんて気にしなくても食べたいだけ食べてても、そんなに太らなかったかと思いますが、私は今はもう、日頃気にしてないとボヨヨ〜んっとなってしまうので、独自ダイエットを行ってます。

  • サントリーのウーロン茶500mlを1日1本とちょっとした運動、菓子類はいっさい抜き、食事は普段通りに盛りつけて3割残すダイエット:
    こりゃやばいと思って、最初にやったダイエット法で、半年で10キロ以上減りました。けどその後もやり続けたら、やりすぎてしまって、1年後15キロ以上減って、53キロくらいになってしまいましたsweat013割残すのは、もったいないんですが、ミソsign01そんな方法を言ってるダイエット法ってないような気がする。胃が小さくなって7割程度でお腹いっぱいになっちゃうようになれば、最初から7割盛りつけるようにすればいいので、それまでの我慢。最初から盛りつける量を減らしてしまうと、我慢できなくて食べた時、トータル普段以上食べてしまう。けど3割残したなら、どうしても我慢できなくなったらその残した3割を食べれば、もったいなさは軽減。食べ過ぎ抑制にもなる。
  • 花王のヘルシアを1日1本飲むダイエット:
    55キロくらいを3年くらい維持しましたが、さすがにその体重じゃ不健康そうに見えるので、60キロくらいを維持ということで半年間くらいやりました。食事は1日1500kcalくらいかなぁ。ヘルシアのページにも書いてありますが、3ヶ月くらいは続けないと実感できません。あと止めると元に戻るとも書いてあります。お金が続かなくて止めました。
  • ソイジョイとチョコボールダイエット:
    甘いものが好きでねぇ〜sweat01食事を減らして甘いもの食べてるってとこもあっていけませんが、最近やってるダイエットは、お昼は、ソイジョイとチョコボールだけにしてます。ソイジョイが130kcalくらいで、チョコボールが120kcalくらいです。いつもいつもカロリーのこと気にしてるんで、だいたい何が何カロリーなのか予想がつくようになりました。夜、その日の予定カロリーに余りがあれば、甘いものを食べま〜すheart04sweat01sweat01

なんか、ロボット以外の話ばっかになってしまいましたhappy01

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

HMI Servo Programmer Manual - Japanese

アメリカのHitecのダウンロードのページに
HMI Servo Programmerの日本語マニュアルがありましたhappy01
http://www.hitecrobotics.com/manager/control/board.php?go=1&tableName=board_14&behavior=read&seqid=13&field=&keyword=&openWin=

あと、ドイツにあったのと同じだと思いますが、
HMI Servo Programm for Hitec Robot Servos
も、アメリカのHitecのページにありましたpaper
http://www.hitecrobotics.com/manager/control/board.php?go=1&tableName=board_15&behavior=read&seqid=11&field=&keyword=&openWin=

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

第83号添付のCD-ROMの修正版

  • 赤外線20関節修正プログラム(sekigaisen.zip)
  • 無線用微調整プログラム(musen.zip)

が、公開されましたね。

まだほとんど確認してませんが、

  • 少なくとも、スタンダードポーズの股関節ヨー軸の左右の違い部分は修正されているみたい。
  • 無線用は微調整されたものが各3種類づつ用意されてます。それぞれどの辺が微調整されているのかは、まだ調べていませんsweat01

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

HMI Servo Programerでセンターを調整

みなさんは、ゼロ点設定でズレが大きくて気になって仕様がないサーボありませんかsign02
Pzero

以前、書いた「ロボット関連ダウンロード情報!!」で、ドイツのハイテック のサポートページで、HMI Servo Programerをダウンロードできることを書きましたが、そのソフトを使って、ゼロ点設定でズレの大きかったサーボモータのセンターを調整してみました。

onePCモードと、MR-C3024モード

HMI Servo Programerを使ってサーボモータの設定を行うモードには、PCモードと、MR-C3024モードとがあります。
Parallels_desktopscreensnapz007

  • PCモード:HMIデータケーブルを使って、PCとサーボモーターを繋ぎ、設定を行うモード
  • MR-C3024モード:PCとMR-C3024を通信ケーブルで繋いで、MR-C3024に繋がっているサーボモーターの設定を行うモード

になります。MR-C3024モードは、既にMR-C3024に接続済みのサーボモーターを直接扱えるので便利なのですが、肝心のセンター設定(Position Setting)が、PCモードでしかできないようです。PCモードでは、HMIデータケーブルを用意し、MR-C3024から、設定を行うサーボモーターのコネクターを外して、そのケーブルに繋げなければいけないので結構面倒です。

twoHMIデータケーブル
このケーブルは、日本のハイテックさんで、HMI Servo Programerを買えば付いてきますが、HMI Servo ProgramerのHELPメニューの「Cable View」を選択すると、以下のウインドウが表示されます。
Parallels_desktopscreensnapz006

私はパーツ箱の中にあった余り物で、こんな風にしました。
Dsc00483 (クリックで拡大します)

  • (USBシリアルコンバーター経由の場合は)D-SUBの7、8番は3番と繋ぎませんでした
    Hmi_adp (図 by yukiさん)
  • MR-C3024のデジタルポートの空いてるところから、電源とグランドを取りました。
  • D-SUB9Pメスは、これ
    2,3,5番ピン以外はピンを引っこ抜いて使いました。
  • サーボ電源や、サーボモーターのコネクタを挿すためのピンヘッダは、これ

threeHMI Servo Programerの操作
PC/USBシリアルコンバーター/HMIデータケーブル/サーボモータ、および、電源を繋いで、HMI Servo Programerを起動し、正しいかどうかよくわかりませんが、以下の手順でセンターの設定を行いました。
Firefoxscreensnapz004x

  1. モーターの種類を選択する。ロボザックの場合、「HSR-8498HB」を選択かな。
  2. モードを選択する。「PC」を選択する。
  3. ケーブルを繋いでいるCOM番号を選択。
  4. 「Connect」ボタンをクリック。接続が成功すると、このボタンの文字が「No Connect」になるので判る。
  5. 「Servo Read」をクリック。接続したサーボの情報が読込まれる。
  6. 「Center」と書いてある文字の部分をクリック。
  7. スライダーでセンターの値を調整する。数値はおおよそ、10倍の値です。もし15度ずらしたいなら、-150または、150くらいの値である。
  8. 「Servo Save」ボタンをクリック。変更した設定を保存する。
  9. コネクトを解除し、モーターを元のポートに繋ぎ、roboBASICでゼロ点設定を行う。

four結果
上記の操作により、ほぼ100くらいがゼロ点になるように設定できましたが、結局の所、センター設定を反対方向へずらしただけ、という感じで、モーターが根本的にリセットされたという感じはしませんでした。
Parallels_desktopscreensnapz005

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

roboBASICをWindows VISTAで動かす方法

roboBASIC v2.72をWindows VISTAで動かすことができましたpaper

下の図は、RZ-1 PRG CD5の赤外線20関節.basを開いてみたところのスクリーンショットです。なんかコマンド等に色が付きませんでしたが、兎に角、動きました。

Parallels_desktopscreensnapz003x

あまりVISTAでroboBASICを動かす方法に関して紹介している人がいないように思うので、とりあえず、手順を書いておきます。

oneノートパッド?(でしたっけ?)などのエディタに以下を書いて、拡張子をbatとして、適当な名前を付けて保存

regsvr32 /u c:\windows\system32\mscomm32.ocx
regsvr32 /u c:\windows\system32\COMCT332.ocx
regsvr32 /u c:\windows\system32\MSCOMCTL.ocx
regsvr32 /u c:\windows\system32\MSCOMCTL.ocx
regsvr32 c:\windows\system32\mscomm32.ocx
regsvr32 c:\windows\system32\COMCT332.ocx
regsvr32 c:\windows\system32\MSCOMCTL.ocx
regsvr32 c:\windows\system32\MSCOMCTL.ocx
regsvr32 /u c:\windows\system32\COMDLG32.ocx
regsvr32 c:\windows\system32\COMDLG32.ocx
regsvr32 /u c:\windows\system32\MSINET.ocx
regsvr32 c:\windows\system32\MSINET.ocx

two保存したbatファイルをダブルクリック

  • 何回かダイアログが表示されるので、その都度、「OK」をクリック
  • 無事終了すると、DOSプロンプトが閉じる

threeroboBASIC v2.72を起動

以上!

※私はWindowsのことはまったくわからないので、みなさんの環境で本当に動くかどうかわかりませんが、いちおうMac上の仮想マシンでは動きました。
※上記方法は、ROBOSAVVYRoboBasic on Vistaのスレッドにあったものをまとめたものです。
※一応、上記バッチファイルはここを右クリックで保存でダウンロードできるようにしました。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

ヱヴァンゲリヲン新劇場版:破

エヴァンゲリヲン新劇場版:序」を観てきました
と書いたのは、約1年前

その第2部がついに公開決定!

「ヱヴァンゲリヲン新劇場版:破」
Bnr_eva_a03_01

来年(2009年)夏だぁ。。。まだ先だね。
今年の夏にやるんかと思ってたdown

『ヱヴァンゲリヲン新劇場版』全4部作を、3回で公開するそうなんですが、「序」がきて、「破」がきたら、その次は、「急」ってことですねsign02

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

ROBO-JAPAN 2008のチケット 2枚ゲット!

この前、ROBO-JAPAN 2008 いつ行こうかぁで、ROBO-JAPAN 2008イベントスケジュールのページに「ロボット工作教室」に応募したと書きましたが、当選しましたhappy01scissors

Dsc10482

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

やっぱりジャイロが変なのかな?

先日、ジャイロの3つ目の穴で、ジャイロセンサーの挙動が変になったと書きましたが、実は、もう、ひとつ買ってあったジャイロは最初から変だった為、交換に出していて、それが届いたので、早速付け替えてみました。

新しく届いたジャイロセンサーでは、ジャイロの3つ目の穴で書いた様な問題は起きず、正常に機能してくれましたhappy01

ジャイロの3つ目の穴の様な症状は、MR-C3024の問題でもなく、転送されているプログラムの問題でもなく、サーボモーターの問題でもなく、ジャイロセンサーの問題でしょうね。これは、どの調整ネジをいじっても直らないし、交換してもらうしか手がないんでしょうかね?

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

RZ1Basic v0.4.6 公開

Rz1bicon04

RZ1Basic v0.4.6を公開しました。

今回は環境設定関連の機能アップが中心で、派手ではありませんが、役立つ機能アップだと思います。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 環境設定日本語表示
  • モーター名設定
  • スタンダードポーズ設定
  • モーター回転範囲設定(Limit設定)
  • ヘルプタグ設定
  • 頭部モーター初期角度廃止
  • 頭部モーターリバース廃止
  • 3D画像スタンダードポーズボタン
  • マック版において、ファイル名が変になる場合がある不具合を修正

《モーター情報》
Rz1basicdebugscreensnapz001
頭部モーター、股関節ヨー軸モーターの設定、モーターの名称、スタンダードポーズの設定ができます。なお頭部モーターのゼロ角度やリバースは廃止しました。スタンダードポーズ設定の角度、回転方向の設定のリバースで行って下さい。

  • モーターの名称:ヘルプタグなどで表示されるモーターの名称で、頭部モーター、股関節ヨー軸モーターを使っている場合は、そのモーターに名前を書いておくといいかと思います。
  • スタンダードポーズの設定:3D画像の下のボタンに「S」のボタンがあります、それをクリックした場合、ここでの値のポーズをとります。

《モーター回転範囲》
Rz1basicdebugscreensnapz002
この設定は、RZ1Action v0.4.8で対応させたものと同じモーターの可動範囲を設定します。RZ1Basicではプログラム中に$LIMITと同じ役割を示すので、$LIMITを記述していなくても、MOVEコマンドで、ここで設定した範囲外の角度を指定している場合、コンパイルエラーが出ます。初期値は少しシビアな値になっているので、これまでのプログラムをコンパイルすると「1234行目 Motor #3 Limit angle error.... 」といったエラーが、沢山出るかもしれません。このような場合は、Min/Maxの値を緩めるか、エラーの出た角度を修正して、各自のロボットに合わせて下さい。

《ヘルプタグ》
Rz1basicdebugscreensnapz003
MOVEコマンドにカーソルを合わせた時に表示されるヘルプタグに関する設定です。

  • ポジションX,Y:カーソルからの相対的なヘルプタグの表示位置です。近くのMOVE値がヘルプタグに隠れて見れない不便さがありますので、ここで調節して下さい。
  • モーター名:モーター名の表示/非表示を設定します。ここで表示されるモーター名は、上記、モーター情報で設定したモーター名称が表示されます。
  • モーター回転範囲:Limit値の表示/非表示を設定します。
  • 反対側モーター角度:MOVE G24コマンドの場合の機能で、反対側の対応モーターの値が幾つなのかを表示/非表示を設定します。MOVE G24コマンドは、長くて対応するモーターの値が幾つなのか確認しにくいので、役立つかと思います。

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

第14回ROBO-ONEプレスリリース公開

そのまんまですが、第14回ROBO-ONEのプレスリリース(ROBO-ONE Press Releaseのページ)が公開されましたねhappy01「取材のお申し込み、お問い合わせはメールにてお願いいたします。」とありますが、よく読むと、「個人サイトおよび.....は、取材をお受けできません。」なんですね。ROBO-ONEを見に行ったことないのですが、撮影禁止なの?

ま、いいやhappy01とりあえず、時間メモっておこ〜っとgood

スケジュール

10/11(土) 予選デモンストレーション
9:00-10:00 選手受付
10:00- オープニング
10:30- 予選デモンストレーション(適時休憩)
    宇宙大会選抜競技
17:00- 結果発表、エンディング

10/12(日) 決勝トーナメント
10:00- オープニング
10:30- 軽量級、重量級一回戦16試合
13:00- 軽量級、重量級二回戦8試合
15:00- グランドチャンピオンシップ
16:00- 軽量級・重量級準決勝、3位決定戦
16:30- 軽量級、重量級決勝戦、総合優勝決定戦
17:00- エンディング

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

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

« 2008年9月 | トップページ | 2008年11月 »