![]() |
sciurus17_control package from sciurus17 reposciurus17 sciurus17_control sciurus17_examples sciurus17_gazebo sciurus17_moveit_config sciurus17_tools sciurus17_vision |
|
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
Additional Links
Maintainers
- RT Corporation
Authors
- Hiroyuki Nomura
- Atsushi Kuwagata
sciurus17_control
このパッケージはros2_control をベースにした、Sciurus17 のコントローラパッケージです。
ros2_control関連ファイル
-
sciurus17_control::Sciurus17Hardware (sciurus17_hardware)
- 本パッケージがエクスポートするHardware Componentsです
- Sciurus17実機と通信します
- sciurus17_descriptionから読み込まれます
-
launch/sciurus17_control.launch.py
- Controller Managerとコントローラを起動するlaunchファイルです
-
config/sciurus17_controllers.yaml
- Controller Managerのパラメータファイルです
実機のセットアップ
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
は
ライブラリが読み込むサーボ設定ファイルへのパスを設定します。
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | ament_cmake | |
1 | ament_lint_auto | |
1 | ament_lint_common | |
2 | controller_manager | |
0 | sciurus17_description | |
1 | gripper_controllers | |
2 | hardware_interface | |
1 | pluginlib | |
1 | rclcpp | |
1 | ros2_controllers | |
1 | rt_manipulators_cpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sciurus17_control at answers.ros.org
![]() |
sciurus17_control package from sciurus17 reposciurus17 sciurus17_bringup sciurus17_control sciurus17_examples sciurus17_gazebo sciurus17_moveit_config sciurus17_msgs sciurus17_tools sciurus17_vision |
|
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
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_control
はdynamic_reconfigure
に対応しています。次のコマンドでrqt_reconfigure
を起動してアクセスすると各Jointのサーボパラメータを変更することができます。
rosrun rqt_reconfigure rqt_reconfigure
各パラメータの詳細についてはROBOTIS公式のXM430およびXM540のサーボマニュアルを参照して下さい。
- XM430-W350
- XM540-W270
制御モード設定
Sciurus17は位置制御モードと電流制御モードに対応しています。基本設定は位置制御モードになっていますが、複数箇所の設定変更を行うことで電流制御モードへ切り替えることが可能です。
右腕ハンドの設定を位置制御モードから電流制御モードへ変更する手順を紹介します。
サーボの設定変更
サーボモータのOperating Mode
(Address:11)を3:位置制御モード
から0:電流制御モード
へ設定変更する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環境によって特性が異なる可能性があります。
【電流モードに関する注意】
電流制御モードは、位置制御モードと異なり、サーボに設定された角度リミットが無効になります。
ユーザー自身で作成されたプログラムに適切な制限動作が備わっていない場合、本体の損傷や、本体が周囲や作業者に接触、あるいは衝突し、失明や打撲による死亡といった思わぬ重大事故が発生する危険があります。
ユーザーの責任において十分に安全に注意した上でご使用下さい。
当該製品および当ソフトウェアの使用中に生じたいかなる損害も株式会社アールティでは一切の責任を負いかねます。
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/sciurus17_control.launch
- launch/controller3.launch
- launch/sciurus17_fake_control.launch
-
- use_effort_right_arm [default: false]
- use_effort_left_wrist [default: false]
- launch/controller2.launch
- launch/controller1.launch
Messages
Services
Plugins
Recent questions tagged sciurus17_control at answers.ros.org
![]() |
sciurus17_control package from sciurus17 reposciurus17 sciurus17_bringup sciurus17_control sciurus17_examples sciurus17_gazebo sciurus17_moveit_config sciurus17_msgs sciurus17_tools sciurus17_vision |
|
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
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_control
はdynamic_reconfigure
に対応しています。次のコマンドでrqt_reconfigure
を起動してアクセスすると各Jointのサーボパラメータを変更することができます。
rosrun rqt_reconfigure rqt_reconfigure
各パラメータの詳細についてはROBOTIS公式のXM430およびXM540のサーボマニュアルを参照して下さい。
- XM430-W350
- XM540-W270
制御モード設定
Sciurus17は位置制御モードと電流制御モードに対応しています。基本設定は位置制御モードになっていますが、複数箇所の設定変更を行うことで電流制御モードへ切り替えることが可能です。
右腕ハンドの設定を位置制御モードから電流制御モードへ変更する手順を紹介します。
サーボの設定変更
サーボモータのOperating Mode
(Address:11)を3:位置制御モード
から0:電流制御モード
へ設定変更する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環境によって特性が異なる可能性があります。
【電流モードに関する注意】
電流制御モードは、位置制御モードと異なり、サーボに設定された角度リミットが無効になります。
ユーザー自身で作成されたプログラムに適切な制限動作が備わっていない場合、本体の損傷や、本体が周囲や作業者に接触、あるいは衝突し、失明や打撲による死亡といった思わぬ重大事故が発生する危険があります。
ユーザーの責任において十分に安全に注意した上でご使用下さい。
当該製品および当ソフトウェアの使用中に生じたいかなる損害も株式会社アールティでは一切の責任を負いかねます。
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/sciurus17_control.launch
- launch/controller3.launch
- launch/sciurus17_fake_control.launch
-
- use_effort_right_arm [default: false]
- use_effort_left_wrist [default: false]
- launch/controller2.launch
- launch/controller1.launch
Messages
Services
Plugins
Recent questions tagged sciurus17_control at answers.ros.org
![]() |
sciurus17_control package from sciurus17 reposciurus17 sciurus17_bringup sciurus17_control sciurus17_examples sciurus17_gazebo sciurus17_moveit_config sciurus17_msgs sciurus17_tools sciurus17_vision |
|
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
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_control
はdynamic_reconfigure
に対応しています。次のコマンドでrqt_reconfigure
を起動してアクセスすると各Jointのサーボパラメータを変更することができます。
rosrun rqt_reconfigure rqt_reconfigure
各パラメータの詳細についてはROBOTIS公式のXM430およびXM540のサーボマニュアルを参照して下さい。
- XM430-W350
- XM540-W270
制御モード設定
Sciurus17は位置制御モードと電流制御モードに対応しています。基本設定は位置制御モードになっていますが、複数箇所の設定変更を行うことで電流制御モードへ切り替えることが可能です。
右腕ハンドの設定を位置制御モードから電流制御モードへ変更する手順を紹介します。
サーボの設定変更
サーボモータのOperating Mode
(Address:11)を3:位置制御モード
から0:電流制御モード
へ設定変更する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環境によって特性が異なる可能性があります。
【電流モードに関する注意】
電流制御モードは、位置制御モードと異なり、サーボに設定された角度リミットが無効になります。
ユーザー自身で作成されたプログラムに適切な制限動作が備わっていない場合、本体の損傷や、本体が周囲や作業者に接触、あるいは衝突し、失明や打撲による死亡といった思わぬ重大事故が発生する危険があります。
ユーザーの責任において十分に安全に注意した上でご使用下さい。
当該製品および当ソフトウェアの使用中に生じたいかなる損害も株式会社アールティでは一切の責任を負いかねます。
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/sciurus17_control.launch
- launch/controller3.launch
- launch/sciurus17_fake_control.launch
-
- use_effort_right_arm [default: false]
- use_effort_left_wrist [default: false]
- launch/controller2.launch
- launch/controller1.launch