SONARNL is a software package which is built on top of ARIA for Navigation and Localization with Sonar. Localization allows the program to keep track of where the robot is and Navigation allows the robot to get to a given destination. SONARNL runs and coordinates these two tasks, automatically correcting robot pose while localizing, and driving the robot to a goal you specify via the programming interface, or via the ArNetworking protocol from a remote control client.
SONARNL provides a native C++ API, as well as Python and Java APIs through an interface layer. The SONARNL package includes the shared library/DLL, header files, API reference manual, and example programs with source code.
| Platform | Download |
|---|---|
| RedHat Linux | SONARNL-1.5.1-0.i386.rpm |
| Windows | SONARNL-1.5.1.exe |
| Debian Linux ("unstable"/sid only) | libsonarnl_1.5.1_i386.deb |
| Generic Linux TAR Archive | SONARNL-1.5.1.tgz |
| Change Log |
| SONARNL User's Manual |
Archived versions available here
To work with SONARNL you will also need to download the Mapper3Basic application so that you can make maps for SONARNL to navigate and localize in. You need to make a map of lines. Mapper3Basic will allow you to make maps (.map files) for use with SONARNL and then let you edit them, including placing goals and forbidden lines and moving the robots home position.
You may also want to download the MobileEyes application so that you can have a GUI to watch what the robot is doing. MobileEyes connects to servers run from a SONARNL program across a network, letting you view the robot's movements and environment without slowing them down.
While it is not required, you may also download ARIA for the documentation, many examples, and source code.
While it is not required, it is recommended that you also download MobileSim so that you can use the simulator for developing, debugging, and simulating your code.