ARToolKit

Last updated
ARToolKit
Original author(s) Hirokazu Kato Mark Billinghurst Ivan Poupyrev
Initial release1999;24 years ago (1999)
Stable release
1.1.9 / May 18, 2023;7 months ago (2023-05-18) [1]
Repository github.com/artoolkitx/artoolkitx
Written in C, C++
Operating system Cross-platform: Linux, Windows, OS X, iOS, Android
Type 3D graphics
License GNU Lesser General Public License v3.0 with special exemptions.
Website http://www.artoolkitx.org/, http://www.hitl.washington.edu/artoolkit/

ARToolKit is an open-source computer tracking library for creation of strong augmented reality applications that overlay virtual imagery on the real world. Currently, it is maintained as an open-source project hosted on GitHub. [2]

Contents

In order to create strong augmented reality, it uses video tracking capabilities that calculate the real camera position and orientation relative to square physical markers or natural feature markers in real time. Once the real camera position is known a virtual camera can be positioned at the same point and 3D computer graphics models drawn exactly overlaid on the real marker. So ARToolKit solves two of the key problems in Augmented Reality; viewpoint tracking and virtual object interaction.

ARToolKit was originally developed by Hirokazu Kato of Nara Institute of Science and Technology in 1999 [3] and was released by the University of Washington HIT Lab. In 2001 ARToolWorks was incorporated, and v1.0 of the open-source version of ARToolKit was released through the HIT Lab. ARToolKit was one of the first AR SDKs for mobile, seen running first on Symbian in 2005, [4] then iOS with the iPhone 3G in 2008, [5] and finally Android as early as 2010 [6] with a professional version by ARToolWorks later in 2011.

ARToolKit was acquired by DAQRI and re-released open-source starting at version 5.2 on May 13, 2015, [7] including all of the features that were previously only available in the professional licensed version. Among these features are mobile support and natural feature tracking.

ARToolKitPlus (sometimes written "ARToolKit+") was intended to be a successor to the ARToolKit library that was optimized for mobile devices. ARToolKit was originally written in C; ARToolKit+ was ported it to C++ to make it easier to maintain, and has a new class-based (C++) API that is intended to be easier-to-use. [8] [9] [10] [11]

Ben Vaughan and Phil Lamb, the former CEO and CTO of ARToolworks, created artoolkitX to ensure that the software is developed and maintained and the ARToolKit community continues to be supported. artoolkitX was initially supported by Realmax Inc, a Chinese AR company that develops AR hardware and software. [12]

Features

An example of an AR code containing a QR code. Ar code.png
An example of an AR code containing a QR code.

Operating systems

The current version of ARToolKit supports Microsoft Windows, Mac OS X, Linux, iOS, and Android platforms. Other versions of ARToolKit have also been ported to Symbian, and Windows Phone to support mobile AR applications.

ARToolKit is also available as a plugin for the Unity game engine for example to align a virtual camera within Unity with a real-world camera relative to a tracked marker target and taking care of communicating with the camera. The plugin supports Unity on OS X, Unity on Windows, Unity on Android, and Unity on iOS. [13]

See also

Comparison of augmented reality fiducial markers for computer vision Comparison of augmented reality fiducial markers.svg
Comparison of augmented reality fiducial markers for computer vision

Related Research Articles

<span class="mw-page-title-main">Augmented reality</span> View of the real world with computer-generated supplementary features

Augmented reality (AR) is an interactive experience that combines the real world and computer-generated content. The content can span multiple sensory modalities, including visual, auditory, haptic, somatosensory and olfactory. AR can be defined as a system that incorporates three basic features: a combination of real and virtual worlds, real-time interaction, and accurate 3D registration of virtual and real objects. The overlaid sensory information can be constructive, or destructive. This experience is seamlessly interwoven with the physical world such that it is perceived as an immersive aspect of the real environment. In this way, augmented reality alters one's ongoing perception of a real-world environment, whereas virtual reality completely replaces the user's real-world environment with a simulated one.

<span class="mw-page-title-main">Stellarium (software)</span> Open-source planetarium

Stellarium is a free and open-source planetarium, licensed under the terms of the GNU General Public License version 2, available for Linux, Windows, and macOS. A port of Stellarium called Stellarium Mobile is available for Android, iOS, and Symbian as a paid version, being developed by Noctua Software. These have a limited functionality, lacking some features of the desktop version. All versions use OpenGL to render a realistic projection of the night sky in real time.

