IEEE Robotics & Automation Magazine - March 2022 - 60
ARviz
Application
Hand Menu
JSON
Over
Tool
Plugins
Display
Plugins
TCP/IP
ROS
Nodes
Figure 2. The basic architecture of ARviz Platform.
interactive interfaces for AR-HRI applications is proposed to
fill an unmet need for the AR-HRI community.
Recognizing this need, we developed ARviz, a versatile
AR visualization platform for ROS-based applications. ARviz
is inspired by Rviz, and allows users to visualize any standard
ROS messages data types in AR. Furthermore, with additional
input modalities, such as speech, gesture, and gaze,
enabled by AR devices, ARviz provides a multimodal interface
for users to interact with any ROS applications. ARviz is
designed to be extendable, allowing users to implement their
own plugins for visualizing customized ROS messages, or for
defining their own interaction methods based on their specific
application needs. By keeping many design similarities
with Rviz, ARviz aims to provide a sense of familiarity for the
large existing user-base of Rviz, as shown in Figure 1. In this
article, we describe ARviz's platform architecture, present the
collection of Display and Tool Plugins included in our current
implementation of ARviz, demonstrate the benefits of
ARviz through a number of use cases featuring different
applications of ARviz, and discuss potential further extensions
and uses cases for ARviz as well as some limitations.
Platform Architecture
ARviz is designed to be a stand-alone AR application that can
connect to any ROS-based application to provide visualization
and interaction capabilities to the user, requiring
minimal-to-no-modifications to the existing ROS application.
Figure 2 depicts the overall platform architecture for ARviz
and how it interacts with ROS applications.
We developed ARviz using the Unity Game Engine. ARviz
is designed to work with many different plugins, which can be
categorized into two types: Display Plugins, which are used
for visualizing data received from ROS applications, and Tool
Plugins, which enable the use of natural input methods such
as speech and gestures for interacting with ROS applications.
The visual elements (holograms) generated by the plugins are
accurately localized in the real world with the help of Vuforia
Engine (https://www.ptc.com/en/products/vuforia/vuforia
-engine), a Unity tool kit that enables the alignment of the virtual
world and the real world, and Unity tf Listener, a component
of ARviz that collects spatial data (transformations
between coordinate frames) from the ROS application. ARviz
provides a hand menu, which can be accessed with a raise of
hand, as a convenient means to manage the plugins available
on the platform (Figure 3). The communication channel
between ARviz and the ROS application is established using
the Unity package ROS# (https://github.com/siemens/
ros-sharp) on the ARviz side and an ROS package rosbridge
(http://wiki.ros.org/rosbridge_suite) running on top of the
ROS application. We explain each component in more detail
in the following sections.
Figure 3. Hand Menu appears when the user raises their left
hand in front of the HoloLens 2. Hand Menu provides quick
access to the plugins available on the platform.
60 * IEEE ROBOTICS & AUTOMATION MAGAZINE * MARCH 2022
ARviz Plugins
Display Plugins are components of the ARviz platform that
allow users to visualize data from ROS applications in AR by
rendering virtual displays that are contextually located in the
real world. Display Plugins can be used for visualizing application
information such as robot transformation frames, navigation
paths, and robot gripper grasp poses (more details in
the " Use Cases " section). The plugins are designed to be reusable
for any ROS application using the same standard ROS
message types, and users can also implement additional customized
plugins to visualize other ROS message types or customized
ROS message types.
Data from ROS is collected by ROS# through a component
call a subscriber (more details in the " Communication
with ROS " section). The Display Plugin accesses the
Holograms Localization
Unity tf
Listener
Speech,
Gesture,
etc.
Visualization
Output
C#
Objects
rosbridge
ROS
Messages
https://www.ptc.com/en/products/vuforia/vuforia-engine
https://www.ptc.com/en/products/vuforia/vuforia-engine
https://www.github.com/siemens/ros-sharp
https://www.github.com/siemens/ros-sharp
http://wiki.ros.org/rosbridge_suite
IEEE Robotics & Automation Magazine - March 2022
Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - March 2022
Contents
IEEE Robotics & Automation Magazine - March 2022 - Cover1
IEEE Robotics & Automation Magazine - March 2022 - Cover2
IEEE Robotics & Automation Magazine - March 2022 - Contents
IEEE Robotics & Automation Magazine - March 2022 - 2
IEEE Robotics & Automation Magazine - March 2022 - 3
IEEE Robotics & Automation Magazine - March 2022 - 4
IEEE Robotics & Automation Magazine - March 2022 - 5
IEEE Robotics & Automation Magazine - March 2022 - 6
IEEE Robotics & Automation Magazine - March 2022 - 7
IEEE Robotics & Automation Magazine - March 2022 - 8
IEEE Robotics & Automation Magazine - March 2022 - 9
IEEE Robotics & Automation Magazine - March 2022 - 10
IEEE Robotics & Automation Magazine - March 2022 - 11
IEEE Robotics & Automation Magazine - March 2022 - 12
IEEE Robotics & Automation Magazine - March 2022 - 13
IEEE Robotics & Automation Magazine - March 2022 - 14
IEEE Robotics & Automation Magazine - March 2022 - 15
IEEE Robotics & Automation Magazine - March 2022 - 16
IEEE Robotics & Automation Magazine - March 2022 - 17
IEEE Robotics & Automation Magazine - March 2022 - 18
IEEE Robotics & Automation Magazine - March 2022 - 19
IEEE Robotics & Automation Magazine - March 2022 - 20
IEEE Robotics & Automation Magazine - March 2022 - 21
IEEE Robotics & Automation Magazine - March 2022 - 22
IEEE Robotics & Automation Magazine - March 2022 - 23
IEEE Robotics & Automation Magazine - March 2022 - 24
IEEE Robotics & Automation Magazine - March 2022 - 25
IEEE Robotics & Automation Magazine - March 2022 - 26
IEEE Robotics & Automation Magazine - March 2022 - 27
IEEE Robotics & Automation Magazine - March 2022 - 28
IEEE Robotics & Automation Magazine - March 2022 - 29
IEEE Robotics & Automation Magazine - March 2022 - 30
IEEE Robotics & Automation Magazine - March 2022 - 31
IEEE Robotics & Automation Magazine - March 2022 - 32
IEEE Robotics & Automation Magazine - March 2022 - 33
IEEE Robotics & Automation Magazine - March 2022 - 34
IEEE Robotics & Automation Magazine - March 2022 - 35
IEEE Robotics & Automation Magazine - March 2022 - 36
IEEE Robotics & Automation Magazine - March 2022 - 37
IEEE Robotics & Automation Magazine - March 2022 - 38
IEEE Robotics & Automation Magazine - March 2022 - 39
IEEE Robotics & Automation Magazine - March 2022 - 40
IEEE Robotics & Automation Magazine - March 2022 - 41
IEEE Robotics & Automation Magazine - March 2022 - 42
IEEE Robotics & Automation Magazine - March 2022 - 43
IEEE Robotics & Automation Magazine - March 2022 - 44
IEEE Robotics & Automation Magazine - March 2022 - 45
IEEE Robotics & Automation Magazine - March 2022 - 46
IEEE Robotics & Automation Magazine - March 2022 - 47
IEEE Robotics & Automation Magazine - March 2022 - 48
IEEE Robotics & Automation Magazine - March 2022 - 49
IEEE Robotics & Automation Magazine - March 2022 - 50
IEEE Robotics & Automation Magazine - March 2022 - 51
IEEE Robotics & Automation Magazine - March 2022 - 52
IEEE Robotics & Automation Magazine - March 2022 - 53
IEEE Robotics & Automation Magazine - March 2022 - 54
IEEE Robotics & Automation Magazine - March 2022 - 55
IEEE Robotics & Automation Magazine - March 2022 - 56
IEEE Robotics & Automation Magazine - March 2022 - 57
IEEE Robotics & Automation Magazine - March 2022 - 58
IEEE Robotics & Automation Magazine - March 2022 - 59
IEEE Robotics & Automation Magazine - March 2022 - 60
IEEE Robotics & Automation Magazine - March 2022 - 61
IEEE Robotics & Automation Magazine - March 2022 - 62
IEEE Robotics & Automation Magazine - March 2022 - 63
IEEE Robotics & Automation Magazine - March 2022 - 64
IEEE Robotics & Automation Magazine - March 2022 - 65
IEEE Robotics & Automation Magazine - March 2022 - 66
IEEE Robotics & Automation Magazine - March 2022 - 67
IEEE Robotics & Automation Magazine - March 2022 - 68
IEEE Robotics & Automation Magazine - March 2022 - 69
IEEE Robotics & Automation Magazine - March 2022 - 70
IEEE Robotics & Automation Magazine - March 2022 - 71
IEEE Robotics & Automation Magazine - March 2022 - 72
IEEE Robotics & Automation Magazine - March 2022 - 73
IEEE Robotics & Automation Magazine - March 2022 - 74
IEEE Robotics & Automation Magazine - March 2022 - 75
IEEE Robotics & Automation Magazine - March 2022 - 76
IEEE Robotics & Automation Magazine - March 2022 - 77
IEEE Robotics & Automation Magazine - March 2022 - 78
IEEE Robotics & Automation Magazine - March 2022 - 79
IEEE Robotics & Automation Magazine - March 2022 - 80
IEEE Robotics & Automation Magazine - March 2022 - 81
IEEE Robotics & Automation Magazine - March 2022 - 82
IEEE Robotics & Automation Magazine - March 2022 - 83
IEEE Robotics & Automation Magazine - March 2022 - 84
IEEE Robotics & Automation Magazine - March 2022 - 85
IEEE Robotics & Automation Magazine - March 2022 - 86
IEEE Robotics & Automation Magazine - March 2022 - 87
IEEE Robotics & Automation Magazine - March 2022 - 88
IEEE Robotics & Automation Magazine - March 2022 - 89
IEEE Robotics & Automation Magazine - March 2022 - 90
IEEE Robotics & Automation Magazine - March 2022 - 91
IEEE Robotics & Automation Magazine - March 2022 - 92
IEEE Robotics & Automation Magazine - March 2022 - 93
IEEE Robotics & Automation Magazine - March 2022 - 94
IEEE Robotics & Automation Magazine - March 2022 - 95
IEEE Robotics & Automation Magazine - March 2022 - 96
IEEE Robotics & Automation Magazine - March 2022 - 97
IEEE Robotics & Automation Magazine - March 2022 - 98
IEEE Robotics & Automation Magazine - March 2022 - 99
IEEE Robotics & Automation Magazine - March 2022 - 100
IEEE Robotics & Automation Magazine - March 2022 - 101
IEEE Robotics & Automation Magazine - March 2022 - 102
IEEE Robotics & Automation Magazine - March 2022 - 103
IEEE Robotics & Automation Magazine - March 2022 - 104
IEEE Robotics & Automation Magazine - March 2022 - 105
IEEE Robotics & Automation Magazine - March 2022 - 106
IEEE Robotics & Automation Magazine - March 2022 - 107
IEEE Robotics & Automation Magazine - March 2022 - 108
IEEE Robotics & Automation Magazine - March 2022 - 109
IEEE Robotics & Automation Magazine - March 2022 - 110
IEEE Robotics & Automation Magazine - March 2022 - 111
IEEE Robotics & Automation Magazine - March 2022 - 112
IEEE Robotics & Automation Magazine - March 2022 - 113
IEEE Robotics & Automation Magazine - March 2022 - 114
IEEE Robotics & Automation Magazine - March 2022 - 115
IEEE Robotics & Automation Magazine - March 2022 - 116
IEEE Robotics & Automation Magazine - March 2022 - 117
IEEE Robotics & Automation Magazine - March 2022 - 118
IEEE Robotics & Automation Magazine - March 2022 - 119
IEEE Robotics & Automation Magazine - March 2022 - 120
IEEE Robotics & Automation Magazine - March 2022 - 121
IEEE Robotics & Automation Magazine - March 2022 - 122
IEEE Robotics & Automation Magazine - March 2022 - 123
IEEE Robotics & Automation Magazine - March 2022 - 124
IEEE Robotics & Automation Magazine - March 2022 - Cover3
IEEE Robotics & Automation Magazine - March 2022 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com