Interacting with pan-and-tilt joints
We can see that an extra GUI came along with RViz; it contains sliders to control the pan joints and the tilt joints. This GUI is called the Joint State Publisher node, from the joint_state_publisher package:
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
We can include this node in the launch file, using this statement. The limits of pan-and-tilt should be mentioned inside the joint tag:
<joint name="pan_joint" type="revolute"> <parent link="base_link"/> <child link="pan_link"/> <origin xyz="0 0 0.1"/> <axis xyz="0 0 1" /> <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/> <dynamics damping="50" friction="1"/> </joint>
<limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/> defines the limits of effort, the velocity, and the angle limits. The effort is the maximum force supported by this joint; lower and upper indicate the lower and upper limit of the joint in the radian for the revolute type joint, and meters for prismatic joints. The velocity is the maximum joint velocity:
The preceding screenshot shows the GUI of joint_state_publisher, with sliders and current joint values shown in the box.