0% found this document useful (0 votes)
171 views41 pages

06 ROS Tools

Various ROS tools are available for robot development including RViz for 3D visualization, RQT for GUI development, and ROS command line tools. RViz allows visualization of sensor data like lasers and cameras. It can also show robot configurations and planned motions. RQT is a GUI toolbox built on Qt that provides plugins for visualizing topics, services, and nodes. It includes tools like rqt_graph for visualizing node connections and rqt_bag for playing back recorded data. These tools improve the efficiency of robot development through powerful visualization and GUI capabilities.

Uploaded by

aDun iDei
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views41 pages

06 ROS Tools

Various ROS tools are available for robot development including RViz for 3D visualization, RQT for GUI development, and ROS command line tools. RViz allows visualization of sensor data like lasers and cameras. It can also show robot configurations and planned motions. RQT is a GUI toolbox built on Qt that provides plugins for visualizing topics, services, and nodes. It includes tools like rqt_graph for visualizing node connections and rqt_bag for playing back recorded data. These tools improve the efficiency of robot development through powerful visualization and GUI capabilities.

Uploaded by

aDun iDei
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

ROS Tools

Textbook
P. 128~147

1
Index

I. 3D Visualization Tool (Rviz)

II. ROS GUI Development Tool (rqt)

Textbook
P. 128~147

2
Various Development Tools for ROS
 Provides various development tools needed for robot development
 Improving the efficiency of robot development

 Command-Line Tools
• Robot access only with commands provided by ROS without GUI
& Use almost all ROS features

 RViz
• Provides powerful 3D visualization tool
• Visualizes sensor data such as laser, camera, etc.
• Represents robot configuration and planned motion

 RQT
• Provides Qt-based framework for developing graphic interface
• Displays nodes and connection information between them (rqt_graph)
• Floats encoder, voltage, or number that changes over time (rqt_plot)
• Records data in message form and play back (rqt_bag)

 Gazebo
• 3D simulator which supports physics engine, robot, sensor, environmental model, etc.
• High compatibility with ROS

http://www.ros.org/core-components/ 3
Visualization Tool: RViz

4
RViz (ROS Visualization Tool)
• 3D visualization tool for ROS
• Visualization of sensor data
• Distance data of LASER distance sensor(LDS)
• Point cloud data from depth camera such as ‘RealSense’, ‘Kinect’, ‘Xtion’, etc.
• Image data of camera
• Inertia data of IMU sensor ...

• Represents robot configuration and planned motion


• URDF(Unified Robot Description Format)

• Navigation

• Manipulation

• Tele-operation
RViz Example #1
• Point cloud data of ‘Kinect’

https://youtu.be/OqOkpZBOpxY 6
RViz Example #2
• Distance data of LASER distance sensor(LDS)

https://youtu.be/qtoAJ1wzB6s 7
RViz Example #3
• Inertia data of IMU sensor

https://youtu.be/j5v5fKppcQo 8
RViz Example #4
• Video of point cloud, color, depth of ‘RealSense’

https://youtu.be/Jf4kgPEzY4s 9
RViz Example #5
• Show skeleton and direction of a person

https://youtu.be/ath8uNv9c_Q 10
RViz Example #6
• R2-D2 robot model
$ sudo apt-get install ros-kinetic-urdf-tutorial
$ roslaunch urdf_tutorial display.launch model:='$(find urdf_tutorial)'urdf/05-visual.urdf

11
RViz Example #7
• Environment model, robot, path

https://youtu.be/9lbuLAD1c_4 12
RViz Example #8
• Map display, navigation, and assign destination

https://youtu.be/VYlMywwYALU 13
RViz Example #9
• IK target position and path display using interactive markers

14
RViz Example #10
• Disaster relief robots (2015 DARPA Robotics Challenge)

https://www.youtube.com/user/DARPAtv 15
RViz Installation and Test
• RViz Installation
$ sudo apt-get install ros-kinetic-rviz
* If you installed ‘ros-kinetic-desktop-full’, RViz will be installed by default

• Run RViz
$ rosrun rviz rviz

or
$ rviz

16
RViz initial screen (not configured yet)

17
Screen configuration of RViz (for LDS)
③ ①
④ ⑤

② 1. 3D view
2. Display
3. Menu
4. Tools
5. View types
6. Time

⑥ 18
Display type of RViz (Click ‘ADD’ in Display Menu)

Axes Path
Camera Point cloud
Depth cloud Point cloud2
Effort Point stamped
Fluid pressure Polygon
Grid Pose
Grid cells (used for map) Pose array
Group Range
Illuminance Temperature
Video Robot model
Interactive marker TF
Laser scan Relative Humidity
Map WrenchStamped
Marker
Marker array
Odometry

19
With ‘RViz’,
Sensor and Robot Related
Data Visualization becomes Very Simple!

20
GUI Tool Box: RQT

21
RQT: Plug-in Type Comprehensive GUI Tool for ROS
• Starting with the ROS Fuerte version, the existing ‘rxbag’, ‘rxplot’, ‘rxgraph’, etc. have
been merged with ‘rqt’. It is now available as comprehensive GUI tool for ROS with
plug-ins such as ‘rqt_bag’, ‘rqt_plot’, ‘rqt_graph’, etc.
• Since ‘rqt’ is developed with ‘Qt’, users can freely add and develop plugins
• Let’s take a look at ’rqt_image_view’, ‘rqt_graph’, ‘rqt_plot’, ‘rqt_bag’ which are
representative plugins of ‘rqt’

