- Mastering ROS for Robotics Programming
- Lentin Joseph
- 222字
- 2021-07-30 10:03:24
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.
- AngularJS Testing Cookbook
- 潮流:UI設計必修課
- 物聯網系統開發:從0到1構建IoT平臺(第2版)
- INSTANT MinGW Starter
- Mastering Ext JS
- Android底層接口與驅動開發技術詳解
- Learning Unity 2D Game Development by Example
- Mastering Android Development with Kotlin
- 單片機C語言程序設計實訓100例
- Python從入門到精通(第3版)
- 一步一步跟我學Scratch3.0案例
- Go語言從入門到精通
- 零基礎學HTML+CSS第2版
- JQuery風暴:完美用戶體驗
- Photoshop智能手機APP界面設計