前回の続きです。
1 Overall Status -
power_on
プロトタイプ: power_on()
説明: Atomの通信を開始します(デフォルトでは開いています)。
詳細説明: この関数は、MyCobotのAtomモジュールの通信をオンにし、ロボットアームが動作を開始できる状態にします。
power_off
プロトタイプ: power_off()
説明: Atomの通信をオフにします。
詳細説明: この関数は、MyCobotのAtomモジュールの通信をオフにし、ロボットアームの動作を停止させます。
is_power_on
プロトタイプ: is_power_on()
説明: ロボットアームの電源がオンかどうかを確認します。
戻り値:
-
1
: 電源がオン -
0
: 電源がオフ -
-1
: エラー
詳細説明: この関数は、ロボットアームの電源状態を確認し、オン、オフ、またはエラーの状態を返します。
read_next_error
プロトタイプ: read_next_error()
説明: ロボットのエラーを検出します。
戻り値: 長さ7のリスト
-
0
: 異常なし -
1
: 通信が切断された -
2
: 不安定な通信 -
3
: サーボ異常
詳細説明: この関数は、ロボットのエラー状態を検出し、特定のエラーコードを返します。リスト形式でエラーを提供します。
release_all_servos
プロトタイプ: release_all_servos()
説明: ロボットアームを自由移動モードに設定します。
詳細説明: この関数は、ロボットアームのサーボモーターを解除し、手動で自由に動かせる状態にします。
is_controller_connected
プロトタイプ: is_controller_connected()
説明: Atomと接続されているかどうかを確認します。
戻り値:
-
1
: 接続されている -
0
: 接続されていない -
-1
: エラー
詳細説明: この関数は、ロボットアームのコントローラが正しく接続されているかどうかを確認します。
get_error_information
プロトタイプ: get_error_information()
説明: ロボットのエラー情報を取得します。
戻り値:
-
0
: エラーメッセージなし -
1 ~ 6
: 該当するジョイントが限界位置を超えた -
32
: 運動学逆解が存在しない -
33 ~ 34
: 直線運動に隣接解がない
詳細説明: この関数は、ロボットの詳細なエラー情報を取得し、エラーコードに応じた説明を提供します。
clear_error_information
プロトタイプ: clear_error_information()
説明: ロボットのエラーメッセージをクリアします。
詳細説明: この関数は、ロボットアームの現在のエラーメッセージをクリアし、エラー状態をリセットします。
表に整理
関数名 | プロトタイプ | 説明 | 詳細説明 |
---|---|---|---|
power_on | power_on() |
Atomの通信を開始します | Atomモジュールの通信をオンにし、ロボットアームが動作を開始できる状態にします。 |
power_off | power_off() |
Atomの通信をオフにします | Atomモジュールの通信をオフにし、ロボットアームの動作を停止させます。 |
is_power_on | is_power_on() |
電源がオンか確認します | ロボットアームの電源状態を確認し、オン、オフ、またはエラーの状態を返します。 |
read_next_error | read_next_error() |
ロボットのエラーを検出します | ロボットのエラー状態を検出し、特定のエラーコードを返します。リスト形式でエラーを提供します。 |
release_all_servos | release_all_servos() |
自由移動モードに設定します | ロボットアームのサーボモーターを解除し、手動で自由に動かせる状態にします。 |
is_controller_connected | is_controller_connected() |
接続状態を確認します | ロボットアームのコントローラが正しく接続されているかどうかを確認します。 |
get_error_information | get_error_information() |
エラー情報を取得します | ロボットの詳細なエラー情報を取得し、エラーコードに応じた説明を提供します。 |
clear_error_information | clear_error_information() |
エラーメッセージをクリアします | ロボットアームの現在のエラーメッセージをクリアし、エラー状態をリセットします。 |
2. MDIモードと操作
「MDI」は、関節の角度または座標の目標値を入力して、位置と姿勢を教える操作です。
get_angles
プロトタイプ: get_angles()
説明: すべてのジョイントの角度を取得します。
戻り値: リスト: すべての角度の浮動小数点リスト。
詳細説明: この関数は、ロボットアームの各ジョイントの現在の角度を取得し、リスト形式で返します。
set_fresh_mode(mode)
説明: コマンドリフレッシュモードを設定します。
パラメータ:
-
mode
– int:-
1
- 最新のコマンドを最優先で実行します。 -
0
- キュー形式で順次指示を実行します。
-
詳細説明: この関数は、コマンド実行の優先度を設定します。最新コマンドを優先するか、順次実行するかを選択できます。
get_fresh_mode()
説明: コマンドリフレッシュモードを取得します。
戻り値:
-
1
- 最新のコマンドを最優先で実行します。 -
0
- キュー形式で順次指示を実行します。
詳細説明: この関数は、現在のコマンド実行の優先度設定を取得します。
send_angle
プロトタイプ: send_angles(id, degree, speed)
説明: 特定のジョイントに角度を送信します。
パラメータ:
-
id
: ジョイントID(genre.Angle
) / int: 1-7 -
degree
: 角度値(float): -170 〜 170 -
speed
: (int) 0 ~ 100
詳細説明: この関数は、特定のジョイントに指定した角度を指定した速度で送信します。
send_angles
プロトタイプ: send_angles(degrees, speed)
説明: すべてのジョイントに角度を送信します。
パラメータ:
-
degrees
: 角度値のリスト(List[float])、長さ7 -
speed
: (int) 0 ~ 100
詳細説明: この関数は、すべてのジョイントに指定した角度を指定した速度で送信します。
get_radians
プロトタイプ: get_radians()
説明: すべてのジョイントのラジアンを取得します。
戻り値: リスト: すべてのラジアンの浮動小数点リスト。
詳細説明: この関数は、ロボットアームの各ジョイントの現在のラジアン値を取得し、リスト形式で返します。
send_radians
プロトタイプ: send_radians(radians, speed)
説明: すべてのジョイントにラジアンを送信します。
パラメータ:
-
radians
: ラジアン値のリスト(List[float]) -
speed
: (int) 0 ~ 100
詳細説明: この関数は、すべてのジョイントに指定したラジアン値を指定した速度で送信します。
get_coords
プロトタイプ: get_coords()
説明: ロボットアームの座標を取得します(ベース座標系に基づく)。
戻り値: リスト: 座標の浮動小数点リスト - [x, y, z, rx, ry, rz]
詳細説明: この関数は、ロボットアームのエンドエフェクタの現在の座標を取得し、リスト形式で返します。
send_coord
プロトタイプ: send_coords(id, coord, speed)
説明: 特定の座標をロボットアームに送信します。
パラメータ:
-
id
: 座標ID(genre.Coord
) / int: 1-6 -
coord
: 座標値(float) -
speed
: (int) 0 ~ 100
詳細説明: この関数は、特定の座標を指定した速度でロボットアームに送信します。
send_coords
プロトタイプ: send_coords(coords, speed, mode)
説明: すべての座標をロボットアームに送信します。
パラメータ:
-
coords
: 座標値のリスト(List[float]) -
speed
: (int) 0 ~ 100 -
mode
: (int): 0 - 角度、1 - 直線
詳細説明: この関数は、すべての座標を指定した速度とモード(角度または直線)でロボットアームに送信します。
sync_send_angles
プロトタイプ: sync_send_angles(degrees, speed, timeout=15)
説明: 同期状態で角度を送信し、目標点に到達したときに戻ります。
パラメータ:
-
degrees
: 角度値のリスト(List[float]) -
speed
: (int) 0 ~ 100 -
timeout
: デフォルトは7秒
詳細説明: この関数は、同期状態で角度を送信し、指定した角度に到達したときに制御を戻します。
sync_send_coords
プロトタイプ: sync_send_coords(coords, speed, mode, timeout=15)
説明: 同期状態で座標を送信し、目標点に到達したときに戻ります。
パラメータ:
-
coords
: 座標値のリスト(List[float]) -
speed
: (int) 0 ~ 100 -
mode
: (int): 0 - 角度、1 - 直線 -
timeout
: デフォルトは7秒
詳細説明: この関数は、同期状態で座標を送信し、指定した座標に到達したときに制御を戻します。
is_in_position
プロトタイプ: is_in_position(data, flag)
説明: 指定した位置にあるかどうかを判定します。
パラメータ:
-
data
: データリスト、角度または座標 -
flag
: データタイプをタグ付け、0 - 角度、1 - 座標
戻り値:
-
1
- true -
0
- false -
-1
- エラー
詳細説明: この関数は、ロボットアームが指定した位置にあるかどうかを判定します。
is_moving
プロトタイプ: is_moving()
説明: ロボットが動いているかどうかを検出します。
戻り値:
-
1
- 動いている -
0
- 動いていない -
-1
- エラーデータ
詳細説明: この関数は、ロボットアームが現在動いているかどうかを検出します。
表に整理
関数名 | プロトタイプ | 説明 | 詳細説明 |
---|---|---|---|
get_angles | get_angles() |
すべてのジョイントの角度を取得します | ロボットアームの各ジョイントの現在の角度を取得し、リスト形式で返します。 |
set_fresh_mode | set_fresh_mode(mode) |
コマンドリフレッシュモードを設定します | コマンド実行の優先度を設定します。最新コマンドを優先するか、順次実行するかを選択できます。 |
get_fresh_mode | get_fresh_mode() |
コマンドリフレッシュモードを取得します | 現在のコマンド実行の優先度設定を取得します。 |
send_angle | send_angle(id, degree, speed) |
特定のジョイントに角度を送信します | 特定のジョイントに指定した角度を指定した速度で送信します。 |
send_angles | send_angles(degrees, speed) |
すべてのジョイントに角度を送信します | すべてのジョイントに指定した角度を指定した速度で送信します。 |
get_radians | get_radians() |
すべてのジョイントのラジアンを取得します | ロボットアームの各ジョイントの現在のラジアン値を取得し、リスト形式で返します。 |
send_radians | send_radians(radians, speed) |
すべてのジョイントにラジアンを送信します | すべてのジョイントに指定したラジアン値を指定した速度で送信します。 |
get_coords | get_coords() |
ロボットアームの座標を取得します | ロボットアームのエンドエフェクタの現在の座標を取得し、リスト形式で返します。 |
send_coord | send_coord(id, coord, speed) |
特定の座標をロボットアームに送信します | 特定の座標を指定した速度でロボットアームに送信します。 |
send_coords | send_coords(coords, speed, mode) |
すべての座標をロボットアームに送信します | すべての座標を指定した速度とモード(角度または直線)でロボットアームに送信します。 |
sync_send_angles | sync_send_angles(degrees, speed, timeout=15) |
同期状態で角度を送信し、目標点に到達したときに戻ります | 同期状態で角度を送信し、指定した角度に到達したときに制御を戻します。 |
sync_send_coords | sync_send_coords(coords, speed, mode, timeout=15) |
同期状態で座標を送信し、目標点に到達したときに戻ります | 同期状態で座標を送信し、指定した座標に到達したときに制御を戻します。 |
is_in_position | is_in_position(data, flag) |
指定した位置にあるかどうかを判定します | ロボットアームが指定した位置にあるかどうかを判定します。 |
is_moving | is_moving() |
ロボットが動いているかどうかを検出します | ロボットアームが現在動いているかどうかを検出します。 |
3. JOGモードと操作
「JOG」は、関節の角度または座標を少しずつ動かして、目標の位置と姿勢を教える操作です。
jog_angle
プロトタイプ: jog_angle(joint_id, direction, speed)
説明: ジョグ制御角度
パラメータ:
-
joint_id
: (int) 1 ~ 6 -
direction
: 0 - 減少, 1 - 増加 -
speed
: 0 ~ 100
詳細説明: この関数は、指定されたジョイントの角度を指定された方向と速度でジョグ制御します。
jog_coord
プロトタイプ: jog_coord(coord_id, direction, speed)
説明: ジョグ制御座標
パラメータ:
-
coord_id
: (int) 1 ~ 6 -
direction
: 0 - 減少, 1 - 増加 -
speed
: 0 ~ 100
詳細説明: この関数は、指定された座標の位置を指定された方向と速度でジョグ制御します。
jog_absolute
プロトタイプ: jog_absolute(joint_id, angle, speed)
説明: 絶対角度ジョグ制御
パラメータ:
-
joint_id
: (int)- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
-
angle
: 角度値 -
speed
: 0 ~ 100
詳細説明: この関数は、指定されたジョイントを指定された角度と速度で絶対的にジョグ制御します。
jog_increment
プロトタイプ: jog_increment(coord_id, direction, speed)
説明: ステップモード
パラメータ:
-
coord_id
: (int)- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
-
direction
: 方向 -
speed
: 0 ~ 100
詳細説明: この関数は、指定された座標の位置をステップモードでジョグ制御します。
jog_stop
プロトタイプ: jog_stop()
説明: ジョグ動作を停止します
詳細説明: この関数は、現在行われているジョグ動作を停止します。
pause
プロトタイプ: pause()
説明: 動作を一時停止します
詳細説明: この関数は、ロボットアームの動作を一時停止します。
resume
プロトタイプ: resume()
説明: 動作を再開します
詳細説明: この関数は、一時停止したロボットアームの動作を再開します。
stop
プロトタイプ: stop()
説明: 動作を停止します
詳細説明: この関数は、ロボットアームの動作を完全に停止します。
is_paused
プロトタイプ: is_paused()
説明: マニピュレータが一時停止しているかどうかを判定します
戻り値:
-
1
- 一時停止中 -
0
- 一時停止していない -
-1
- エラー
詳細説明: この関数は、ロボットアームが現在一時停止中かどうかを判定します。
set_encoder
プロトタイプ: set_encoder(joint_id, encoder)
説明: 単一のジョイントを指定されたポテンシャル値に設定します
パラメータ:
-
joint_id
: (int)- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
-
encoder
: 0 ~ 4096
詳細説明: この関数は、指定されたジョイントのエンコーダ値を設定します。
get_encoder
プロトタイプ: get_encoder(joint_id)
説明: 指定されたジョイントのポテンシャル値を取得します
パラメータ:
-
joint_id
: (int)- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
戻り値: encoder
: 0 ~ 4096
詳細説明: この関数は、指定されたジョイントのエンコーダ値を取得します。
set_encoders
プロトタイプ: set_encoders(encoders, sp)
説明: マニピュレータの6つのジョイントを指定された位置に同期して実行するように設定します
パラメータ:
-
encoders
: エンコーダのリスト -
sp
: 速度 0 ~ 100
詳細説明: この関数は、マニピュレータの6つのジョイントを指定された位置に同期して動かすように設定します。
get_encoders
プロトタイプ: get_encoders()
説明: マニピュレータの6つのジョイントのエンコーダ値を取得します
戻り値: エンコーダのリスト(list)
詳細説明: この関数は、マニピュレータの6つのジョイントのエンコーダ値をリスト形式で取得します。
動作状態と設定
get_speed
プロトタイプ: get_speed()
説明: 速度を取得します
戻り値: speed
: (int)
詳細説明: この関数は、現在の速度設定を取得します。
set_speed
プロトタイプ: set_speed(speed)
説明: 速度を設定します
パラメータ: speed
: (int) 0 ~ 100
詳細説明: この関数は、ロボットアームの動作速度を設定します。
set_joint_min
プロトタイプ: set_joint_min(id, angle)
説明: 指定されたジョイントの最小角度を設定します
パラメータ:
-
id
: (int)- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
-
angle
: 0 - 180
詳細説明: この関数は、指定されたジョイントの最小角度を設定します。
set_joint_max
プロトタイプ: set_joint_max(id, angle)
説明: 指定されたジョイントの最大角度を設定します
パラメータ:
-
id
: (int) ジョイントID- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
-
angle
: 0 - 180
詳細説明: この関数は、指定されたジョイントの最大角度を設定します。
get_joint_min_angle
プロトタイプ: get_joint_min_angle(joint_id)
説明: 指定されたジョイントの最小運動角度を取得します
パラメータ:
-
joint_id
: (int)- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
戻り値: 角度値(float)
詳細説明: この関数は、指定されたジョイントの最小運動角度を取得します。
get_joint_max_angle
プロトタイプ: get_joint_max_angle(joint_id)
説明: 指定されたジョイントの最大運動角度を取得します
パラメータ:
-
joint_id
: (int)- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
戻り値: 角度値(float)
詳細説明: この関数は、指定されたジョイントの最大運動角度を取得します。
表に整理
関数名 | プロトタイプ | 説明 | 詳細説明 |
---|---|---|---|
jog_angle | jog_angle(joint_id, direction, speed) |
ジョグ制御角度 | 指定されたジョイントの角度を指定された方向と速度でジョグ制御します。 |
jog_coord | jog_coord(coord_id, direction, speed) |
ジョグ制御座標 | 指定された座標の位置を指定された方向と速度でジョグ制御します。 |
jog_absolute | jog_absolute(joint_id, angle, speed) |
絶対角度ジョグ制御 | 指定されたジョイントを指定された角度と速度で絶対的にジョグ制御します。 |
jog_increment | jog_increment(coord_id, direction, speed) |
ステップモード | 指定された座標の位置をステップモードでジョグ制御します。 |
jog_stop | jog_stop() |
ジョグ動作を停止します | 現在行われているジョグ動作を停止します。 |
pause | pause() |
動作を一時停止します | ロボットアームの動作を一時停止します。 |
resume | resume() |
動作を再開します | 一時停止したロボットアームの動作を再開します。 |
stop | stop() |
動作を停止します | ロボットアームの動作を完全に停止します。 |
is_paused | is_paused() |
マニピュレータが一時停止しているかどうかを判定します | ロボットアームが現在一時停止中かどうかを判定します。 |
set_encoder | set_encoder(joint_id, encoder) |
単一のジョイントを指定されたポテンシャル値に設定します | 指定されたジョイントのエンコーダ値を設定します。 |
get_encoder | get_encoder(joint_id) |
指定されたジョイントのポテンシャル値を取得します | 指定されたジョイントのエンコーダ値を取得します。 |
set_encoders | set_encoders(encoders, sp) |
マニピュレータの6つのジョイントを指定された位置に同期して実行するように設定します | マニピュレータの6つのジョイントを指定された位置に同期して動かすように設定します。 |
get_encoders | get_encoders() |
マニピュレータの6つのジョイントのエンコーダ値を取得します | マニピュレータの6つのジョイントのエンコーダ値をリスト形式で取得します。 |
get_speed | get_speed() |
速度を取得します | 現在の速度設定を取得します。 |
set_speed | set_speed(speed) |
速度を設定します | ロボットアームの動作速度を設定します。 |
set_joint_min | set_joint_min(id, angle) |
指定されたジョイントの最小角度を設定します | 指定されたジョイントの最小角度を設定します。 |
set_joint_max | set_joint_max(id, angle) |
指定されたジョイントの最大角度を設定します | 指定されたジョイントの最大角度を設定します。 |
get_joint_min_angle | get_joint_min_angle(joint_id) |
指定されたジョイントの最小運動角度を取得します | 指定されたジョイントの最小運動角度を取得します。 |
get_joint_max_angle | get_joint_max_angle(joint_id) |
指定されたジョイントの最大運動角度を取得します | 指定されたジョイントの最大運動角度を取得します。 |
4. サーボ制御
is_servo_enable
プロトタイプ: is_servo_enable(servo_id)
説明: すべてのステアリングギアが接続されているかどうかを判定します。
パラメータ:
-
servo_id
(int):- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
戻り値:
-
0
: 無効 -
1
: 有効 -
-1
: エラー
詳細説明: この関数は、指定されたサーボモーターが有効か無効かを判定し、結果を返します。
is_all_servo_enable
プロトタイプ: is_all_servo_enable()
説明: 指定されたステアリングギアが接続されているかどうかを判定します。
戻り値:
-
0
: 無効 -
1
: 有効 -
-1
: エラー
詳細説明: この関数は、すべての指定されたサーボモーターが有効か無効かを判定し、結果を返します。
set_servo_data
プロトタイプ: set_servo_data(servo_no, data_id, value, mode=None)
説明: 指定されたステアリングギアのアドレスにデータパラメータを設定します。
パラメータ:
-
servo_no
(int): 関節サーボモーターのシリアル番号- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
-
data_id
: データアドレス -
value
: 0 - 4096 -
mode
: 0 - 1バイト値を示す(デフォルト)、1 - 2バイト値を示す
詳細説明: この関数は、指定されたサーボモーターの特定アドレスにデータパラメータを設定します。
get_servo_data
プロトタイプ: get_servo_data(servo_no, data_id)
説明: 指定されたステアリングギアのアドレスからデータパラメータを読み取ります。
パラメータ:
-
servo_no
: 関節サーボモーターのシリアル番号- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
-
data_id
: データアドレス
戻り値:
-
value
: 0 - 4096
詳細説明: この関数は、指定されたサーボモーターの特定アドレスからデータパラメータを読み取ります。
set_servo_calibration
プロトタイプ: set_servo_calibration(servo_no)
説明: キャリブレーションジョイントアクチュエータの現在の位置を角度のゼロ点として、対応するポテンシャル値を2048に設定します。
パラメータ:
-
servo_no
: 関節サーボモーターのシリアル番号- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
詳細説明: この関数は、指定されたサーボモーターの現在の位置を基準としてキャリブレーションを行い、角度のゼロ点として設定します。
release_servo
プロトタイプ: release_servo(servo_id)
説明: 指定されたサーボの電源を切ります。
パラメータ:
-
servo_id
:- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
詳細説明: この関数は、指定されたサーボモーターの電源をオフにします。
focus_servo
プロトタイプ: focus_servo(servo_id)
説明: 指定されたサーボの電源を入れます。
パラメータ:
-
servo_id
:- mycobot / mecharm: int 1-6
- mypalletizer: int 1-4
- myArm: int 1-7
詳細説明: この関数は、指定されたサーボモーターの電源をオンにします。
表に整理
関数名 | プロトタイプ | 説明 | 詳細説明 |
---|---|---|---|
is_servo_enable | is_servo_enable(servo_id) |
すべてのステアリングギアが接続されているかどうかを判定します | 指定されたサーボモーターが有効か無効かを判定し、結果を返します。 |
is_all_servo_enable | is_all_servo_enable() |
指定されたステアリングギアが接続されているかどうかを判定します | すべての指定されたサーボモーターが有効か無効かを判定し、結果を返します。 |
set_servo_data | set_servo_data(servo_no, data_id, value, mode=None) |
指定されたステアリングギアのアドレスにデータパラメータを設定します | 指定されたサーボモーターの特定アドレスにデータパラメータを設定します。 |
get_servo_data | get_servo_data(servo_no, data_id) |
指定されたステアリングギアのアドレスからデータパラメータを読み取ります | 指定されたサーボモーターの特定アドレスからデータパラメータを読み取ります。 |
set_servo_calibration | set_servo_calibration(servo_no) |
キャリブレーションジョイントアクチュエータの現在の位置を角度のゼロ点として設定します | 指定されたサーボモーターの現在の位置を基準としてキャリブレーションを行い、角度のゼロ点として設定します。 |
release_servo | release_servo(servo_id) |
指定されたサーボの電源を切ります | 指定されたサーボモーターの電源をオフにします。 |
focus_servo | focus_servo(servo_id) |
指定されたサーボの電源を入れます | 指定されたサーボモーターの電源をオンにします。 |
参考資料