• In addition, there are plugins such as


• rqt_action, rqt_gui, rqt_plot, rqt_runtime_monitorrqt_bag, rqt_gui_cpp, rqt_pose_view,
rqt_rvizrqt_bag_plugins, rqt_gui_py, rqt_publisher, rqt_service_callerrqt_capabilities,
rqt_image_view, rqt_py_common, rqt_shellrqt_console, rqt_launch, rqt_py_console,
rqt_srvrqt_controller_manager, rqt_logger_level, rqt_reconfigure, rqt_tf_treerqt_dep,
rqt_moveit, rqt_robot_dashboard, rqt_toprqt_ez_publisher, rqt_msg, rqt_robot_monitor,
rqt_topicrqt_graph, rqt_nav_view, rqt_robot_steering, rqt_web, etc. ( wow.. ㅡㅡ;; )
RQT Installation and Test
• RQT Installation
$ sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins

• RQT Run

$ rqt
RQT Plug-in #1
1. Action
• Action Type Browser | Check the data structure of action type

2. Configuration
• Dynamic Reconfigure | Change the GUI setting value to change the setting value provide by the nodes
• Launch | GUI version of ‘roslaunch’

3. Introspection
• Node Graph | Graph view showing relationship diagrams and message flow of running nodes
• Package Graph | Graph view showing node dependencies
• Process Monitor | Check CPU utilization, memory usage, and number of threads of running nodes

4. Logging
• Bag | ROS data logging
• Console | Check for messages such as warning, error that occur on the nodes
• Logger Level | Select and display logger information such as Debug, Info, Warn, Error, Fatal

24
RQT Plug-in #2
5. Miscellaneous Tools
• Python Console | Python console screen
• Shell | Activate shell
• Web | Activate web browser

6. Robot
• Depending on the robot, add a plug-in such as a dashboard

7. Robot Tools
• Controller Manager | Plug-in required to control the controller
• Diagnostic Viewer | Check robot device and error
• Moveit! Monitor | Check ‘Moveit!’ data used in robot arm planning
• Robot Steering | Robot adjustment GUI tool, used in remote control to steer the robot
• Runtime Monitor | Check for errors and warning on nodes in real time

25
RQT Plug-in #3
8. Services
• Service Caller | Connect to the running service server and request service
• Service Type Browser | Check the data structure of the service type

9. Topics
• Easy Message Publisher | Publish topic in GUI environment
• Topic Publisher | Create and publish topic
• Topic Type Browser | Check the data structure of the topic type
• Topic Monitor | Check the information of selected topic

10. Visualization
• Image View | Check image data of camera
• Navigation Viewer | Check location and target point of robot navigation
• Plot | 2D data plot GUI plug-in, 2D data plotting
• Pose View | Show current TF location and model location
• RViz | Rviz plug-in which is 3D visualization tool
• TF Tree | Graph view showing tf relation as a tree structure
26
RQT Example

http://www.ros.org/core-components/ 27
RQT Practice #1: rqt_image_view
$ rosrun uvc_camera uvc_camera_node

$ rqt ( Select [Plugins] → [Visualization] → [Image View] in menu )

or
$ rqt_image_view

28
RQT Practice #2: rqt_graph
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key
$ rosrun uvc_camera uvc_camera_node
$ rosrun image_view image_view image:=image_raw

$ rqt ( Select [Plugins] → [Introspection] → [Node_Graph] in menu )

or
$ rqt_graph

29
RQT Practice #3: rqt_plot
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key

$ rqt ( Select [Plugins] → [Visualization] → [Plot] in menu )

or
$ rqt_plot /turtle1/pose/

30
RQT Practice #4: rqt_bag
$ rosrun uvc_camera uvc_camera_node
$ rosbag record /image_raw

$ rqt ( Select [Plugins] → [Logging] → [Bag] in menu )

or
$ rqt_bag

31
Using RQT
1. ROS available in GUI form
2. Easy to create GUI Tool!

32
3D Simulator: Gazebo

33
Gazebo
• Gazebo is 3D Simulator with Physics Engine, Robot model, Sensor,
Environment model, and so on. It helps you to get data similar to the one in
real environment.
• Gazebo is regarded as the best simulator among recently-introduced Open
Simulator. In addition, it is selected as an official simulator for DARPA
Robotics Challenge
• It is highly compatible with ROS.

http://gazebosim.org/ 34
Gazebo

https://youtu.be/R3xUKYcG_bc 35
Key Point?
If you need Simulation,
It is easy to work with ROS &
Gazebo!!
Question Time!
Advertisement #1

Download link
Language:
English, Chinese, Japanese, Korean

“ROS Robot Programming”


A Handbook is written by TurtleBot3 Developers
Advertisement #2

AI Research Starts Here


ROS Official Platform
TurtleBot3 is a new generation mobile robot that’s modular, compact and
customizable. Let's explore ROS and create exciting applications for education,
research and product development.

Direct Link
Advertisement #3

www.robotsource.org
The ‘RobotSource’ community is the space for people making robots.

We hope to be a community where we can share knowledge about robots, share


robot development information and experiences, help each other and collaborate
together. Through this community, we want to realize open robotics without disti
nguishing between students, universities, research institutes and companies.

Join us in the Robot community ~


END.

You might also like