マスタースタジオにおける
コマンドと変数



目次


もう少しマシなマニュアル



1 コマンド

マスタースタジオで使用できる、標準コマンド

1.1 アクションを再生するコマンド(Play-Action)

1.1.1 姿勢の状態移行コマンド

姿勢の状態移行コマンド一覧
内容 動作 コマンド名(Action) 備考
姿勢 通常の姿勢で、伏せる。 LIE
悲しそうにうなだれて、伏せる。 CHGPOS.STATR.NORMAL
座る。 SIT
立つ。 STAND
歩行姿勢にする。 CHGPOS.WALK.NORMAL


1.1.2 わざコマンド

わざコマンド一覧
内容 動作 コマンド名(Action) パラメータ1 パラメータ2 備考
範囲 単位 範囲 単位
ヘディング ヘディングする。 CONTACT.FRONT.HEAD
左にヘディングする。 CONTACT.FRONT.HEADL
右にヘディングする。 CONTACT.FRONT.HEADR
キック 指定位置をキックする。 KICK 水平角
-30 〜 30
° 距離
AIBOからの目標位置
mm 水平角が負の場合は、右前脚。
正の場合は、左前脚。
触る 指定位置を触る。 TOUCH 水平角
-30 〜 30
(-360 〜 360)
° 距離
AIBOからの目標位置
mm 水平角が負の場合は、右前脚。
正の場合は、左前脚。
逆の脚にする場合は、
一旦、他の姿勢にする必要がある。
座って右手/左手で、指定の位置にあるものを触る。 CONTACT.RIGHT.TOUCH 水平角
-30 〜 30
(-360 〜 360)
° 距離
AIBOからの目標位置
mm
伏せて右手/左手で、指定の位置にあるものを触る。 CONTACT.RIGHT.TOUCH2 水平角
-30 〜 30
(-360 〜 360)
° 距離
AIBOからの目標位置
mm


1.1.3 頭を動かすコマンド

頭を動かすコマンド一覧
内容 動作 コマンド名(Action) パラメータ1 パラメータ2 備考
範囲 単位 範囲 単位
指定方向を見る。 MOVE_HEAD 水平角
-60 〜 60
° 垂直角
-60 〜 20
°
指定方向を素早く見る。 MOVE.HEAD.FAST 水平角
-60 〜 60
° 垂直角
-60 〜 20
°
指定方向を見る。 MOVE.HEAD.NORMAL 水平角
-60 〜 60
° 垂直角
-60 〜 20
°
指定方向をゆっくり見る。 MOVE.HEAD.SLOW 水平角
-60 〜 60
° 垂直角
-60 〜 20
°


1.1.4 耳を動かすコマンド

耳を動かすコマンド一覧
内容 動作 コマンド名(Action) 備考
両耳を動かす。 PALONE.AUTO.EAR
左耳を動かす。 PALONE.AUTO.EARL
右耳を動かす。 PALONE.AUTO.EARR
耳の動きを止める。 PALONE.AUTO.EARSTOP


1.1.5 しっぽを動かすコマンド

しっぽを動かすコマンド一覧
内容 動作 コマンド名(Action) 備考
しっぽ しっぽを下げる。 PALONE.AUTO.TAILD
しっぽを横に振る。 PALONE.AUTO.TAILH
しっぽを回す。 PALONE.AUTO.TAILROT
しっぽを上げる。 PALONE.AUTO.TAILUP
しっぽを縦に振る。 PALONE.AUTO.TAILV
しっぽの動きを止める。 PALONE.AUTO.TAILSTOP


1.1.6 歩くコマンド

