ARIA
Aria Library from MobileRobots
Install / Use
/learn @srmq/ARIAREADME
ARIA
Adept MobileRobots Advanced Robotics Interface for Applications
Version 2.9.4
Linux
Copyright 2002, 2003, 2004, 2005 ActivMedia Robotics, LLC. All rights reserved. Copyright 2006, 2007, 2008, 2009 MobileRobots Inc. All rights reserved. Copyright 2010-2015 Adept Technology. All rights reserved. Copyright 2016-2018 Omron Adept Technologies, Inc. All rights reserved.
See LICENSE.txt for full license information about ARIA.
Please read this document for important details about using ARIA.
Contents
- Introduction
- Documentation
- Licenses and Sharing
- ARIA Package
- Files of Note
- Compiling programs that use ARIA
- Windows
- Linux
- Using ARIA's Makefiles
- Using your own Makefile or other build system
- Setting variables for ARIA Makefiles
- Learning more about using Linux
- Mac OSX
- Learning more about C++
- Using ARIA from Python and Java
- Using ARIA from Matlab or Simulink
- Simulator
Introduction
Welcome to the Adept MobileRobots Advanced Robotics Interface for Applications (ARIA). ARIA is an object-oriented, application programming interface (API) for the Adept MobileRobots (and ActivMedia) line of intelligent mobile robots, including Pioneer 2/3 DX and AT, PeopleBot, PowerBot, AmigoBot, PatrolBot/Guiabot, Seekur, SeekurJr and Pioneer LX mobile robots.
Written in the C++ language, ARIA provides access to and management of the robot controller, as well to many accessory robot sensors and effectors, as well as useful utilities and infrastructure for cross-platform robot application development.
Several levels are available for application to use in ARIA, from simple command-control of the robot server for direct-drive navigation, to development of higher-level intelligent actions (aka behaviors).
ARIA is provided as open source software under the GNU General Public License. This allows you to view, modify and rebuild the ARIA library as desired, provided that software developed with ARIA comply with the requirements of the license. Please see LICENSE.txt for the full license under which ARIA has been provided.
The ARIA package includes both source code and pre-built libraries and example programs. These libraries and programs were build with GCC 4.x if on Linux, and Visual C++ 2012 (11.0), Visual C++ 2015 (14.0), and Visual C++ 2017 (15.x) for Windows Desktop if on Windows.
Using the above compilers for development is recommended. See below
for specific instructons on using these compilers to build your
programs linked to ARIA, or to rebuild ARIA.
NOTE: If you use a different compiler or compiler version, you must rebuild the ARIA libraries to ensure link compatability.
To get started immediately with ARIA, refer to the examples in the "examples" directory (start with "simpleConnect.cpp"), read the information below, and in the ARIA Reference manual.
See below for more information about building programs with ARIA on Windows and Linux and using the Windows and Linux development tools.
Documentation and Help
Follow the INSTALL text instructions to install ARIA on your Linux or Windows workstation or robot computer. System requirements are included in the INSTALL.txt file.
ARIA includes a full API Reference Manual in HTML format. This manual, Aria-Reference.html (and in the docs/ directory), includes documentation about each of the classes and methods in ARIA, as well as a comprehensive overview describing how to get stated understanding and using ARIA. In addition, ARIA includes several example programs in the examples/ (start with simpleConnect.cpp, then explore the others) and advanced/ directories, and the header files and source code are included in include/ and src/ as well.
The ArNetworking library has its own reference manual, ArNetworking-Reference.html in the ArNetworking subdirectory, and examples in ArNetworking/examples.
If you plan on using the Java, Python or Matlab wrapper libraries, see the javaExamples, pythonExamples, ArNetworking/javaExamples, ArNetworking/pythonExamples, and matlab directories for important information in README files, and example programs. You should also read the ARIA Reference manual for general information about ARIA -- the API in the wrapper libraries are almost identical to the C++ API.
If you have any problems or questions using ARIA or your robot, the MobileRobots support site provides:
- A FAQ (Frequently Asked Questions) list, at http://robots.mobilerobots.com/FAQ.html
- A knowlege base of information on robot hardware and software, at http://robots.mobilerobots.com
- All robot and device manuals
- The Aria-Users mailing list, where you can discuss ARIA with other users and
MobileRobots software developers:
- Search the archives at http://robots.mobilerobots.com/archives/aria-users/threads.html
- Join the list at http://robots.mobilerobots.com/archives/aria-info.html
- Information on contacting MobileRobots technical support.
Visit the MobileRobots support site at http://robots.mobilerobots.com
License and Sharing
ARIA is released under the GNU Public License (GPL) v.2, which means that if you distribute any work which uses ARIA, you must distribute the entire source code to that work under the GPL as well. Read the included LICENSE text for details. We open-sourced ARIA under GPL with full source code not only for your convenience, but also so that you can share your work and enhancements to the software. If you wish your ARIA changes to make it into our future ARIA versions, you will need to assign the copyright on those changes to Adept. Contact support@mobilerobots.com with these changes or with questions about this.
Accordingly, please do share your work, and please sign up for the exclusive aria-users@mobilerobots.com newslist so that you can benefit from others' work, too.
ARIA may instead be relicensed for proprietary, closed source applications. Contact sales@mobilerobots.com for details.
For answers to frequently asked questions about what the GPL allows and requires, see http://www.gnu.org/licenses/gpl-faq.html
The ARIA Package
Aria/: docs The API Reference Manual: Extensive documentation of all of ARIA examples ARIA examples -- a good place to start; see examples/README.txt include ARIA header (.h) files src ARIA source code (.cpp) files lib or lib64 - Libraries (.lib files for Windows, .so files for Linux) bin or bin64 - Contains Windows binaries and DLLs. params Robot parameter files ("p3dx.p", for example) containing defaults for various robot types. You can also add a custom parameter file here named for your robot's NAME (see ARIA reference manual). tests Test files, somewhat esoteric but useful during ARIA development utils Utility programs: file conversion and manipulation, and some tools used internally by MobileRobots for ARIA development and releases. See utils/README.txt for description of conversion utilities. python Python wrapper modules and libraries pythonExamples - Example Python scripts and README file with details on how to use ARIA with Python. java Java wrapper library javaExamples Example Java programs and README file with details on how to use ARIA with Java. maps Some example map files that may be used with the simulator. matlab Scripts and instructions that may be used to compile a simplified Matlab interface to ARIA. VSTemplates - Contains project templates for Visual Studio. Run the included script to copy these templates to your home directory (Windows only) Command Prompt in ARIA Directory (Windows only) - Runs a Windows command prompt session that may be used to explore and run example programs from the ARIA directory. CommandLineOptions.txt - Summary of typical command-line options that may be given to most ARIA programs LICENSE.txt GPL license; agree to this to use ARIA Aria-.sln MS Visual C++ solutions for building ARIA and 'demo'. examples/All_examples-.sln MS Visual C++ solutions for building ARIA examples. Makefile (Linux only) GNU Make makefile (for building ARIA and examples Makefile_example Example GNU Makefile (Linux only) that you can copy and modify for your own project. INSTALL.txt More information about installing ARIA README.txt This file; also see READMEs in advanced/, examples/, and tests/ Changes.txt Summary of changes in each version of ARIA
Aria/ArNetworking/: (A library used to facilitate network communication) docs API Reference Manual for ArNetworking examples ArNetworking examples include ArNetworking header (.h) files src ArNetworking source (.cpp) files python Python wrapper package pythonExamples - Python examples and instructions java Java wrapper package javaExamples - Java examples and instructions
If you have installed any additional ARIA/Pioneer SDK libraries then they will also be available as subdirectories of the Aria directory.
If you have installed ARNL, SONARNL or MOGS, then it will be in a separate installation (Arnl directory).
Building programs that use ARIA
Windows
On Windows, use Microsoft Visual C++ 2012 (VC11), Visual C++ 2015 (VC14) for Windows Desktop, or Visual C++ 2017 (VC15) for Windows Desktop. Free "Express" or "Community" versions of Visual C++ can be downloaded from Microsoft (see microsoft.com or visualstudio.com), or full versions purchased. Only Visual C++ is required. Other Visual Studio options such as "Universal" builds (for Windows 10, Phone and
