Package Summary

Tags No category tags.
Version 3.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/sciurus17_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2023-11-10
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The Sciurus17 control package

Additional Links

No additional links.

Maintainers

  • RT Corporation

Authors

  • Hiroyuki Nomura
  • Atsushi Kuwagata

sciurus17_control

このパッケージはros2_control をベースにした、Sciurus17 のコントローラパッケージです。

ros2_control関連ファイル

実機のセットアップ

sciurus17_hardwareがSciurus17実機と通信するために、 PCとSciurus17の設定が必要です。

USB通信ポートの設定

次の方法でsciurus17_controlが実機と通信するために用いるUSBシリアル変換デバイス名を固定します。

ros2 run sciurus17_tools create_udev_rules

実行後に再起動しSciurus17を接続すると/dev/sciurus17spineが作成されるようになります。

ノードの起動

sciurus17_control.launch.pyを実行すると、Controller Managerノードが起動し、 以下のコントローラが読み込まれます。

  • right_arm_controller (joint_trajectory_controller/JointTrajectoryController)
  • right_gripper_controller (position_controllers/GripperActionController)
  • left_arm_controller (joint_trajectory_controller/JointTrajectoryController)
  • left_gripper_controller (position_controllers/GripperActionController)
  • neck_controller (joint_trajectory_controller/JointTrajectoryController)
  • waist_yaw_controller (joint_trajectory_controller/JointTrajectoryController)
  • joint_state_broadcaster (joint_state_broadcaster/JointStateBroadcaster)

ノードが起動した後、 次のコマンドでジョイント角度情報(joint_states)を表示できます

ros2 topic echo /joint_states

Controller Managerのパラメータ

Controller Managerのパラメータは config/sciurus17_controllers.yaml で設定しています。

controller_manager:
  ros__parameters:
    update_rate: 100  # Hz

    right_arm_controller:
      type: joint_trajectory_controller/JointTrajectoryController
    right_gripper_controller:
      type: position_controllers/GripperActionController

制御周期

update_rateは制御周期を設定します。

コントローラ

Sciurus17の各関節を制御するコントローラの設定ができます。コントローラの名称と役割の対応は以下のとおりです。

  • right_arm_controller
    • 右腕制御用コントローラ
  • right_gripper_controller
    • 右グリッパ制御用コントローラ
  • left_arm_controller
    • 左腕制御用コントローラ
  • left_gripper_controller
    • 左グリッパ制御用コントローラ
  • neck_controller
    • 首制御用コントローラ
  • waist_yaw_controller
    • 腰制御用コントローラ

sciurus17_hardwareのパラメータ

sciurus17_hardwareのパラメータは sciurus17_description/urdf/sciurus17.urdf.xacro で設定しています。

  <xacro:arg name="port_name" default="/dev/sciurus17spine" />
  <xacro:arg name="baudrate" default="3000000" />
  <xacro:arg name="timeout_seconds" default="1.0" />
  <xacro:arg name="manipulator_config_file_path" default="" />

USB通信ポート

port_nameはSciurus17との通信に使用するUSB通信ポートを設定します。

ボーレート

baudrateはSciurus17に搭載したDynamixelとの通信ボーレートを設定します。

デフォルト値には3000000 (3 Mbps)を設定しています。

通信タイムアウト

timeout_secondsは通信タイムアウト時間(秒)を設定します。

sciurus17_hardwareは、一定時間(デフォルト1秒間)通信に失敗し続けると、 read/write動作を停止します。 USBケーブルや電源ケーブルが抜けた場合等に有効です。

RTマニピュレータC++ライブラリ用の設定ファイルパス

sciurus17_hardwareは、Sciurus17と通信するために RTマニピュレータC++ライブラリ を使用しています。

manipulatcor_config_file_pathは ライブラリが読み込むサーボ設定ファイルへのパスを設定します。


back to top

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sciurus17_control at answers.ros.org

No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.0
License Apache License 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/sciurus17_ros.git
VCS Type git
VCS Version master
Last Updated 2023-11-10
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The Sciurus17 control package

Additional Links

No additional links.

Maintainers

  • RT Corporation

Authors

  • Hiroyuki Nomura

sciurus17_control

Sciurus17のためのパッケージ、 sciurus17_ros のcontrolパッケージです。

通信ポートの設定

sciurus17_controlはSciurus17に内蔵されたSciurusSpineボードとROS実行環境をUSBケーブルで接続した状態でモータ制御を行います。
SciurusSpineはセットアップ手順にあるcreate_udev_rulesの実行後にLinuxに接続すると/dev/sciurus17spineとして認識されます。