歩くコマンド一覧
内容 動作 コマンド名(Action) パラメータ1 パラメータ2 備考
範囲 単位 範囲 単位
歩く 指定位置まで歩く。 WALK 水平角
-180 〜 180
° 距離
0 〜 10,000
-1: 無限
mm
指定位置までゆっくり歩く。 MOVE.MOVE.SLOW 水平角
-180 〜 180
° 距離
0 〜 10,000
-1: 無限
mm
指定位置まで狭い歩幅で歩く。 MOVE.MOVE.SMALL 水平角
-180 〜 180
° 距離
0 〜 10,000
-1: 無限
mm
歩行を停止する。 STOP_WALK


1.1.7 旋回するコマンド

旋回するコマンド一覧
内容 動作 コマンド名(Action) パラメータ 備考
範囲 単位
旋回する 指定方向を向くように、
旋回する。
TURN 水平角
-180 〜 180
° +: 反時計回り
-: 時計回り
指定方向に向くように、
旋回する。
MOVE.TURN.NORMAL 水平角
-180 〜 180
° +: 反時計回り
-: 時計回り
指定方向に向くように、
ゆっくり旋回する。
MOVE.TURN.SLOW 水平角
-180 〜 180
° +: 反時計回り
-: 時計回り


1.1.8 目標物を探す/追跡するコマンド

目標物を探す/追跡するコマンド一覧
目標: ピンクボール (AIBO本体に付属のピンクボール)
内容 動作 コマンド名(Action) 備考
探す 目標物を探す。 SEARCH
下方に向きなおして、目標物を探す。 SEARCH.HEAD.LOWCENT
今向いている方向から、目標物を探す。 SEARCH.HEAD.NORMAL
前方に向きなおして、目標物を探す。 SEARCH.HEAD.NORMALCENT
今向いている方向から、目標物をゆっくり探す。 SEARCH.HEAD.SLOW
前方に向きなおして、目標物をゆっくり探す。 SEARCH.HEAD.SLOWCENT
追跡する 目標物を追跡する。 TRACK_HEAD


1.1.9 通知コマンド

通知コマンド一覧
内容 動作 コマンド名(Action) 備考
デバック用エラー通知1 モードランプ
目ランプ (すべて)、
しっぽランプ
点灯させる。 SMESS.ERROR.ERROR1
デバック用エラー通知2 モードランプ
目ランプ (すべて)
しっぽランプ
点滅させる。 SMESS.ERROR.ERROR2
デバッグ用通知1 モードランプ
左目ランプ (3つ)
しっぽランプ
点滅させる。 SMESS.NOTICE.NOTICE1
デバッグ用通知2 モードランプ
右目ランプ (3つ)
しっぽランプ
点滅させる。 SMESS.NOTICE.NOTICE2
デバッグ用表示クリア
SMESS.MODE.CLEAR


1.2 変数操作コマンド

以下のMainコマンドでは、変数を利用した演算等が行える。

変数操作コマンド一覧
動作 コマンド名(Main)
備考
変数に値を代入する。 SET