<span class="mw-page-title-main">NASA WorldWind</span> Open-source virtual globe

NASA WorldWind is an open-source virtual globe. According to the website, "WorldWind is an open source virtual globe API. WorldWind allows developers to quickly and easily create interactive visualizations of 3D globe, map and geographical information. Organizations around the world use WorldWind to monitor weather patterns, visualize cities and terrain, track vehicle movement, analyze geospatial data and educate humanity about the Earth." It was first developed by NASA in 2003 for use on personal computers and then further developed in concert with the open source community since 2004. As of 2017, a web-based version of WorldWind is available online. An Android version is also available.

<span class="mw-page-title-main">Virtual keyboard</span> Software component

A virtual keyboard is a software component that allows the input of characters without the need for physical keys. The interaction with the virtual keyboard happens mostly via a touchscreen interface, but can also take place in a different form in virtual or augmented reality.

<span class="mw-page-title-main">Unity (game engine)</span> Cross-platform video game and simulation engine

Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Worldwide Developers Conference as a Mac OS X game engine. The engine has since been gradually extended to support a variety of desktop, mobile, console and virtual reality platforms. It is particularly popular for iOS and Android mobile game development, is considered easy to use for beginner developers, and is popular for indie game development.

Kinoma, a division of Marvell Semiconductor, is a software engineering group providing an open-source, cross-platform ECMAScript stack aimed at developing software for Internet of Things products and other embedded devices. Additionally, Kinoma provides Kinoma Create, a hardware prototyping platform aimed at the independent maker community.

A mobile operating system is an operating system for smartphones, tablets, smartwatches, smartglasses, or other non-laptop personal mobile computing devices. While computers such as typical/mobile laptops are "mobile", the operating systems used on them are generally not considered mobile ones, as they were originally designed for desktop computers that historically did not have or need specific mobile features. This line distinguishing mobile and other forms has become blurred in recent years, due to the fact that newer devices have become smaller and more mobile unlike hardware of the past. Key notabilities blurring this line are the introduction of tablet computers and light-weight laptops and the hybridization of the two in 2-in-1 PCs.

Vuforia is an augmented reality software development kit (SDK) for mobile devices that enables the creation of augmented reality applications. It uses computer vision technology to recognize and track planar images and 3D objects in real time. This image registration capability enables developers to position and orient virtual objects, such as 3D models and other media, in relation to real world objects when they are viewed through the camera of a mobile device. The virtual object then tracks the position and orientation of the image in real-time so that the viewer's perspective on the object corresponds with the perspective on the target. It thus appears that the virtual object is a part of the real-world scene.

Metaio GmbH was a privately held augmented reality (AR) company that was acquired by Apple Inc. in May of 2015. Headquartered in Munich, Germany, with subsidiaries in San Francisco, California, New York City, New York and Dallas, Texas, Metaio provided a software development kit (SDK) for programming PC, web, mobile application and custom offline augmented reality applications. Additionally, Metaio was the creator of Junaio, a free mobile AR browser available for Android and iOS devices.

<span class="mw-page-title-main">ARTag</span>

An ARTag is a fiducial marker system to support 3D registration (alignment) and pose tracking in augmented reality. They can be used to facilitate the appearance of virtual objects, games, and animations within the real world. Like the earlier ARToolKit system, they allow for video tracking capabilities that calculate a camera's position and orientation relative to physical markers in real time. Once the camera's position is known, a virtual camera can be positioned at the same point, revealing the virtual object at the location of the ARTag. It thus addresses two of the key problems in Augmented Reality: viewpoint tracking and virtual object interaction.

<span class="mw-page-title-main">PPSSPP</span> PSP emulator

PPSSPP is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, Nintendo WiiU, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series X/S and Symbian with an increased focus on speed and portability. It was first released to the public on November 1, 2012, licensed under the GNU GPLv2 or later. The PPSSPP project was created by Henrik Rydgård, one of the co-founders of the Dolphin emulator.

WebAR, previously known as the Augmented Web, is a web technology that allows for augmented reality functionality within a web browser. It is a combination of HTML5, Web Audio, WebGL, and WebRTC. From 2020s more known as web-based Augmented Reality or WebAR, which is about the use of augmented reality elements in browsers.

<span class="mw-page-title-main">Far-Play</span> Software platform