Sciurus17との接続に/dev/sciurus17spine以外を使用したい場合は、sciurus17_control/configに格納されている各yamlファイルに定義されているパラメータを変更することで設定することができます。

dynamixel_port:
  port_name: "/dev/sciurus17spine"

各ファイルには次の定義が含まれています。
sciurus17_control/config/sciurus17_control1.yaml 右腕の制御に関する定義ファイルです。
sciurus17_control/config/sciurus17_control2.yaml 左腕の制御に関する定義ファイルです。
sciurus17_control/config/sciurus17_control3.yaml 胴体(腰および首)の制御に関する定義ファイルです。

ネームスペースとトピック

sciurus17_control/sciurus17をルートとするネームスペースにパラメータやトピックを定義します。
各jointについて次のトピックを配信します。

current:電流値[mA]
dxl_position:現在角度[360/4096度]
temp:温度[度]

dynamic_reconfigure

sciurus17_controldynamic_reconfigureに対応しています。次のコマンドでrqt_reconfigureを起動してアクセスすると各Jointのサーボパラメータを変更することができます。

rosrun rqt_reconfigure rqt_reconfigure

rqt_reconfigure

各パラメータの詳細についてはROBOTIS公式のXM430およびXM540のサーボマニュアルを参照して下さい。
- XM430-W350 - XM540-W270

制御モード設定

Sciurus17は位置制御モードと電流制御モードに対応しています。基本設定は位置制御モードになっていますが、複数箇所の設定変更を行うことで電流制御モードへ切り替えることが可能です。
右腕ハンドの設定を位置制御モードから電流制御モードへ変更する手順を紹介します。

  1. サーボの設定変更
    サーボモータのOperating Mode(Address:11)を3:位置制御モードから0:電流制御モードへ設定変更する

  2. sciurus17_controlの設定変更
    sciurus17_control/config/sciurus17_control1.yamlのハンド部分について次のように変更する

right_hand_controller:
- type: "position_controllers/GripperActionController"
+ type: "effort_controllers/GripperActionController"
  publish_rate: 500
  joint: r_hand_joint
+  gains:
+    r_hand_joint: { p: 1.0, i: 0.01, d: 0.1 }
  action_monitor_rate: 10
  state_publish_rate:  100
  stalled_velocity_threshold: 0.001
  goal_tolerance: 0.05
  stall_timeout: 0.1

