Getting Started with OpenJAUS
OpenJAUS Tutorials
Getting Started with OpenJAUS
1. Introduction
The OpenJAUS SDK has four main parts that each have their own C++ namespace. The namespaces include:
- An operating system abstraction library (openjaus::system)
- JAUS Transport implementations (openjaus::transport)
- OpenJAUS and JAUS-based data structures (openjaus::model)
- An abstraction of the JAUS Core Service Set Services & Messages (openjaus::core).
This tutorial covers how to download, compile, and run the basic OpenJAUS SDK code.
2. Getting a License
OpenJAUS’ SDK requires a commercial or trial license before it can be used. See the OpenJAUS SDK product page for more details.
3. Downloading the SDK
After obtaining a license, follow the steps below to download the OpenJAUS SDK.
1. Go to the OpenJAUS client website.
2. Login to the website using the username and password provided in the license file.
3. At the Home Page, jump to the OpenJAUS SDK project.
4. On the Project page select the Download tab.
5. Finally, on the Download page, click on the OpenJAUS SDK Zip archive file to download the SDK.
* The latest stable version of the SDK is always listed at the client website and will be updated periodically. You can update to the latest version of the SDK as long as your license is valid.
4. Compiling the code
Linux Instructions:
- Unzip the OpenJAUS SDK from Zip archive file downloaded from the client website.
- Open a terminal window.
- Go to the directory containing the unzipped OpenJAUS SDK files.
- Run “./premake4 gmake” to generate the Makefile.
- Run “make” to build the code.
- This will place the compiled libraries into a sub-folder called “lib” and some utility executables into a sub-folder called “bin”.
- You can install the OpenJAUS SDK libraries and include files based on your preference for installing 3rd-party software in linux. For example, some users prefer to copy the files into “/usr/local” others prefer to use different directories.
Windows Instructions (Using MS Visual Studio):
- Unzip the OpenJAUS SDK from Zip archive file downloaded from the client website.
- Open a command prompt.
- Go to the directory containing the unzipped OpenJAUS SDK files.
- Run “premake4.exe vs2010” to generate the solution file for Microsoft Visual Studio (MSVS).
- MSVS 2012 and above: Follow the above instructions to generate the solution file for 2010 and then let Visual Studio upgrade the solution for you.
- MSVS 2008 and below: Premake supports older versions of MSVS but the command will be slightly different. Type “premake4.exe –help” to see which other versions are supported. For more information see the Premake website.
- Verify that the OpenJAUS SDK solution was generated.
- Ensure that you have a sub-folder called “bin”. If it doesn’t exist then you need to create one.
- Open the generated solution file in Visual Studio.
- MSVS 2012 and above: Let Visual Studio upgrade the solution and project files for you.
- Build the solutions.
- After the build is complete, you should have several executables and DLLs in your “bin” folder.
5. Running the Sample Programs
We have added numerous sample applications which serve as examples for creating your own JAUS components
- GposDemo: A sample JAUS Global Pose Senor (GPOS) component.
- GposClientDemo: A sample JAUS Global Pose Sensor client.
- Run in conjunction with GposDemo to see the interaction between a GPOS component and a GPOS client. You can also look at the Making a Global Positioning Sensor tutorial for more information.
- PdDemo: A sample JAUS Primitive Driver (PD) component.
- PdClientDemo: A sample JAUS Primitive Driver client.
- Run in conjunction with PdDemo to see the interaction between a PD component and a PD client. You can also look at the Making a Primitive Driver tutorial for more information.
- StillImageSensorDemo: A sample JAUS Still Image Sensor component.
- StillImageClientDemo: A sample JAUS Still Image Sensor client.
- Run in conjunction with StillImageSensorDemo to see the interaction between a Still Image Sensor component and its client.
- BaseDemo: A basic component. It can be used as a starting point for your own components.
- MultiComponentExample: An example of running multiple components from a single application.
- Run in conjunction with GposClientDemo and PdClientDemo to see the interaction between the components and their clients.
- Use the System Tree to observe the difference between this example and ServiceCompositionExample.
- ServiceCompositionExample: An example of using multiple services within a single component.
- Use the System Tree to observe the difference between this example and MultiComponentExample.