qbrobotics 5 本指器用ハンド/qb ソフトハンドの概要

qbrobotics 5 本指器用ハンド/qb ソフトハンドの概要

クバンド

1 ドライバーと ROS パッケージのインストール

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%) を制御するだけです。
GUI

この制御モードは、すべてが期待どおりに動作していることをテストするために推奨されるモードです。
おそらくこれが必要になるのは、最初のときとデバッグの場合のみです。

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_nameqbhanddevice_name:=qbhand

2.4 API制御

qb_device_control.hqb_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}"

おすすめ

転載: blog.csdn.net/lyh458/article/details/118423300
おすすめ