Robot/Manipulator

[OpenManipulator-X][Dashing] 2. Controller Package

jstar0525 2021. 8. 17. 16:09
반응형

OpenMANIPULATOR-X controller provides basic manipulation of OpenMANIPULATOR-X. You can control DYNAMIXEL’s of OpenMANIPULATOR-X and check states of OpenMANIPULATOR-X through messages of the controller.

 

NOTE:
  • The test is done on ROS 2 Dashing Diademata installed in Ubuntu 18.04.
  • Make sure ROS dependencies are installed before performing these instructions. - Install ROS 2 Packages

 

1. Launch Controller

If you are using U2D2 as a communication converter, open a terminal then enter the following command.

$ ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py

[INFO] [launch]: All log files can be found below /home/ros/.ros/log/2021-08-17-16-12-43-328625-robotv-31033
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [open_manipulator_x_controller-1]: process started with pid [31043]
WARNING :
Please check each joint position before running OpenMANIPULATOR-X. If joints are set inappropriately, OpenMANIPULATOR-X might not start operating. The picture of OpenMANIPULATOR-X below is showing you the ideal pose of OpenMANIPULATOR-X. Please adjust each joints along with the following picture when DYNAMIXEL torque is not enabled.

 

TIP:
  • If you can’t load DYNAMIXEL, please check firmware to use ROBOTIS software (R+ Manager 2.0 or DYNAMIXEL Wizard 2.0)
  • If you would like to change DYNAMIXEL ID, please check open_manipulator_x.cpp in the open_manipulator_lib folder. The default ID is 11, 12, 13, 14 for joints and 15 for the gripper
NOTE: OpenMANIPULATOR-X controller is compatible with Protocol 2.0 which supports MX 2.0, X and Pro series. Protocol 1.0 does not support SyncRead instructions to access to multiple DYNAMIXEL’s’s simultaneously.

 

 

2. Check Setting

2. 1. Manipulator Description

NOTE:
  • The test is done on ROS 2 Dashing Diademata installed in Ubuntu 18.04.
  • Make sure ROS dependencies are installed before performing these instructions. - Install ROS 2 Packages
  • Make sure to run the OpenMANIPULATOR-X controller instructions before use of the instruction

Publish a topic message to check the OpenMANIPULATOR-X setting.

 

<Manipulator Description> will be printed on a terminal. Launch the open_manipulator_controller. It is shown that present states of the OpenMANIPULATOR-X.
This parameter is descripted on open_manipulator_x.cpp in open_manipulator_x_libs package.
~/robotis_ws/src/open_manipulator_x/open_manipulator_x_libs/src/open_manipulator_x.cpp

 

Open terminal and run below command:

$ ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py

Open another terminal and run below, you can see the publishing massage log

$ ros2 topic pub /option std_msgs/msg/String "data: print_open_manipulator_x_setting"

publisher: beginning loop
publishing #1: std_msgs.msg.String(data='print_open_manipulator_x_setting')

publishing #2: std_msgs.msg.String(data='print_open_manipulator_x_setting')

...

You can see the result below terminal

$ ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py