Far-Play is a software platform developed at the University of Alberta, for creating location-based, scavenger-hunt style games which use the GPS and web-connectivity features of a player's smartphone. According to the development team, "our long-term objective is to develop a general framework that supports the implementation of AARGs that are fun to play and also educational". It utilizes Layar, an augmented reality smartphone application, QR codes located at particular real-world sites, or a phone's web browser, to facilitate games which require players to be in close physical proximity to predefined "nodes". A node, referred to by the developers as a Virtual Point of Interest (vPOI), is a point in space defined by a set of map coordinates; fAR-Play uses the GPS function of a player's smartphone — or, for indoor games, which are not easily tracked by GPS satellites, specially-created QR codes— to confirm that they are adequately near a given node. Once a player is within a node's proximity, Layar's various augmented reality features can be utilized to display a range of extra content overlaid upon the physical play-space or launch another application for extra functionality.

<span class="mw-page-title-main">Tango (platform)</span> Mobile computer vision platform for Android developed by Google

Tango was an augmented reality computing platform, developed and authored by the Advanced Technology and Projects (ATAP), a skunkworks division of Google. It used computer vision to enable mobile devices, such as smartphones and tablets, to detect their position relative to the world around them without using GPS or other external signals. This allowed application developers to create user experiences that include indoor navigation, 3D mapping, physical space measurement, environmental recognition, augmented reality, and windows into a virtual world.

<span class="mw-page-title-main">Google Cardboard</span> Discontinued virtual reality platform

Google Cardboard is a discontinued virtual reality (VR) platform developed by Google. Named for its fold-out cardboard viewer into which a smartphone is inserted, the platform was intended as a low-cost system to encourage interest and development in VR applications. Users can either build their own viewer from simple, low-cost components using specifications published by Google, or purchase a pre-manufactured one. To use the platform, users run Cardboard-compatible mobile apps on their phone, place it into the back of the viewer, and view content through the lenses.

<span class="mw-page-title-main">Open Source Virtual Reality</span> Open source software project

Open Source Virtual Reality (OSVR) is an open-source software project that aims to enable headsets and game controllers from all vendors to be used with any games developed by Razer and Sensics.

DAQRI was an American augmented reality company headquartered in Los Angeles, CA.

WebXR Device API is a Web application programming interface (API) that describes support for accessing augmented reality and virtual reality devices, such as the HTC Vive, Oculus Rift, Oculus Quest, Google Cardboard, HoloLens, Magic Leap or Open Source Virtual Reality (OSVR), in a web browser. The WebXR Device API and related APIs are standards defined by W3C groups, the Immersive Web Community Group and Immersive Web Working Group. While the Community Group works on the proposals in the incubation period, the Working Group defines the final web specifications to be implemented by the browsers.

<span class="mw-page-title-main">Kubity</span> Cloud-based 3D communication tool

Kubity is a cloud-based 3D communication tool that works on desktop computers, the web, smartphones, tablets, augmented reality gear, and virtual reality glasses. Kubity is powered by several proprietary 3D processing engines including "Paragone" and "Etna" that prepare the 3D file for transfer over mobile devices.

OpenVR is a software development kit (SDK) and application programming interface (API) developed by Valve for supporting the SteamVR and other virtual reality headset devices. The SteamVR platform uses it as the default application programming interface and runtime. It serves as the interface between the virtual reality hardware and software and is implemented by SteamVR.

References

  1. "Releases · artoolkitx/Artoolkitx". GitHub .
  2. ARToolKit GitHub page.
  3. Kato, H., Billinghurst, M. "Marker tracking and hmd calibration for a video-based augmented reality conferencing system.", In Proceedings of the 2nd IEEE and ACM International Workshop on Augmented Reality (IWAR 99), October 1999.
  4. "Project page for ARToolKit on Symbian". Archived from the original on 2016-03-03. Retrieved 2015-06-18.
  5. ARToolKit running on an iPhone 3G in 2008
  6. ARToolKit running on a Google Android G1 in 2010.
  7. DAQRI Acquires AR Pioneer ARToolworks
  8. Daniel Wagner; Dieter Schmalstieg. "ARToolKitPlus for Pose Tracking on Mobile Devices (2007)". "ARToolKitPlus for Pose Tracking on Mobile Devices". 2007.
  9. "v4r_artoolkitplus".
  10. "ARToolKitPlus".
  11. "Differences between ARToolkit and ARToolkitPlus"
  12. "artoolkitX web site". Archived from the original on 3 May 2018. Retrieved 3 May 2018.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  13. "ARToolKit for Unity" . Retrieved 2023-06-07.