アーム#

導入#

6軸ロボットアームは、CTEワークセルで使用されるロボットマニピュレータです。VEXcode EXPでは、アームブロックを使用することで、EXPブレインが6軸アームを動かしたり、エンドエフェクタを回転させたり、動作が可能かどうかをチェックしたり、マグネットピックアップツールやペンホルダーツールなどの付属ツールを制御したりすることができます。

このページは、6軸アームがEXPブレインに接続されているCTEワークセルプロジェクト向けです。CTEタイルで6軸アームを単独で使用する場合は、CTEアームAPIページを使用してください。

利用可能なブロックの一覧は以下のとおりです。

操作 — 6軸アームを所定の位置または向きに移動させます。

設定 — 移動、ツール、および制御設定を構成します。

値 — 動作を実行できるかどうか、動作が完了したかどうか、衝突が発生したかどうか、現在の位置や向きを読み取るか、Arm イベントが発生したときにブロックを実行するかどうかを確認します。

行動#

腕を所定の位置に移動#

アームを所定の位置に移動スタックブロックは、6軸アームを指定されたx、y、z座標に移動させます。

x、y、z座標は、エンドエフェクタの3次元空間における位置を表します。目標位置が6軸アームの到達可能な作業空間外にある可能性がある場合は、このブロックの前にarm move to position?を使用してください。

アームを動かしてスタックブロックを配置する#
[Arm1 v] を位置 x:[120] y:[0] z:[100] [mm v] へ移動 ▶

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

x

目標位置のx座標。

y

目標位置のy座標。

z

目標位置のz座標。

ユニット

x、y、z座標に使用される単位:mm(ミリメートル)またはインチ。

拡大矢印

デフォルトでは、6軸アームは次のブロックが実行される前に動作を完了します。ブロックを展開して動作を開始し、すぐに次のブロックに進んでください。

例

起動すると、6軸アームを標準位置に移動します。#
開始したとき
[Move Arm1 to a standard position at the start of the project.]
[Arm1 v] を位置 x:(120) y:(120) z:(75) [mm v] へ移動 ▶

アーム位置を増分する#

アーム位置増分スタックブロックは、6軸アームを現在の位置から指定された距離だけx、y、z軸に沿って移動させます。

このブロックを使用して、エンドエフェクタの現在の位置を基準に移動させます。移動によって6軸アームが可動範囲外になる可能性がある場合は、このブロックの前にarm increment position?を使用してください。

インクリメントアーム位置スタックブロック#
[Arm1 v] の位置を x:[0] y:[0] z:[0] [mm v] 増分 ▶

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

x

x軸に沿って移動する距離。

y

y軸に沿って移動する距離。

z

z軸に沿って移動する距離。

ユニット

x、y、z の距離に使用される単位:mm(ミリメートル)またはインチ。

拡大矢印

デフォルトでは、6軸アームは次のブロックが実行される前に動作を完了します。ブロックを展開して動作を開始し、すぐに次のブロックに進んでください。

例

起動時に、Arm1の位置をx軸方向に100ミリメートルずつ増加させます。#
開始したとき
[Move Arm1 100 millimeters along the x-axis.]
[Arm1 v] の位置を x:[100] y:[0] z:[0] [mm v] 増分 ▶

腕を所定の位置に動かす#

アームを方向へ移動スタックブロックは、エンドエフェクタを指定された方向に回転させます。

方向とは、エンドエフェクタがどのように回転するかを表します。ピッチはエンドエフェクタを上下に傾け、ロールは左右に回転させ、ヨーは左右に回転させます。

アームをオリエンテーションスタックブロックに移動#
[Arm1 v] のエンドエフェクター方向を [ピッチ v] [0] 度へ移動 ▶

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

方向

エンドエフェクタを回転させる軸:

  • ピッチ
  • ロール
  • ヨー

学位

目標物の向きの角度(度)。

拡大矢印

デフォルトでは、6軸アームは次のブロックが実行される前に動作を完了します。ブロックを展開して動作を開始し、すぐに次のブロックに進んでください。

例

起動すると、エンドエフェクタをヨー方向に270度回転させます。#
開始したとき
[Rotate the end effector to 270 degrees of yaw.]
[Arm1 v] のエンドエフェクター方向を [ヨー v] [270] 度へ移動 ▶

インクリメントアームの向き#

アーム方向増分スタックブロックは、エンドエフェクタを現在の向きから指定された角度だけ回転させます。

このブロックを使用して、エンドエフェクタの現在のピッチ、ロール、またはヨーを基準に回転させます。

インクリメントアームオリエンテーションスタックブロック#
[Arm1 v] の方向を [ピッチ v] [0] 度増分 ▶

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

