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 Robotics Stack Exchange

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-12-26
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

English | 日本語

The control package for Sciurus17.

Communication port settings

sciurus17_control communicates with the SciurusSpine board built into Sciurus17 via USB for motor control.

SciurusSpine is recognized as /dev/sciurus17spine when connected to Linux after execution of create_udev_rules in the setup procedure.

If you want to use a device name other than /dev/sciurus17spine for connection to Sciurus17, you need to change the parameters defined in each yaml file in sciurus17_control/config.

dynamixel_port:
  port_name: "/dev/sciurus17spine"

Each file contains the following definitions.

  • sciurus17_control/config/sciurus17_control1.yaml defines parameters for right arm control.
  • sciurus17_control/config/sciurus17_control2.yaml defines parameters for left arm control.
  • sciurus17_control/config/sciurus17_control3.yaml defines parameters for torso (waist and neck) control.

Namespaces and topics

sciurus17_control defines parameters and topics in a namespace whose root is /sciurus17.

The node publishes the following topics for each joint.

  • current: current value [mA].
  • dxl_position: current angle [360/4096 degrees].
  • temp: temperature [degree].

Dynamic reconfigure

sciurus17_control can change the servo parameters of each Joint with dynamic_reconfigure.

Start rqt_reconfigure with the following command.

rosrun rqt_reconfigure rqt_reconfigure

rqt_reconfigure

Please refer to the official ROBOTIS XM430 and XM540 servo manuals for details on each parameter.

Control mode settings

Sciurus17 supports position control mode and current control mode. The default setting is position control mode, and it can be switched to current control mode by changing the settings in several places.

The following is the procedure to change the setting of the right hand from position control mode to current control mode.

1.Change the servo setting.

Change Operating Mode (Address: 11) of the servo motor from 3: Position Control Mode to 0: Current Control Mode

2.Change the setting of sciurus17_control.

Change the hand part of sciurus17_control/config/sciurus17_control1.yaml as follows

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 }

The PID setting values may have different characteristics depending on the ROS environment in which Sciurus17 is controlled.

Caution on current mode

Unlike the position control mode, the angle limit set on the servo becomes invalid in the current control mode.
If the user's own program is not equipped with the appropriate limit action, there is a risk of serious accidents such as damage to the main unit, contact or collision of the main unit with surroundings or the operator, loss of eyesight, or death due to bruising.
The user is responsible for the usage of this product, and they must exercise due care for safety.
RT Corporation has no responsibility for any damage that occured during the usage of the product or this software.

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 Robotics Stack Exchange

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-12-26
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

English | 日本語

The control package for Sciurus17.

Communication port settings

sciurus17_control communicates with the SciurusSpine board built into Sciurus17 via USB for motor control.

SciurusSpine is recognized as /dev/sciurus17spine when connected to Linux after execution of create_udev_rules in the setup procedure.

If you want to use a device name other than /dev/sciurus17spine for connection to Sciurus17, you need to change the parameters defined in each yaml file in sciurus17_control/config.

dynamixel_port:
  port_name: "/dev/sciurus17spine"

Each file contains the following definitions.

  • sciurus17_control/config/sciurus17_control1.yaml defines parameters for right arm control.
  • sciurus17_control/config/sciurus17_control2.yaml defines parameters for left arm control.
  • sciurus17_control/config/sciurus17_control3.yaml defines parameters for torso (waist and neck) control.

Namespaces and topics

sciurus17_control defines parameters and topics in a namespace whose root is /sciurus17.

The node publishes the following topics for each joint.

  • current: current value [mA].
  • dxl_position: current angle [360/4096 degrees].
  • temp: temperature [degree].

Dynamic reconfigure

sciurus17_control can change the servo parameters of each Joint with dynamic_reconfigure.

Start rqt_reconfigure with the following command.

rosrun rqt_reconfigure rqt_reconfigure

rqt_reconfigure

Please refer to the official ROBOTIS XM430 and XM540 servo manuals for details on each parameter.

Control mode settings

Sciurus17 supports position control mode and current control mode. The default setting is position control mode, and it can be switched to current control mode by changing the settings in several places.

The following is the procedure to change the setting of the right hand from position control mode to current control mode.

1.Change the servo setting.

Change Operating Mode (Address: 11) of the servo motor from 3: Position Control Mode to 0: Current Control Mode

2.Change the setting of sciurus17_control.

Change the hand part of sciurus17_control/config/sciurus17_control1.yaml as follows

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 }

The PID setting values may have different characteristics depending on the ROS environment in which Sciurus17 is controlled.

Caution on current mode

Unlike the position control mode, the angle limit set on the servo becomes invalid in the current control mode.
If the user's own program is not equipped with the appropriate limit action, there is a risk of serious accidents such as damage to the main unit, contact or collision of the main unit with surroundings or the operator, loss of eyesight, or death due to bruising.
The user is responsible for the usage of this product, and they must exercise due care for safety.
RT Corporation has no responsibility for any damage that occured during the usage of the product or this software.

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 Robotics Stack Exchange

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-12-26
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

English | 日本語

The control package for Sciurus17.

Communication port settings

sciurus17_control communicates with the SciurusSpine board built into Sciurus17 via USB for motor control.

SciurusSpine is recognized as /dev/sciurus17spine when connected to Linux after execution of create_udev_rules in the setup procedure.

If you want to use a device name other than /dev/sciurus17spine for connection to Sciurus17, you need to change the parameters defined in each yaml file in sciurus17_control/config.

dynamixel_port:
  port_name: "/dev/sciurus17spine"

Each file contains the following definitions.

  • sciurus17_control/config/sciurus17_control1.yaml defines parameters for right arm control.
  • sciurus17_control/config/sciurus17_control2.yaml defines parameters for left arm control.
  • sciurus17_control/config/sciurus17_control3.yaml defines parameters for torso (waist and neck) control.

Namespaces and topics

sciurus17_control defines parameters and topics in a namespace whose root is /sciurus17.

The node publishes the following topics for each joint.

  • current: current value [mA].
  • dxl_position: current angle [360/4096 degrees].
  • temp: temperature [degree].

Dynamic reconfigure

sciurus17_control can change the servo parameters of each Joint with dynamic_reconfigure.

Start rqt_reconfigure with the following command.

rosrun rqt_reconfigure rqt_reconfigure

rqt_reconfigure

Please refer to the official ROBOTIS XM430 and XM540 servo manuals for details on each parameter.

Control mode settings

Sciurus17 supports position control mode and current control mode. The default setting is position control mode, and it can be switched to current control mode by changing the settings in several places.

The following is the procedure to change the setting of the right hand from position control mode to current control mode.

1.Change the servo setting.

Change Operating Mode (Address: 11) of the servo motor from 3: Position Control Mode to 0: Current Control Mode

2.Change the setting of sciurus17_control.

Change the hand part of sciurus17_control/config/sciurus17_control1.yaml as follows

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 }

The PID setting values may have different characteristics depending on the ROS environment in which Sciurus17 is controlled.

Caution on current mode

Unlike the position control mode, the angle limit set on the servo becomes invalid in the current control mode.
If the user's own program is not equipped with the appropriate limit action, there is a risk of serious accidents such as damage to the main unit, contact or collision of the main unit with surroundings or the operator, loss of eyesight, or death due to bruising.
The user is responsible for the usage of this product, and they must exercise due care for safety.
RT Corporation has no responsibility for any damage that occured during the usage of the product or this software.

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 Robotics Stack Exchange