センサー変数をクリアする。 CLR センサー変数のうち、最終値を保持する形式の変数の値を0クリアーする。
加算 ADD [Variable*] = [Variable*] + [Var/Value*]
減算 SUB [Variable*] = [Variable*] − [Var/Value*]
乗算 MUL [Variable*] = [Variable*] × [Var/Value*]
除算 DIV [Variable*] = [Variable*] ÷ [Var/Value*]
剰余 MOD [Variable*] = [Variable*] % [Var/Value*]
論理和
(ビットごとの倫理和)
IOR [Variable*] = [Variable*] | [Var/Value*]
排他的論理和
(ビットごとの排他的倫理和)
XOR [Variable*] = [Variable*] ^ [Var/Value*]
乱数発生
[From#]から[To#]の範囲で
指定した乱数を発生させる。
RND Variable* 発生した乱数
From#/To# 乱数の範囲

変数値を保存する。 VSAVE Open-r\pc\ams\ユーザー変数名.savファイルに値が保存される。 注意!
ファイルシステムの制限により、保存/読み込みできる変数名は 最大8文字まで。
8文字を超えた場合の指定では、
Open-r\pc\ams\error.logに問題の処理がレポートされる。
変数値を読みこむ。 VLOAD Open-r\pc\ams\ユーザー変数名.savファイルから値を読みこむ。


1.3 その他のコマンド

その他、Mainで指定するコマンド。

動作 動作 コマンド名(Main) 備考
停止する。 アクションを再生している場合は、
そのアクションが完了してから停止する。
STOP
緊急停止する。 現在、再生中のアクションも直ちに停止される。 QUIT
完了通知を待つ。 現在、実行しているアクションが完了して、
完了通知がくるまでまってから
[WAIT]の次に記述されているコマンドを実行する。
WAIT



2 変数


2.1 ユーザー変数の制限

変数には以下の制限がある。


2.2 内部情報参照システム変数

ユーザー変数以外に、アクション ボックスやブランチ ボックスで使える変数。

2.2.1 AIBOのタッチセンサー情報

タッチセンサー情報参照変数一覧
場所 内容 変数名 範囲 単位 備考
頭センサー 押すことにより、
変数値が「1」になる。
Head_ON注) 1: 押した
0: 押していない
論理値
押している時間。 Head_OFF 0 〜 32,767 -32,768 〜 0 ms オーバーフロー時は、負の最小値からカウントアップしている。
撫でられたことを検出すると変数値が「1」になる。 Head_Pat注) 1: 撫でられた
0: 撫でられていない
論理値
叩たかれたことを検出すると変数値が「1」になる。 Head_Hit注) 1: 叩たかれた
0: 叩たかれていない
論理値
3秒以上押すことにより、
変数値が「1」になる。
Head_LONG注) 1: 3秒以上押した
0: 押していない
論理値
あごセンサー 押すことにより、
変数値が「1」になる。
Jaw_ON注) 1: 押した
0: 押していない
論理値
押している時間。 Jaw_OFF 0 〜 32,767 -32,768 〜 0 ms オーバーフロー時は、負の最小値からカウントアップしている。
3秒以上押すことにより、
変数値が「1」になる。
Jaw_LONG注) 1: 3秒以上押した
0: 押していない
論理値
背中センサー 押すことにより、
変数値が「1」になる。
Back_ON注) 1: 押した
0: 押していない
論理値
押している時間。 Back_OFF 0 〜 32,767 -32,768 〜 0 ms オーバーフロー時は、負の最小値からカウントアップしている。
3秒以上押すことにより、
変数値が「1」になる。
Back_LONG注) 1: 3秒以上押した
0: 押していない
論理値
脚の
肉球センサー
右前脚 押すことにより、
変数値が「1」になる。
RFLeg_ON注) 1: 押した
0: 押していない
論理値
押している時間。 RFLeg_OFF 0 〜 32,767 -32,768 〜 0 ms オーバーフロー時は、負の最小値からカウントアップしている。
左前脚 押すことにより、
変数値が「1」になる。
LFLeg_ON注) 1: 押した
0: 押していない
論理値
押している時間。 LFLeg_OFF 0 〜 32,767 -32,768 〜 0 ms オーバーフロー時は、負の最小値からカウントアップしている。
右後脚 押すことにより、
変数値が「1」になる。
RRLeg_ON注) 1: 押した
0: 押していない
論理値
押している時間。 RRLeg_OFF 0 〜 32,767 -32,768 〜 0 ms オーバーフロー時は、負の最小値からカウントアップしている。
左後脚 押すことにより、
変数値が「1」になる。
LRLeg_ON注) 1: 押した
0: 押していない
論理値
押している時間。 LRLeg_OFF 0 〜 32,767 -32,768 〜 0 ms オーバーフロー時は、負の最小値からカウントアップしている。

注) いったん「1」になった変数値をクリアするには、SETコマンドを使用し、「0」を代入する。

2.2.2 AIBOの関節角度情報

耳の角度情報は取得できないようだ。

関節角度情報参照変数一覧
場所 内容 変数名 範囲 単位 備考
AC設定範囲