方向

エンドエフェクタを回転させる軸:

  • ピッチ
  • ロール
  • ヨー

学位

エンドエフェクタを回転させる角度(度数)。

拡大矢印

デフォルトでは、6軸アームは次のブロックが実行される前に動作を完了します。ブロックを展開して動作を開始し、すぐに次のブロックに進んでください。

例

起動すると、エンドエフェクタをピッチ方向に40度回転させます。#
開始したとき
[Rotate the end effector 40 degrees in pitch.]
[Arm1 v] の方向を [ピッチ v] [40] 度増分 ▶

設定#

腕の速度を設定する#

set arm speedスタックブロックは、6軸アームの移動速度を設定します。

プロジェクト開始時、6軸アームの速度は50%に設定されます。

アームスピードスタックブロックを設定する#
[Arm1 v]の速度を[50] %に設定する

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

パーセント

6軸アームの移動速度は、1~100パーセントです。

例

起動すると、6軸アームの速度を設定し、その後、指定された位置に移動します。#
開始したとき
[Set Arm1's speed to 30%.]
[Arm1 v]の速度を[30] %に設定する
[Arm1 v] を位置 x:[120] y:[120] z:[70] [mm v] へ移動 ▶

セットアームエンドエフェクタ#

アームエンドエフェクタ設定スタックブロックは、6軸アームに取り付けられたツールを選択します。

エンドエフェクタを変更すると、6軸アームは選択されたツールに合わせてZオフセットを自動的に調整します。プロジェクト開始時には、エンドエフェクタはマグネットピックアップツールに設定されています。

セットアームエンドエフェクタスタックブロック#
[Arm1 v] のエンドエフェクターを [マグネット v] に設定

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

エンドエフェクタ

6軸アームに取り付けるツール:磁石(マグネットピックアップツール)またはペン(ペンホルダーツール)。

例

起動時に、6軸アームがペンホルダーツールを使用するよう設定されます。#
開始したとき
[Set Arm1 to use the Pen Holder Tool.]
[Arm1 v] のエンドエフェクターを [ペン v] に設定

アームマグネットモードを設定#

セットアームマグネットモードスタックブロックは、マグネットピックアップツールを作動または解除します。

マグネットモードは、別のアームマグネットモード設定ブロックによって変更されるまでアクティブなままです。マグネットモードは、プロジェクトの開始時に解放にリセットされます。

アームマグネットモードスタックブロックを設定#
[Arm1 v] のマグネットを [接続 v] に設定

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

モード

マグネットピックアップツールの状態:作動中で物体を拾い上げ、解放中で保持している物体を落とし、新しい物体を拾い上げなくなります。

例

起動すると磁石を吸着し、一定時間待機した後、磁石を解放します。#
開始したとき
[Pick up objects, then drop them after 2 seconds.]
[Arm1 v] のマグネットを [接続 v] に設定
[2] 秒待つ
[Arm1 v] のマグネットを [解除 v] に設定

アームペンオフセットを設定#

set arm pen offsetスタックブロックは、ペンホルダーツールの垂直オフセットを設定します。

このブロックを使用する前に、エンドエフェクタを「ペン」に設定してください。ペンホルダーツールが選択されていない場合、このブロックは効果を発揮しません。

ペンオフセットとは、ペンホルダーツールの先端からホワイトボードマーカーの先端までの距離のことです。プロジェクト開始時には、ペンオフセットは0に設定されています。ペンオフセットが0の場合、アームのZ軸原点は、ペンホルダーツールが6軸アームに接続される位置に配置されます。

アームペンオフセットスタックブロックを設定する#
[Arm1 v] のペンオフセットを [0] [mm v] に設定

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

オフセット

ペンオフセット値。

ユニット

ペンオフセットに使用される単位:mm(ミリメートル)またはインチ。

例

起動すると、ペンオフセットを設定し、その後6軸アームを移動させます。#
開始したとき
[Set the end effector to the Pen Holder Tool and set the pen offset to 1 inch.]
[Arm1 v] のエンドエフェクターを [ペン v] に設定
[Arm1 v] のペンオフセットを [1] [インチ v] に設定
[Arm1 v] を位置 x:[120] y:[120] z:[0] [mm v] へ移動 ▶

アームをコントロール停止位置にセットする#

set arm to control stoppedスタックブロックは、6軸アームを即座に停止させ、それ以上のアームブロックの実行を阻止します。

このブロックが実行されると、プロジェクトを再起動するまで6軸アームを再度有効にすることはできません。

停止したスタックブロックを制御するためにアームを設定します#
[Arm1 v] を制御停止に設定

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

例

起動すると6軸アームが動き、制御が停止するとアームが停止します。#
開始したとき
[Control stop after a movement.]
[Arm1 v] を位置 x:[120] y:[120] z:[70] [mm v] へ移動 ▶
[Arm1 v] を制御停止に設定

価値観#

腕を所定の位置に動かしますか?#

アームを所定の位置に移動させるか?ブールブロックは、6軸アームが指定されたx、y、z座標に移動できるかどうかを返します。

このブロックは、6軸アームが動作する前に目標位置を確認します。これにより、プロジェクトがアームを動作可能な作業範囲外に移動させようとするのを防ぐことができます。

腕を所定の位置に移動させる?ブールブロック#
<[Arm1 v] は位置 x:[0] y:[0] z:[0] [mm v] へ移動できる?>

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

x

目標位置のx座標。

y

目標位置のy座標。

z

目標位置のz座標。

ユニット

x、y、z座標に使用される単位:mm(ミリメートル)またはインチ。

例

起動時に、6軸アームが所定の位置に移動できるかどうかを確認します。#
開始したとき
[Check if Arm1 can move to a position.]
もし <<[Arm1 v] は位置 x:[0] y:[0] z:[0] [mm v] へ移動できる?> でない> なら
[The 6-Axis Arm can't move to this position.] をスクリーンに表示 ▶
終わり

腕の増分位置は?#

arm increment position? ブール値ブロックは、6軸アームが現在の位置から指定された距離だけ移動できるかどうかを返します。

このブロックは、6軸アームが動作する前に、段階的な動きをチェックします。

アーム増分位置?ブールブロック#
<[Arm1 v]の位置をx:[0] y:[0] z:[0] [mm v]分増加できますか?>

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

x

x軸に沿って移動する距離。

y

y軸に沿って移動する距離。

z

z軸に沿って移動する距離。

ユニット

x、y、z の距離に使用される単位:mm(ミリメートル)またはインチ。

例

起動時に、6軸アームが位置を増分できるかどうかを確認します。#
開始したとき
[Check if Arm1 can increment from its current position.]
もし <<[Arm1 v]の位置をx:[0] y:[500] z:[0] [mm v]分増加できますか?> でない> なら
[The 6-Axis Arm can't move that distance.] をスクリーンに表示 ▶
終わり

アームを動かすエンドエフェクタ?#

arm move end effector? ブールブロックは、エンドエフェクタが指定された方向に回転できるかどうかを返します。

このブロックを使用して、エンドエフェクタを回転させる前に、目標とするピッチ、ロール、またはヨーの値が許容範囲内にあるかどうかを確認します。

アームがエンドエフェクタを動かす?ブールブロック#
<[Arm1 v] のエンドエフェクターを [ピッチ v] [0] 度へ移動できる?>

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

方向

エンドエフェクタを回転させる軸:

  • ピッチ
  • ロール
  • ヨー

学位

目標物の向きの角度(度)。

例

起動時に、エンドエフェクタが所定の向きに回転できるかどうかを確認します。#
開始したとき
[Check if Arm1 can roll its end effector to an orientation.]
もし <[Arm1 v] のエンドエフェクターを [ロール v] [40] 度へ移動できる?> なら
[The end effector can roll to that orientation.] をスクリーンに表示 ▶
終わり

腕の増分方向は?#

arm increment orientation? ブールブロックは、エンドエフェクタが現在の向きから指定された度数だけ回転できるかどうかを返します。

このブロックを使用して、エンドエフェクタを回転させる前に、ピッチ、ロール、またはヨーの微調整動作を確認します。

アームの増分方向?ブールブロック#
<[Arm1 v] の方向を [ピッチ v] [0] 度増分できる?>

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

方向

エンドエフェクタを回転させる軸:

  • ピッチ
  • ロール
  • ヨー

学位

エンドエフェクタを回転させる角度(度数)。

例

起動時に、エンドエフェクタがヨー角を20度増加させることができるかどうかを確認します。#
開始したとき
[Check if Arm1 can increment yaw.]
もし <[Arm1 v] の方向を [ヨー v] [20] 度増分できる?> なら
[The end effector can increment yaw by 20 degrees.] をスクリーンに表示 ▶
終わり

腕の動きは終わりましたか?#

アームは動作を完了しましたか? ブールブロックは、6軸アームの動作が完了したかどうかを返します。

このブロックは、移動ブロックがそして待たないまで展開された後に役立ちます。

アームの動きは終了しましたか?ブールブロック#
<[Arm1 v] 移動完了?>

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

例

起動すると、6軸アームが動作している間、現在のy座標を表示します。#
開始したとき
[Display the current y-position while Arm1 moves.]
[Arm1 v] を位置 x:(-100) y:(200) z:(100) [mm v] へ移動 ◀ 待たない
<[Arm1 v] 移動完了?> まで繰り返す
([Arm1 v] の [y v] 位置([mm v])) をスクリーンに表示 ◀ カーソルを次の行へ移動する
[0.25] 秒待つ
終わり

アームがクラッシュしましたか?#

アームがクラッシュしましたか? ブールブロックは、6軸アームが移動中にクラッシュしたかどうかを返します。

衝突が検出されると、6軸アームはモーターの動きを停止し、一時的に力が抜けたように見えることがあります。これにより、負荷が軽減され、モーターが偶発的な損傷を受けるのを防ぎます。

アームがクラッシュしましたか?ブールブロック#
<[Arm1 v]はクラッシュしていますか?>

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

例

起動時に、Arm1が移動している間にクラッシュが発生しないかチェックします。#
開始したとき
[Quickly move to the specified location.]
[Arm1 v]の速度を[100] %に設定する
[Arm1 v] を位置 x:[-20] y:[240] z:[40] [mm v] へ移動 ◀ 待たない
[While moving, check for a crash.]
ずっと
もし <[Arm1 v]はクラッシュしていますか?> なら
[Indicate a crash with the Signal Tower and Brain screen.]
[Crash Detected] をスクリーンに表示 ▶
[SignalTower2 v] を [緑 v] にして [オフ v] に設定
[SignalTower2 v] を [赤 v] にして [点灯 v] に設定
ブレーク
終わり
終わり

腕の位置#

アーム位置レポーターブロックは、選択された軸に沿った6軸アームの現在位置を返します。

このブロックを使用して、エンドエフェクタが現在x軸、y軸、またはz軸のどの位置にあるかを読み取ります。

腕の位置 レポーター ブロック#
([Arm1 v] の [x v] 位置([mm v]))

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

軸

報告する位置軸:

  • x
  • y
  • z

ユニット

位置値に使用される単位:mm(ミリメートル)またはインチ。

例

起動すると、6軸アームが動作している間、現在のy座標を表示します。#
開始したとき
[Display the current y-position while Arm1 moves.]
[Arm1 v] を位置 x:(-100) y:(200) z:(100) [mm v] へ移動 ◀ 待たない
<[Arm1 v] 移動完了?> まで繰り返す
([Arm1 v] の [y v] 位置([mm v])) をスクリーンに表示 ◀ カーソルを次の行へ移動する
[0.25] 秒待つ
終わり

腕の向き#

アームの向きレポーターブロックは、選択された軸を中心としたエンドエフェクタの現在の向きを度数で返します。

このブロックを使用して、エンドエフェクタの現在のピッチ、ロール、またはヨーを読み取ります。

腕の向きに関するレポーターブロック#
([Arm1 v] の [ピッチ v] 軸方向(度))

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

方向

報告する姿勢軸:

  • ピッチ
  • ロール
  • ヨー

例

起動すると、6軸アームが動作している間の現在のヨー角を表示します。#
開始したとき
[Display the current yaw after rotating the end effector.]
[Arm1 v] のエンドエフェクター方向を [ヨー v] [90] 度へ移動 ◀ 待たない
<[Arm1 v] 移動完了?> まで繰り返す
([Arm1 v] の [ヨー v] 軸方向(度)) をスクリーンに表示 ◀ カーソルを次の行へ移動する
[0.25] 秒待つ
終わり

アームコントロールが停止したとき#

アーム制御停止時ハットブロックは、6軸アームの制御停止が有効になったときに、アタッチされたスタックを実行します。

アームコントロールが停止したとき、ハットブロック#
[Arm1 v] が制御停止したとき  :: hat events

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

腕が衝突したとき#

アームが衝突したときハットブロックは、6軸アームが移動中に衝突したときに、アタッチされたスタックを実行します。

衝突が検出されると、6軸アームはモーターの動きを停止し、一時的に力が抜けたように見えることがあります。これにより、負荷が軽減され、モーターが偶発的な損傷を受けるのを防ぎます。

腕が衝突したとき、ハットブロック#
when [Arm1 v] crashed  :: hat events

パラメータ

説明

デバイス

使用するように構成された6軸アーム。

例

Arm1がクラッシュすると、シグナルタワーが赤く点灯します。#
when [Arm1 v] crashed  :: hat events
[Indicate a crash with the Signal Tower and Brain screen.]
[Crash Detected] をスクリーンに表示 ▶
[SignalTower2 v] を [赤 v] にして [点灯 v] に設定