OpenManipulator-P机械臂入门教程-舵机检测
说明
- 介绍如何在PC连上OpenManipulator机械臂后进行舵机检测
操作步骤
首先连接上机械臂和U2D2
查看端口是否存在,同时为端口添加权限
$ ls /dev/ttyUSB0
$ sudo chmod a+rw /dev/ttyUSB0
- 如果使用U2D2连接PC和OpenManipulator机械臂,其端口为
/dev/ttyUSB@
(@为端口号) - 您可以使用专用控制器程序通过消息控制 OpenMANIPULATOR-P 的每个关节并检查 OpenMANIPULATOR-P 的状态。
- 在启动控制器之前,请检查 open_manipulator_p_controller 包中的 open_manipulator_p_controller 启动文件。
- 检测舵机是否连接
rosrun dynamixel_workbench_controllers find_dynamixel /dev/ttyUSB0
- 注:但若找不到Dynamixel ID,请使用相关软件(R+ Manager 2.0 or R+ Manager 1.0)检查 Dynamixel舵机的固件
机械臂测试
- 建议启动机械臂前请将机械臂手动设置以下姿势,以避免启动后出现无法控制的问题
启动机械臂
启动roscore
roscore
- 启动open_manipulator_p_controller
$ roslaunch open_manipulator_p_controller open_manipulator_p_controller.launch
SUMMARY
========
PARAMETERS
* /open_manipulator_p/control_period: 0.01
* /open_manipulator_p/moveit_sample_duration: 0.05
* /open_manipulator_p/planning_group_name: arm
* /open_manipulator_p/using_moveit: False
* /open_manipulator_p/using_platform: True
* /rosdistro: kinetic
* /rosversion: 1.12.14
NODES
/
open_manipulator_p (open_manipulator_p_controller/open_manipulator_p_controller)
ROS_MASTER_URI=http://192.168.3.149:11311
process[open_manipulator_p-1]: started with pid [12510]
Joint Dynamixel ID : 1, Model Name : PRO-PLUS-PH54-200-S500-R
Joint Dynamixel ID : 2, Model Name : PRO-PLUS-PH54-200-S500-R
Joint Dynamixel ID : 3, Model Name : PRO-PLUS-PH54-100-S500-R
Joint Dynamixel ID : 4, Model Name : PRO-PLUS-PH54-100-S500-R
Joint Dynamixel ID : 5, Model Name : PRO-PLUS-PH42-020-S300-R
Joint Dynamixel ID : 6, Model Name : PRO-PLUS-PH42-020-S300-R
[INFO] Succeeded to init /open_manipulator_p
- 打开RViz,RViz中的模型将会与实际机器人同步
roslaunch open_manipulator_p_description open_manipulator_p_rviz.launch
- 效果如下
- 检查设置,查看机械臂的当前状态
rostopic pub /open_manipulator_p/option std_msgs/String "print_open_manipulator_prp_setting"
- 在启动机械臂的终端上会输出以下信息
----------<Manipulator Description>----------
<Degree of Freedom>
6.000
<Number of Components>
7.000
<World Configuration>
[Name]
-World Name : world
-Child Name : joint1
[Static Pose]
-Position :
(0.000, 0.000, 0.000)
-Orientation :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
[Dynamic Pose]
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
<gripperConfiguration>
[Component Type]
Tool
[Name]
-Parent Name : joint6
[Actuator]
-Actuator Name :
-ID : -1
-Joint Axis :
(0.000, 0.000, 0.000)
-Coefficient : -0.015
-Position Limit :
Maximum : 0.010, Minimum : -0.010
[Actuator Value]
-Position : 0.000
-Velocity : 0.000
-Acceleration : 0.000
-Effort : 0.000
[Constant]
-Relative Position from parent component :
(0.000, 0.000, 0.000)
-Relative Orientation from parent component :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
-Mass : 0.064
-Inertia Tensor :
(0.000, 0.000, -0.000
0.000, 0.000, -0.000
-0.000, -0.000, 0.000)
-Center of Mass :
(0.036, 0.025, -0.000)
[Variable]
-Position :
(0.223, -0.000, -0.001)
-Orientation :
(0.006, -0.004, 1.000
-0.001, 1.000, 0.004
-1.000, -0.001, 0.006)
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
<
joint1Configuration> [Component Type]
Active Joint
[Name]
-Parent Name : world
-Child Name 1 : joint2
[Actuator]
-Actuator Name : joint_dxl
-ID : 1
-Joint Axis :
(0.000, 0.000, 1.000)
-Coefficient : 1.000
-Position Limit :
Maximum : 3.142, Minimum : -3.142
[Actuator Value]
-Position : -0.001
-Velocity : 0.000
-Acceleration : 0.000
-Effort : 0.000
[Constant]
-Relative Position from parent component :
(0.000, 0.000, 0.126)
-Relative Orientation from parent component :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
-Mass : 0.098
-Inertia Tensor :
(0.000, -0.000, -0.000
-0.000, 0.000, 0.000
-0.000, 0.000, 0.000)
-Center of Mass :
(-0.000, 0.001, 0.047)
[Variable]
-Position :
(0.000, 0.000, 0.126)
-Orientation :
(1.000, 0.001, 0.000
-0.001, 1.000, 0.000
0.000, 0.000, 1.000)
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
<
joint2Configuration> [Component Type]
Active Joint
[Name]
-Parent Name : joint1
-Child Name 1 : joint3
[Actuator]
-Actuator Name : joint_dxl
-ID : 2
-Joint Axis :
(0.000, 1.000, 0.000)
-Coefficient : 1.000
-Position Limit :
Maximum : 3.142, Minimum : -3.142
[Actuator Value]
-Position : 0.517
-Velocity : 0.000
-Acceleration : 0.000
-Effort : 0.000
[Constant]
-Relative Position from parent component :
(0.000, 0.000, 0.033)
-Relative Orientation from parent component :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
-Mass : 0.139
-Inertia Tensor :
(0.000, 0.000, -0.000
0.000, 0.000, -0.000
-0.000, -0.000, 0.000)
-Center of Mass :
(0.010, 0.000, 0.102)
[Variable]
-Position :
(0.000, 0.000, 0.159)
-Orientation :
(0.869, 0.001, 0.494
-0.001, 1.000, -0.000
-0.494, 0.000, 0.869)
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
<
joint3Configuration> [Component Type]
Active Joint
[Name]
-Parent Name : joint2
-Child Name 1 : joint4
[Actuator]
-Actuator Name : joint_dxl
-ID : 3
-Joint Axis :
(0.000, 1.000, 0.000)
-Coefficient : 1.000
-Position Limit :
Maximum : 3.142, Minimum : -3.142
[Actuator Value]
-Position : 0.915
-Velocity : 0.000
-Acceleration : 0.000
-Effort : 0.000
[Constant]
-Relative Position from parent component :
(0.030, 0.000, 0.264)
-Relative Orientation from parent component :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
-Mass : 0.133
-Inertia Tensor :
(0.000, -0.000, -0.000
-0.000, 0.000, 0.000
-0.000, 0.000, 0.000)
-Center of Mass :
(0.091, 0.000, 0.000)
[Variable]
-Position :
(0.157, -0.000, 0.374)
-Orientation :
(0.138, 0.001, 0.990
-0.000, 1.000, -0.001
-0.990, 0.000, 0.138)
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
<
joint4Configuration> [Component Type]
Active Joint
[Name]
-Parent Name : joint3
-Child Name 1 : joint5
[Actuator]
-Actuator Name : joint_dxl
-ID : 4
-Joint Axis :
(1.000, 0.000, 0.000)
-Coefficient : 1.000
-Position Limit :
Maximum : 3.142, Minimum : -3.142
[Actuator Value]
-Position : -0.007
-Velocity : 0.000
-Acceleration : 0.000
-Effort : 0.000
[Constant]
-Relative Position from parent component :
(0.195, 0.000, 0.030)
-Relative Orientation from parent component :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
-Mass : 0.143
-Inertia Tensor :
(0.000, 0.000, -0.000
0.000, 0.000, 0.000
-0.000, 0.000, 0.000)
-Center of Mass :
(0.044, 0.000, 0.009)
[Variable]
-Position :
(0.213, -0.000, 0.185)
-Orientation :
(0.138, -0.006, 0.990
-0.000, 1.000, 0.006
-0.990, -0.001, 0.138)
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
<
joint5Configuration> [Component Type]
Active Joint
[Name]
-Parent Name : joint4
-Child Name 1 : joint6
[Actuator]
-Actuator Name : joint_dxl
-ID : 5
-Joint Axis :
(0.000, 1.000, 0.000)
-Coefficient : 1.000
-Position Limit :
Maximum : 3.142, Minimum : -3.142
[Actuator Value]
-Position : 0.132
-Velocity : 0.000
-Acceleration : 0.000
-Effort : 0.000
[Constant]
-Relative Position from parent component :
(0.063, 0.000, 0.000)
-Relative Orientation from parent component :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
-Mass : 0.143
-Inertia Tensor :
(0.000, 0.000, -0.000
0.000, 0.000, 0.000
-0.000, 0.000, 0.000)
-Center of Mass :
(0.044, 0.000, 0.009)
[Variable]
-Position :
(0.222, -0.000, 0.122)
-Orientation :
(0.006, -0.006, 1.000
-0.001, 1.000, 0.006
-1.000, -0.001, 0.006)
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
<
joint6Configuration> [Component Type]
Active Joint
[Name]
-Parent Name : joint5
-Child Name 1 : gripper
[Actuator]
-Actuator Name : joint_dxl
-ID : 6
-Joint Axis :
(1.000, 0.000, 0.000)
-Coefficient : 1.000
-Position Limit :
Maximum : 3.142, Minimum : -3.142
[Actuator Value]
-Position : 0.002
-Velocity : 0.000
-Acceleration : 0.000
-Effort : -2.690
[Constant]
-Relative Position from parent component :
(0.123, 0.000, 0.000)
-Relative Orientation from parent component :
(1.000, 0.000, 0.000
0.000, 1.000, 0.000
0.000, 0.000, 1.000)
-Mass : 0.143
-Inertia Tensor :
(0.000, 0.000, -0.000
0.000, 0.000, 0.000
-0.000, 0.000, 0.000)
-Center of Mass :
(0.044, 0.000, 0.009)
[Variable]
-Position :
(0.223, -0.000, -0.001)
-Orientation :
(0.006, -0.004, 1.000
-0.001, 1.000, 0.004
-1.000, -0.001, 0.006)
-Linear Velocity :
(0.000, 0.000, 0.000)
-Linear acceleration :
(0.000, 0.000, 0.000)
-Angular Velocity :
(0.000, 0.000, 0.000)
-Angular acceleration :
(0.000, 0.000, 0.000)
---------------------------------------------
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号