Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

An export of MobileRobots wiki is available here: https://blog.siaimes.me/Aria/

ARIA

Advanced Robot Interface for Applications (ARIA) is an Open Source C++ library for all MobileRobots/ActivMedia platforms. ARIA can dynamically control your robot's velocity, heading, relative heading, and other motion parameters either through simple low-level commands or through its high-level Actions infrastructure. ARIA also receives position estimates, sonar readings, and all other current operating data sent by the robot platform. ARIA can be used with Python, Java and Matlab. A ROS interface, ROSARIA, is available for ARIA. This is the key software for accessing the robot base’s internal peripherals.

ARNL

ARNL is a set of software packages built on top of ARIA for intelligent navigation and localization. "Localization" allows the program to keep track of where the robot is and "navigation" allows the robot to get to a given destination. Utilizing the laser rangefinder it can be used to navigate and position the robot in a known map, and includes path-finding. A ROS interface is also available: ros-arnl. ARNL may in the future be replaced by the ROS navigation stack.

sickLogger

sickLogger is a program included with ARNL. It will log the data from the laser range finder, and store it as a .2d file.

BaseArnl

BaseArnl includes the path planning and navigation component of ARNL, as well as some base classes and utilities used by the localization libraries.

Mapper3

Mapper3 is a software used for generating maps from laser scans, and adding obstacles and defining areas on the map. Mapper3 will take a laser scan log file (a .2d file) from the sickLogger program and create a .map file. It will also remove moving obstacles like peoples feet. It will leave you with a nice continuous outline of the area it maps. You can even modify the map on a robot over a network connection

A Map of Glassgården, Elektrobygget, NTNU has been made.

MobileEyes

MobileEyes is a GUI for remotely monitoring and controlling the Pioneer LX. This program can be run from a host computer by connecting to the robot over the network. The programs main purpose is to visualize the robots position in a map and its navigation paths. The program can also be used to create maps and to control the robot. When you run the software you are asked to log in with the user name and password of the robot’s OS and to give the IP of the robot.

MobileSim

MobileSim is a Pioneer LX simulator. It is used to simulate the sensor information given in a known environment. When you start MobileSim you select what robot model you are using and what map you want to simulate in. Once MobileSim is running you can start arnlServer which will read the sensors as if you where in the actual real environment.

Location in file system

Aria

/usr/local/Aria/

/usr/local/Aria/examples/

/usr/local/Aria/examples/demo (Aria demo file, with which you can control the Cyborg with the joystick)

ARNL

/usr/local/Arnl/

/usr/local/Arnl/examples/

/usr/local/Arnl/examples/arnlServer

/usr/local/Arnl/examples/sickLogger

The arnlServer can be launched separately if you want to control the Cyborg with MobileEyes. The sickLogger program can be used to log the data from the laser range finder, and creates a .2d file that you can use to create a .map file with Mapper3. We used this program to make a map when MobileEyes was not working. The created .2d and .map files, whether created with sickLogger or MobileEyes, is saved in the folder.

Catkin (ROS)

~/catkin_ws/

~/catkin_ws/src/

When compiling with catkin, your source files should be in ~/catkin ws/src/ and you run catkin make in the  ~/catkin ws/ folder.

Startup scripts

~/start_scripts/sequences.py

~/start_scripts/start.py

~/start_scripts/arnl_start.sh

~/start_scripts/controller_start.sh

~/start_scripts/roscore_start.sh

These files are used for starting the communication with the Startup Box and starting the correct sequence of modules based on the user input from the Startup Box.

start.py

This file initiates the communication with the startup box and parse the response. This should not need to be modified unless the startup box’ USB port number changes.

sequences.py

This file contains the correct starting sequences for all the sequences. Modify this to change a sequence or add a new one.

The shell scripts

The shell scripts have to be used to initiate the correct setup for ROS and catkin upon opening a new terminal to run the modules. If the correct source commands are not present in the shell scripts, the modules will fail to start:

...

If you follow the ROS tutorial these commands will have been added to run automatically upon opening a terminal, but for some reason it is not the case when a terminal is opened from a Python script. Hence these shell scripts are necessary.

Startup Box Files

~/startbox/

~/startbox/main.c

...