官术网_书友最值得收藏!

Visualizing the robot 3D model in RViz

After designing URDF, we can view it on RViz. We can create a view_demo.launch launch file and put the following code into the launch folder. Navigate to chapter_2_code/mastering_ros_robot_description_pkg/launch for the same code:

<launch>
  <arg name="model" />
  <param name="robot_description" textfile="$(find mastering_ros_robot_description_pkg)/urdf/pan_tilt.urdf" />
  <param name="use_gui" value="true"/>

  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
  <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
  <node name="rviz" pkg="rviz" type="rviz" args="-d $(find mastering_ros_robot_description_pkg)/urdf.rviz" required="true" />

</launch>

We can launch the model using the following command:

$ roslaunch mastering_ros_robot_description_pkg view_demo.launch

If everything works fine, we will get a pan and tilt mechanism in RViz.

Figure 6 : Joint level of pan and tilt mechanism

Interacting with pan and tilt joints

We can see an extra GUI came along with RViz, which contains sliders to control pan joints and 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>

The <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/> defines the limits of effort, velocity, and 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.

Figure 6 : Joint level of pan and tilt mechanism

The preceding screenshot shows the GUI of Joint State Publisher with sliders and current joint values shown in the box.

主站蜘蛛池模板: 荣昌县| 沿河| 汉阴县| 北碚区| 台北县| 平乡县| 呼和浩特市| 丹阳市| 东乌| 牟定县| 新河县| 怀柔区| 金塔县| 疏附县| 巴青县| 嵊泗县| 大名县| 阿拉善左旗| 将乐县| 贵阳市| 永川市| 克山县| 方山县| 伊吾县| 望谟县| 沙洋县| 东辽县| 循化| 高要市| 横山县| 高邮市| 长沙县| 甘泉县| 开封市| 鸡西市| 乌兰浩特市| 钟山县| 策勒县| 绿春县| 柳州市| 若羌县|