HumansXドキュメントセンター 公式サイトへ ↗

ノード管理プログラムインターフェース

目的:RobotManager クラスのメソッドをすばやく理解できるよう、クラスのメソッド、パラメータ、戻り値、使用例を紹介し、開発に役立てます。

クラス概要

RobotManager クラスは 4 自由度ロボットアームの制御マネージャーで、シリアル通信、サーボプロトコル、逆運動学計算の機能を統合し、ロボットアームの移動とグリッパーの操作を制御します。


コンストラクタ

RobotManager()

ロボットアームマネージャーを初期化し、シリアルポート接続を開いて、サーボプロトコルと逆運動学モジュールを初期化します。

パラメータ :なし 戻り値 :RobotManager インスタンス

例 :

python

robot = RobotManager()

メソッド一覧

1. catch_sth()

ロボットアームのグリッパーを閉じます。

パラメータ :なし 戻り値 :なし

例 :

python

robot.catch_sth()  # 手爪闭合

2. release_sth()

ロボットアームのグリッパーを開きます。

パラメータ :なし 戻り値 :なし

例 :

python

robot.release_sth()  # 手爪打开

3. arm_move(target_x, target_y, target_z, input_point)

ロボットアームを現在位置から目標位置まで直線移動させます。この関数は前回の目標位置を自動的に記録するため、目標位置を渡すと、ロボットアームは前回の位置から新しい目標位置へ自動的に移動します。

パラメータ :

  • target_x (float):目標 X 座標
  • target_y (float):目標 Y 座標
  • target_z (float):目標 Z 座標
  • input_point (int):補間点の数(動作の滑らかさを決定します)

戻り値 :なし

例 :

python

robot.arm_move(100, 20, 50, 10)  # 移动到 (100, 20, 50),插补10个点

4. arm_init_action()

ロボットアームの初期化動作を実行し、グリッパーを開いて初期位置に戻ります。

パラメータ :なし 戻り値 :なし

例 :

python

robot.arm_init_action()  # 机械臂初始化

5. arm_cir_move(start_x, start_z, end_x, end_z, radius, num_points, reverse)

ロボットアームに XZ 平面内で円弧補間動作を行わせます。

パラメータ :

  • start_x (float):始点の X 座標
  • start_z (float):始点の Z 座標
  • end_x (float):終点の X 座標
  • end_z (float):終点の Z 座標
  • radius (float):円弧の半径
  • num_points (int):補間点の数
  • reverse (bool):円弧を逆方向にするかどうか(True/False)

戻り値 :なし

例 :

python

robot.arm_cir_move(50, 80, 100, 50, 30, 20, False)  # 从 (50,80) 到 (100,50) 画圆弧

6. 制限関数(補助メソッド)

以下のメソッドは、入力座標をロボットアームの動作範囲内に制限するために使用します:

arm_limit_x(input_value_x)

arm_limit_y(input_value_y)

arm_limit_z(input_value_z)

three_axis_data_limit(input_value_x, input_value_y, input_value_z)

パラメータ :対応する座標値 戻り値 :制限後の座標値

例 :

python

x_limited = robot.arm_limit_x(200) # 範囲を超えた場合は 180 を返します


使用例

python

from manager import RobotManager

# 初始化机械臂
robot = RobotManager()

# 打开手爪
robot.release_sth()

# 移动到目标位置
robot.arm_move(120, 30, 60, 15)

# 闭合手爪抓取物体
robot.catch_sth()

# 圆弧运动
robot.arm_cir_move(120, 60, 80, 100, 40, 20, False)

# 回到初始位置
robot.arm_init_action()