qbrobotics 5 本指器用ハンド/qb ソフトハンドの概要
1 ドライバーと ROS パッケージのインストール
- ROS パッケージのインストール手順を参照してください。これは非常に明確です。ただし、シリアル ポート グループにユーザーを追加する方法については、ubuntu を参照して、シリアル ポートが配置されているグループに現在のユーザーを追加してください。
2 接続と使用方法
2.1 qb_handへの簡単な接続
roslaunch qb_device_driver communication_handler.launch
起動時に、システムに接続されているシリアル通信リソースをスキャンし、見つかったデバイスのリストを表示します。デフォルトでは、制御ノードの初期化中に明示的に要求することを除いて、新しいデバイスを再度スキャンすることはありません。
これは、2 つの異なる USB ポートに接続された 2 つの qbrobotics® デバイスで通信ハンドラーを開始する場合の簡単な例です。
2.2 GUIコントロール
- GUI を開く方法:
roslaunch qb_hand_control control.launch standalone:=true activate_on_initialization:=true use_controller_gui:=true
この方法は役に立たず、進行状況バーを引いてグリッパーの開閉度 (0 ~ 1) と速度 (0 ~ 100%) を制御するだけです。
この制御モードは、すべてが期待どおりに動作していることをテストするために推奨されるモードです。
おそらくこれが必要になるのは、最初のときとデバッグの場合のみです。
2.3 ウェイポイントの制御
簡単に言うと、サイクル内のconfig/<robot_name>_waypoints.yaml
ウェイポイントに従ってグリッパーを移動させることです。公式のデフォルトのウェイポイント形式は次のとおりです。
waypoints:
-
time: [2.0]
joint_positions:
qbhand: [0.0]
-
time: [4.0, 4.2]
joint_positions:
qbhand: [0.8]
- ウェイポイント制御を開始するコマンド
roslaunch qb_hand_control control.launch standalone:=true activate_on_initialization:=true use_waypoints:=true device_name:=qbhand
知らせ:
- 設定する
use_waypoints:=true
と設定できなくなりますuse_controller_gui:=true
- yaml ファイルの名前形式は
<robot_name>_waypoints.yaml
、たとえば、デフォルトはqbhand_waypoints.yamlですが、yaml ファイルにはパラメータがあり (上記を参照)device_name
、これはデフォルトで で定義されているためdevice_name
、デフォルトのルーチン (としてハードコードされているため、必ずパラメータを再渡ししてください。control.launch
<robot_name>+<device_id>
device_name
qbhand
device_name:=qbhand
2.4 API制御
qb_device_control.hとqb_device_control.cppの考え方に従って展開するだけです。
2.5rostopic pub
トピック送信による制御
実際、これはトピックまたはアクションの両方を介した API コントロールと本質的に同じです。参照元:パッケージの使い方!具体的な手順:
(1) qb_handを接続して起動する
roslaunch qb_hand_control control.launch standalone:=true activate_on_initialization:=true device_id:=1 device_name:=my_hand
パラメータの意味 (起動ファイルを開くとすべてが表示されます):
- Standalone : 通信ハンドラを起動するかどうかを選択します。デフォルトは false です。
に設定すると、 qb_hand に接続するためのtrue
上記のコマンドを別途実行する必要がありません。 - activate_on_initialization : 起動時にモーターをアクティブにします (最初のコマンド参照が受信されてからデバイスは動きません)。
- device_id : 各デバイスには独自の ID があり、システムに接続する実際のデバイスの ID を設定する必要があります (単一の qb デバイスは直接無視され、複数のデバイスがある場合にのみ設定する必要があります)。
- device_name : yaml コントローラー設定で使用される一意のデバイス名 (まだ指定されていない場合は urdf でも使用されます) (単一の qb デバイスは直接無視され、複数のデバイスがある場合にのみ設定する必要があります。) 使用できるその他のパラメーター
: - use_rviz : rviz を使用するかどうかを選択します。
- use_controller_gui :
- use_waypoints : ウェイポイント参照を使用するかどうかを選択します。ウェイポイント制御
(2) 制御情報の送信(タブ補完を使用)
rostopic pub -1 /my_hand/control/my_hand_synergy_trajectory_controller/command trajectory_msgs/JointTrajectory "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names:
- 'my_hand_synergy_joint'
points:
- positions: [0.5]
velocities: [0]
accelerations: [0]
effort: [0]
time_from_start: {secs: 1, nsecs: 0}"