dynamixel_port:
  port_name: "/dev/sciurus17spine"
  baud_rate: 3000000
  joints:
    - r_arm_joint1
    - r_arm_joint2
    - r_arm_joint3
    - r_arm_joint4
    - r_arm_joint5
    - r_arm_joint6
    - r_arm_joint7
    - r_hand_joint
  r_arm_joint1: {id: 2, center: 2048, home: 2048, effort_const: 2.79, mode: 3 }
  r_arm_joint2: {id: 3, center: 2048, home: 1024, effort_const: 2.79, mode: 3 }
  r_arm_joint3: {id: 4, center: 2048, home: 2048, effort_const: 1.69, mode: 3 }
  r_arm_joint4: {id: 5, center: 2048, home: 3825, effort_const: 1.79, mode: 3 }
  r_arm_joint5: {id: 6, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
  r_arm_joint6: {id: 7, center: 2048, home:  683, effort_const: 1.79, mode: 3 }
  r_arm_joint7: {id: 8, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
- r_hand_joint: {id: 9, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
+ r_hand_joint: {id: 9, center: 2048, home: 2048, effort_const: 1.79, mode: 0 }

PIDの設定値はSciurus17を制御するROS環境によって特性が異なる可能性があります。

【電流モードに関する注意】
電流制御モードは、位置制御モードと異なり、サーボに設定された角度リミットが無効になります。
ユーザー自身で作成されたプログラムに適切な制限動作が備わっていない場合、本体の損傷や、本体が周囲や作業者に接触、あるいは衝突し、失明や打撲による死亡といった思わぬ重大事故が発生する危険があります。
ユーザーの責任において十分に安全に注意した上でご使用下さい。
当該製品および当ソフトウェアの使用中に生じたいかなる損害も株式会社アールティでは一切の責任を負いかねます。

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sciurus17_control at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.0
License Apache License 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/sciurus17_ros.git
VCS Type git
VCS Version master
Last Updated 2023-11-10
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The Sciurus17 control package

Additional Links

No additional links.

Maintainers

  • RT Corporation

Authors

  • Hiroyuki Nomura

sciurus17_control

Sciurus17のためのパッケージ、 sciurus17_ros のcontrolパッケージです。

通信ポートの設定

sciurus17_controlはSciurus17に内蔵されたSciurusSpineボードとROS実行環境をUSBケーブルで接続した状態でモータ制御を行います。
SciurusSpineはセットアップ手順にあるcreate_udev_rulesの実行後にLinuxに接続すると/dev/sciurus17spineとして認識されます。

Sciurus17との接続に/dev/sciurus17spine以外を使用したい場合は、sciurus17_control/configに格納されている各yamlファイルに定義されているパラメータを変更することで設定することができます。

dynamixel_port:
  port_name: "/dev/sciurus17spine"

各ファイルには次の定義が含まれています。
sciurus17_control/config/sciurus17_control1.yaml 右腕の制御に関する定義ファイルです。
sciurus17_control/config/sciurus17_control2.yaml 左腕の制御に関する定義ファイルです。
sciurus17_control/config/sciurus17_control3.yaml 胴体(腰および首)の制御に関する定義ファイルです。

ネームスペースとトピック

sciurus17_control/sciurus17をルートとするネームスペースにパラメータやトピックを定義します。
各jointについて次のトピックを配信します。

current:電流値[mA]
dxl_position:現在角度[360/4096度]
temp:温度[度]

dynamic_reconfigure

sciurus17_controldynamic_reconfigureに対応しています。次のコマンドでrqt_reconfigureを起動してアクセスすると各Jointのサーボパラメータを変更することができます。

rosrun rqt_reconfigure rqt_reconfigure

rqt_reconfigure

各パラメータの詳細についてはROBOTIS公式のXM430およびXM540のサーボマニュアルを参照して下さい。
- XM430-W350 - XM540-W270

制御モード設定

Sciurus17は位置制御モードと電流制御モードに対応しています。基本設定は位置制御モードになっていますが、複数箇所の設定変更を行うことで電流制御モードへ切り替えることが可能です。
右腕ハンドの設定を位置制御モードから電流制御モードへ変更する手順を紹介します。

  1. サーボの設定変更
    サーボモータのOperating Mode(Address:11)を3:位置制御モードから0:電流制御モードへ設定変更する

  2. sciurus17_controlの設定変更
    sciurus17_control/config/sciurus17_control1.yamlのハンド部分について次のように変更する

right_hand_controller:
- type: "position_controllers/GripperActionController"
+ type: "effort_controllers/GripperActionController"
  publish_rate: 500
  joint: r_hand_joint
+  gains:
+    r_hand_joint: { p: 1.0, i: 0.01, d: 0.1 }
  action_monitor_rate: 10
  state_publish_rate:  100
  stalled_velocity_threshold: 0.001
  goal_tolerance: 0.05
  stall_timeout: 0.1

dynamixel_port:
  port_name: "/dev/sciurus17spine"
  baud_rate: 3000000
  joints:
    - r_arm_joint1
    - r_arm_joint2
    - r_arm_joint3
    - r_arm_joint4
    - r_arm_joint5
    - r_arm_joint6
    - r_arm_joint7
    - r_hand_joint
  r_arm_joint1: {id: 2, center: 2048, home: 2048, effort_const: 2.79, mode: 3 }
  r_arm_joint2: {id: 3, center: 2048, home: 1024, effort_const: 2.79, mode: 3 }
  r_arm_joint3: {id: 4, center: 2048, home: 2048, effort_const: 1.69, mode: 3 }
  r_arm_joint4: {id: 5, center: 2048, home: 3825, effort_const: 1.79, mode: 3 }
  r_arm_joint5: {id: 6, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
  r_arm_joint6: {id: 7, center: 2048, home:  683, effort_const: 1.79, mode: 3 }
  r_arm_joint7: {id: 8, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
- r_hand_joint: {id: 9, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
+ r_hand_joint: {id: 9, center: 2048, home: 2048, effort_const: 1.79, mode: 0 }

PIDの設定値はSciurus17を制御するROS環境によって特性が異なる可能性があります。

【電流モードに関する注意】
電流制御モードは、位置制御モードと異なり、サーボに設定された角度リミットが無効になります。
ユーザー自身で作成されたプログラムに適切な制限動作が備わっていない場合、本体の損傷や、本体が周囲や作業者に接触、あるいは衝突し、失明や打撲による死亡といった思わぬ重大事故が発生する危険があります。
ユーザーの責任において十分に安全に注意した上でご使用下さい。
当該製品および当ソフトウェアの使用中に生じたいかなる損害も株式会社アールティでは一切の責任を負いかねます。

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sciurus17_control at answers.ros.org

Package Summary

Tags No category tags.
Version 2.0.0
License Apache License 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/sciurus17_ros.git
VCS Type git
VCS Version master
Last Updated 2023-11-10
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The Sciurus17 control package

Additional Links

No additional links.

Maintainers

  • RT Corporation

Authors

  • Hiroyuki Nomura

sciurus17_control

Sciurus17のためのパッケージ、 sciurus17_ros のcontrolパッケージです。

通信ポートの設定

sciurus17_controlはSciurus17に内蔵されたSciurusSpineボードとROS実行環境をUSBケーブルで接続した状態でモータ制御を行います。
SciurusSpineはセットアップ手順にあるcreate_udev_rulesの実行後にLinuxに接続すると/dev/sciurus17spineとして認識されます。

Sciurus17との接続に/dev/sciurus17spine以外を使用したい場合は、sciurus17_control/configに格納されている各yamlファイルに定義されているパラメータを変更することで設定することができます。

dynamixel_port:
  port_name: "/dev/sciurus17spine"

各ファイルには次の定義が含まれています。
sciurus17_control/config/sciurus17_control1.yaml 右腕の制御に関する定義ファイルです。
sciurus17_control/config/sciurus17_control2.yaml 左腕の制御に関する定義ファイルです。
sciurus17_control/config/sciurus17_control3.yaml 胴体(腰および首)の制御に関する定義ファイルです。

ネームスペースとトピック

sciurus17_control/sciurus17をルートとするネームスペースにパラメータやトピックを定義します。
各jointについて次のトピックを配信します。

current:電流値[mA]
dxl_position:現在角度[360/4096度]
temp:温度[度]

dynamic_reconfigure

sciurus17_controldynamic_reconfigureに対応しています。次のコマンドでrqt_reconfigureを起動してアクセスすると各Jointのサーボパラメータを変更することができます。

rosrun rqt_reconfigure rqt_reconfigure

rqt_reconfigure

各パラメータの詳細についてはROBOTIS公式のXM430およびXM540のサーボマニュアルを参照して下さい。
- XM430-W350 - XM540-W270

制御モード設定

Sciurus17は位置制御モードと電流制御モードに対応しています。基本設定は位置制御モードになっていますが、複数箇所の設定変更を行うことで電流制御モードへ切り替えることが可能です。
右腕ハンドの設定を位置制御モードから電流制御モードへ変更する手順を紹介します。

  1. サーボの設定変更
    サーボモータのOperating Mode(Address:11)を3:位置制御モードから0:電流制御モードへ設定変更する

  2. sciurus17_controlの設定変更
    sciurus17_control/config/sciurus17_control1.yamlのハンド部分について次のように変更する

right_hand_controller:
- type: "position_controllers/GripperActionController"
+ type: "effort_controllers/GripperActionController"
  publish_rate: 500
  joint: r_hand_joint
+  gains:
+    r_hand_joint: { p: 1.0, i: 0.01, d: 0.1 }
  action_monitor_rate: 10
  state_publish_rate:  100
  stalled_velocity_threshold: 0.001
  goal_tolerance: 0.05
  stall_timeout: 0.1

dynamixel_port:
  port_name: "/dev/sciurus17spine"
  baud_rate: 3000000
  joints:
    - r_arm_joint1
    - r_arm_joint2
    - r_arm_joint3
    - r_arm_joint4
    - r_arm_joint5
    - r_arm_joint6
    - r_arm_joint7
    - r_hand_joint
  r_arm_joint1: {id: 2, center: 2048, home: 2048, effort_const: 2.79, mode: 3 }
  r_arm_joint2: {id: 3, center: 2048, home: 1024, effort_const: 2.79, mode: 3 }
  r_arm_joint3: {id: 4, center: 2048, home: 2048, effort_const: 1.69, mode: 3 }
  r_arm_joint4: {id: 5, center: 2048, home: 3825, effort_const: 1.79, mode: 3 }
  r_arm_joint5: {id: 6, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
  r_arm_joint6: {id: 7, center: 2048, home:  683, effort_const: 1.79, mode: 3 }
  r_arm_joint7: {id: 8, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
- r_hand_joint: {id: 9, center: 2048, home: 2048, effort_const: 1.79, mode: 3 }
+ r_hand_joint: {id: 9, center: 2048, home: 2048, effort_const: 1.79, mode: 0 }

PIDの設定値はSciurus17を制御するROS環境によって特性が異なる可能性があります。

【電流モードに関する注意】
電流制御モードは、位置制御モードと異なり、サーボに設定された角度リミットが無効になります。
ユーザー自身で作成されたプログラムに適切な制限動作が備わっていない場合、本体の損傷や、本体が周囲や作業者に接触、あるいは衝突し、失明や打撲による死亡といった思わぬ重大事故が発生する危険があります。
ユーザーの責任において十分に安全に注意した上でご使用下さい。
当該製品および当ソフトウェアの使用中に生じたいかなる損害も株式会社アールティでは一切の責任を負いかねます。

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sciurus17_control at answers.ros.org