[INFO] [open_manipulator_x_controller-1]: process started with pid [31043]
[open_manipulator_x_controller-1] port_name and baud_rate are set to /dev/ttyUSB0, 1000000 
[open_manipulator_x_controller-1] Joint Dynamixel ID : 11, Model Name : XM430-W350
[open_manipulator_x_controller-1] Joint Dynamixel ID : 12, Model Name : XM430-W350
[open_manipulator_x_controller-1] Joint Dynamixel ID : 13, Model Name : XM430-W350
[open_manipulator_x_controller-1] Joint Dynamixel ID : 14, Model Name : XM430-W350
[open_manipulator_x_controller-1] Gripper Dynamixel ID : 15, Model Name :XM430-W350
[open_manipulator_x_controller-1] [INFO] [open_manipulator_x_controller]: Succeeded to Initialise OpenManipulator-X Controller
[open_manipulator_x_controller-1] ----------<Manipulator Description>----------
[open_manipulator_x_controller-1] <Degree of Freedom>
[open_manipulator_x_controller-1]  4.000
[open_manipulator_x_controller-1] <Number of Components>
[open_manipulator_x_controller-1]  5.000
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <World Configuration>
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -World Name : world
[open_manipulator_x_controller-1]  -Child Name : joint1
[open_manipulator_x_controller-1]  [Static Pose]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  [Dynamic Pose]
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] gripperConfiguration> [Component Type]
[open_manipulator_x_controller-1]   Tool
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint4
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : tool_dxl
[open_manipulator_x_controller-1]  -ID :  15
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  -0.015
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 0.010, Minimum : -0.010
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.010
[open_manipulator_x_controller-1]  -Velocity :  -0.000
[open_manipulator_x_controller-1]  -Acceleration :  -0.000
[open_manipulator_x_controller-1]  -Effort :  0.000
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.126, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.064
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, -0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.036, 0.025, -0.000)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.129, 0.002, 0.239)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, -0.014, -0.005
[open_manipulator_x_controller-1]  0.014, 1.000, -0.000
[open_manipulator_x_controller-1]  0.005, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint1Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : world
[open_manipulator_x_controller-1]  -Child Name 1 : joint2
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  11
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 3.142, Minimum : -3.142
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.014
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  0.000
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.012, 0.000, 0.017)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.098
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, -0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (-0.000, 0.001, 0.047)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.012, 0.000, 0.017)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, -0.014, 0.000
[open_manipulator_x_controller-1]  0.014, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint2Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint1
[open_manipulator_x_controller-1]  -Child Name 1 : joint3
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  12
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 1.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 1.571, Minimum : -2.050
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  -1.091
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  -5.380
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.059)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.139
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, -0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.010, 0.000, 0.102)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.012, 0.000, 0.076)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (0.462, -0.014, -0.887
[open_manipulator_x_controller-1]  0.006, 1.000, -0.012
[open_manipulator_x_controller-1]  0.887, 0.000, 0.462)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint3Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint2
[open_manipulator_x_controller-1]  -Child Name 1 : joint4
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  13
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 1.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 1.530, Minimum : -1.571
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.374
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  -118.360
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.024, 0.000, 0.128)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.133
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, -0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.091, 0.000, 0.000)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (-0.090, -0.001, 0.157)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (0.754, -0.014, -0.657
[open_manipulator_x_controller-1]  0.010, 1.000, -0.009
[open_manipulator_x_controller-1]  0.657, 0.000, 0.754)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint4Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint3
[open_manipulator_x_controller-1]  -Child Name 1 : gripper
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  14
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 1.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 2.000, Minimum : -1.800
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.712
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  -48.420
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.124, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.143
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.044, 0.000, 0.009)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.003, -0.000, 0.238)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, -0.014, -0.005
[open_manipulator_x_controller-1]  0.014, 1.000, -0.000
[open_manipulator_x_controller-1]  0.005, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] ---------------------------------------------
[open_manipulator_x_controller-1] ----------<Manipulator Description>----------
[open_manipulator_x_controller-1] <Degree of Freedom>
[open_manipulator_x_controller-1]  4.000
[open_manipulator_x_controller-1] <Number of Components>
[open_manipulator_x_controller-1]  5.000
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <World Configuration>
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -World Name : world
[open_manipulator_x_controller-1]  -Child Name : joint1
[open_manipulator_x_controller-1]  [Static Pose]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  [Dynamic Pose]
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] gripperConfiguration> [Component Type]
[open_manipulator_x_controller-1]   Tool
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint4
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : tool_dxl
[open_manipulator_x_controller-1]  -ID :  15
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  -0.015
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 0.010, Minimum : -0.010
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.010
[open_manipulator_x_controller-1]  -Velocity :  -0.000
[open_manipulator_x_controller-1]  -Acceleration :  -0.000
[open_manipulator_x_controller-1]  -Effort :  0.000
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.126, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.064
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, -0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.036, 0.025, -0.000)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.129, 0.002, 0.239)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, -0.014, -0.008
[open_manipulator_x_controller-1]  0.014, 1.000, -0.000
[open_manipulator_x_controller-1]  0.008, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint1Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : world
[open_manipulator_x_controller-1]  -Child Name 1 : joint2
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  11
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 3.142, Minimum : -3.142
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.014
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  0.000
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.012, 0.000, 0.017)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.098
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, -0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (-0.000, 0.001, 0.047)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.012, 0.000, 0.017)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, -0.014, 0.000
[open_manipulator_x_controller-1]  0.014, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint2Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint1
[open_manipulator_x_controller-1]  -Child Name 1 : joint3
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  12
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 1.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 1.571, Minimum : -2.050
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  -1.091
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  -2.690
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.059)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.139
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, -0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.010, 0.000, 0.102)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.012, 0.000, 0.076)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (0.462, -0.014, -0.887
[open_manipulator_x_controller-1]  0.006, 1.000, -0.012
[open_manipulator_x_controller-1]  0.887, 0.000, 0.462)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint3Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint2
[open_manipulator_x_controller-1]  -Child Name 1 : joint4
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  13
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 1.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 1.530, Minimum : -1.571
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.373
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  -121.050
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.024, 0.000, 0.128)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.133
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, -0.000, -0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.091, 0.000, 0.000)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (-0.090, -0.001, 0.157)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (0.753, -0.014, -0.658
[open_manipulator_x_controller-1]  0.010, 1.000, -0.009
[open_manipulator_x_controller-1]  0.658, 0.000, 0.753)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] 
[open_manipulator_x_controller-1] <
[open_manipulator_x_controller-1] joint4Configuration> [Component Type]
[open_manipulator_x_controller-1]   Active Joint
[open_manipulator_x_controller-1]  [Name]
[open_manipulator_x_controller-1]  -Parent Name : joint3
[open_manipulator_x_controller-1]  -Child Name 1 : gripper
[open_manipulator_x_controller-1]  [Actuator]
[open_manipulator_x_controller-1]  -Actuator Name : joint_dxl
[open_manipulator_x_controller-1]  -ID :  14
[open_manipulator_x_controller-1]  -Joint Axis : 
[open_manipulator_x_controller-1] (0.000, 1.000, 0.000)
[open_manipulator_x_controller-1]  -Coefficient :  1.000
[open_manipulator_x_controller-1]  -Position Limit : 
[open_manipulator_x_controller-1]     Maximum : 2.000, Minimum : -1.800
[open_manipulator_x_controller-1]  [Actuator Value]
[open_manipulator_x_controller-1]  -Position :  0.710
[open_manipulator_x_controller-1]  -Velocity :  0.000
[open_manipulator_x_controller-1]  -Acceleration :  0.000
[open_manipulator_x_controller-1]  -Effort :  -45.730
[open_manipulator_x_controller-1]  [Constant]
[open_manipulator_x_controller-1]  -Relative Position from parent component : 
[open_manipulator_x_controller-1] (0.124, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Relative Orientation from parent component : 
[open_manipulator_x_controller-1] (1.000, 0.000, 0.000
[open_manipulator_x_controller-1]  0.000, 1.000, 0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Mass :  0.143
[open_manipulator_x_controller-1]  -Inertia Tensor : 
[open_manipulator_x_controller-1] (0.000, 0.000, -0.000
[open_manipulator_x_controller-1]  0.000, 0.000, 0.000
[open_manipulator_x_controller-1]  -0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Center of Mass : 
[open_manipulator_x_controller-1] (0.044, 0.000, 0.009)
[open_manipulator_x_controller-1]  [Variable]
[open_manipulator_x_controller-1]  -Position : 
[open_manipulator_x_controller-1] (0.003, -0.000, 0.238)
[open_manipulator_x_controller-1]  -Orientation : 
[open_manipulator_x_controller-1] (1.000, -0.014, -0.008
[open_manipulator_x_controller-1]  0.014, 1.000, -0.000
[open_manipulator_x_controller-1]  0.008, 0.000, 1.000)
[open_manipulator_x_controller-1]  -Linear Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Linear acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular Velocity : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1]  -Angular acceleration : 
[open_manipulator_x_controller-1] (0.000, 0.000, 0.000)
[open_manipulator_x_controller-1] ---------------------------------------------

 

 

2. 2. RViz

NOTE:
  • The test is done on ROS 2 Dashing Diademata installed in Ubuntu 18.04.
  • Make sure ROS dependencies are installed before performing these instructions. - Install ROS 2 Packages

Install required package.

$ sudo apt-get install ros-dashing-joint-state-publisher

Open terminal and run below:

$ ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py

Open another terminal and run:

Load OpenMANIPULATOR-X on RViz.

$ ros2 launch open_manipulator_x_description open_manipulator_x_rviz.launch.py

NOTE:
  • If you launched the OpenMANIPULATOR-X controller before launching the open_manipulator_controller file, the robot model on RViz would be synchronized with the actual robot.
  • If you would like to check only model of OpenMANIPULATOR-X without control the actual OpenMANIPULATOR, the user can launch the RViz without the OpenMANIPULATOR-X controller. The user can change each joint by GUI, if the user launch only RViz by executing the following command :
    $ ros2 launch open_manipulator_x_description open_manipulator_x_rviz.launch.py use_gui:=true

 

 

 

ref.

https://emanual.robotis.com/docs/en/platform/openmanipulator_x/ros2_controller_package/#ros-controller-package

 

ROBOTIS e-Manual

 

emanual.robotis.com

 

반응형