垂直(上下)方向の角度 Head_Tilt -88 〜 42 ° -68°〜 23°(91°)

水平(左右)方向の角度 Head_Pan -89 〜 89 ° -68°〜 68°(136°)

ロールする角度 Head_Poll -28 〜 28 ° -19°〜 19°(38°)
開く角度 Mouth -46 〜 -2 ° -47°〜 -3°(44°)
右前脚 第1関節
(= J1、肩)
前後方向の角度 RFLeg_1 -116 〜 116 ° -107°〜 107°(214°)
左右方向の角度 RFLeg_2 -10 〜 94 ° -8°〜 87°(95°)
第2関節
(= J2、ひじ)
前後方向の角度 RFLeg_3 -26 〜 146 ° -17°〜 137°(154°)
左前脚 第1関節
(= J1、肩)
前後方向の角度 LFLeg_1 -116 〜 116 ° -107°〜 107°(214°)
左右方向の角度 LFLeg_2 -10 〜 92 ° -8°〜 87°(95°)
第2関節
(= J2、ひじ)
前後方向の角度 LFLeg_3 -26 〜 146 ° -17°〜 137°(154°)
右後脚 第1関節
(= J1、股)
前後方向の角度 RRLeg_1 -116 〜 116 ° -117°〜 107°(224°)
左右方向の角度 RRLeg_2 -10 〜 92 ° -8°〜 87°(95°)
第2関節
(= J2、ひざ)
前後方向の角度 RRLeg_3 -26 〜 146 ° -17°〜 147°(164°)
左後脚 第1関節
(= J1、股)
前後方向の角度 LRLeg_1 -116 〜 116 ° -117°〜 107°(224°)
左右方向の角度 LRLeg_2 -10 〜 94 ° -8°〜 87°(95°)
第2関節
(= J2、ひざ)
前後方向の角度 LRLeg_3 -26 〜 146 ° -17°〜 147°(164°)
しっぽ 水平(左右)方向の角度 Tail_Pan -21 〜 21 ° -22°〜 22°(44°)
垂直(上下)方向の角度 Tail_Tilt -21 〜 21 ° -22°〜 22°(44°)


2.2.3 AIBOの内臓時計情報

内臓時計情報参照変数一覧
内容 変数名 範囲 単位 備考
年 (西暦) Year 2000 〜
Month 1 〜 12
Day 1 〜 31
時間 (24時間制) Hour 0 〜 23
Min 0 〜 59
秒 (分解能 2秒) Sec 0 〜 59
曜日 Dow 0 〜 6
(Sun=0, Mon=1, ..., Sat=6)


2.2.4 AIBOのその他の変数

その他の変数一覧
内容 変数名 範囲 単位 備考
PINK_BALL検出 Pink_Ball 1: 見えている
0: 見えていない
論理値 ボールを検出し見失った後でも、
1秒間ほど、ホールドされている。
AIBO内のバッテリー残量 Batt_Rest 0 〜 100 % 20%未満だと、電源が落ちる。
AIBO内のバッテリー温度 Batt_Temp -20 〜 80
AIBO内の温度 Body_Temp -20 〜 80
障害物センサーから
障害物までの距離。
Distance 120 〜 600, 900 mm 障害物がない状態のとき、
「900」が返ります。
転倒と通常時を検出。
転倒すると、変数値が「1」になる。
Status注) 1: 転倒
0: 通常時
論理値
Waitコマンドの待ち数 Wait 0: 待ちなし

PLAYコマンドの完了通知待ち数

注)いったん「1」になった変数値をクリアするには、SETコマンドを使用し、「0」を代入する。 (AIBOは転倒すると自動的に起き上がり、プログラムの先頭から実行される。)


"AIBO"および"メモリースティック"、"OPEN-R"は、もちろん、ソニー(株)の商標です。
このページはソニー(株)と関係無く、
hkora11が勝手に作ったものです。