This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
intranet:projects:robot:armtopics [2014/08/26 11:36] c7031109 |
intranet:projects:robot:armtopics [2018/09/03 19:35] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | =====General startup information===== | ||
===Starting the KRL Script=== | ===Starting the KRL Script=== | ||
Start the Orocos scripts on the robot contoller. Do not do this alone if you use the robot for the first time. Contact the responsible person listed [[intranet:projects:robot:maintainers|here]]. | Start the Orocos scripts on the robot contoller. Do not do this alone if you use the robot for the first time. Contact the responsible person listed [[intranet:projects:robot:maintainers|here]]. | ||
Line 16: | Line 17: | ||
respectively (depending on the script you are running on the KUKA controller side). As soon as you have started both scripts, you should be able to see the arm control topics listed below. | respectively (depending on the script you are running on the KUKA controller side). As soon as you have started both scripts, you should be able to see the arm control topics listed below. | ||
+ | |||
+ | ===Using the robot in compliant mode to do gesture demonstration=== | ||
+ | In order to be able to manipulate the robot by hand to record gesture, follow these steps : | ||
+ | |||
+ | - Start the FriOrocos script normally in AUT mode (Spiral) | ||
+ | - Start roscore / arm / gripper scripts as indicated previously | ||
+ | - Through ROS, switch mode to mode 0 (Monitor mode, that should be acknowledged on the KCP) then switch to mode 30 (mode 101 not working at this date - June 23rd, 2017). You can just adjust the impedance (stiffness/damping) to make the robot more compliant : | ||
+ | |||
+ | rostopic pub /real/right_arm/joint_control/set_impedance iis_robot_dep/FriJointImpedance "stiffness: [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] | ||
+ | damping: [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]" | ||
+ | |||
+ | **BEWARE !!! If you set the impedance values back to a less compliant system, the arm will try to reach VERY FAST back to its initial position before manipulation. Thus, anything on the path will be damaged !!! Be sure to bring manually the arm back to its starting position to reduce this effect !** | ||
+ | |||
=====Arm Control Topics===== | =====Arm Control Topics===== | ||
Line 71: | Line 85: | ||
dim: [] | dim: [] | ||
data_offset: 0 | data_offset: 0 | ||
- | data: [42.400001525878906, 46.20000076293945, 45.900001525878906, 46.70000076293945, 45.900001525878906, 62.400001525878906, 61.20000076293945] | + | data: [42.40, 46.20, 45.90, 46.70, 45.90, 62.40, 61.20] |
===sensoring/state=== | ===sensoring/state=== | ||
Line 246: | Line 260: | ||
axismaxdeltatrq: 0.0 | axismaxdeltatrq: 0.0 | ||
- | ===cartesian_control/get_pose=== | + | ===cartesian_control/get_pose_dir=== |
- | Returns cartesian pose of the arm | + | Returns cartesian pose of the arm In World space. The first 3 elements are the Cartesian position, the next 3 are the orientation of end-effector and the last one is the rotation around the end-effector axis |
+ | |||
+ | Message type: | ||
+ | std_msgs/Float64MultiArray | ||
+ | |||
+ | Sample call: | ||
+ | rostopic echo /real/right_arm/cartesian_control/get_pose_dir | ||
+ | |||
+ | Sample output: | ||
+ | layout: | ||
+ | dim: [] | ||
+ | data_offset: 0 | ||
+ | data: [-0.1646200986390433, -0.30508448189857773, 0.23461338424203065, 0.3470495466622819, -0.8735133502317335, -0.34131054534893845, 0.9007184461592337] | ||
+ | |||
+ | ===cartesian_control/get_pose_quat=== | ||
+ | Returns cartesian pose of the arm in World space | ||
Message type: | Message type: | ||
Line 253: | Line 282: | ||
Sample call: | Sample call: | ||
- | rostopic echo /real/right_arm/cartesian_control/get_pose | + | rostopic echo /real/right_arm/cartesian_control/get_pose_quat |
Sample output: | Sample output: | ||
Line 358: | Line 387: | ||
===cartesian_control/ptp=== | ===cartesian_control/ptp=== | ||
- | Movement in Cartesian space for point to point movement. The robot has to be in an appropriate control mode before using this topic (otherwise it will not move) (see settings/switch_mode). | + | Movement in Cartesian space for point to point movement (see cartesian_control/get_pose_dir for the message structure). The robot has to be in an appropriate control mode before using this topic (otherwise it will not move) (see settings/switch_mode). |
Message type: | Message type: | ||
Line 372: | Line 401: | ||
data: [-0.16415267011979597, -0.30530589495884486, 0.23607497182886716, 0.3474850741947719, -0.8739457439933868, -0.33975740849966135, 0.9000890133095816]" | data: [-0.16415267011979597, -0.30530589495884486, 0.23607497182886716, 0.3474850741947719, -0.8739457439933868, -0.33975740849966135, 0.9000890133095816]" | ||
+ | ===/simulation/right_arm/cartesian_control/ptpQuaternion=== | ||
+ | Movement in Cartesian space for point to point movement. The robot has to be in an appropriate control mode before using this topic (otherwise it will not move) (see settings/switch_mode). | ||
+ | |||
+ | Message type: | ||
+ | geometry_msgs/Pose | ||
+ | |||
+ | Sample call: | ||
+ | rostopic pub /simulation/left_arm/cartesian_control/ptpQuaternion geometry_msgs/Pose "position: | ||
+ | x: -0.38878687339 | ||
+ | y: 1.80645028202 | ||
+ | z: 0.240840127477 | ||
+ | orientation: | ||
+ | x: 0.0784292923653 | ||
+ | y: 0.788223576718 | ||
+ | z: 0.5547947503 | ||
+ | w: 0.254470194702" | ||
+ | |||
+ | | ||
===cartesian_control/set_impedance=== | ===cartesian_control/set_impedance=== | ||
Sets cartesian impedance values (stiffness, damping, cpmaxdelta, maxforce, axismaxdeltatrq) | Sets cartesian impedance values (stiffness, damping, cpmaxdelta, maxforce, axismaxdeltatrq) |