Release Announcement 090501
From MobileRobots Research and Academic Customer Support
May 1, 2009
MobileRobots has released new versions of all research/development software, including ARIA, ARNL, SONARNL, MobileEyes, Mapper3 and MobileSim. ARIA and ARNL include some important changes, summarized below.
Packages for Linux and Windows, as well as detailed change logs, can be downloaded from our customer support site <http://robots.mobilerobots.com>.
As always, if you have any questions or problems, contact us at firstname.lastname@example.org
See more detailed changes list at <http://robots.mobilerobots.com/ARIA/Changes.txt>
Download ARIA at <http://robots.mobilerobots.com/wiki/ARIA>
This release introduces a change that will allow ARIA to better support multiple range finding devices of different kinds on a robot. This includes new ArRobotConnector and ArLaserConnector classes that replace ArSimpleConnector, and a new ArLMS2xx class that replaces ArSick, and a new ArLaser base class. (All old classes remain for compatibility.) In addition, details on what types of lasers the robot is equipped with, and their configuration details, are configured either in the robot's parameter file, or specified on the command line. Instead of creating an ArSick object, a program can now let ARIA create the appropriate ArLaser objects based on this configuration information (these objects are stored in a list in the ArRobot class). See the reference documentation and example programs for information on how to use ArRobotConnector and ArLaserConnector.
ARIA also now supports the Hokuyu URG laser rangefinder (specificially the URG 04-LX and other compatible SCIP 1.1 URG devices).
Visual C++ 2008
Visual C++ 2008 solution and project files are now included with ARIA.
Java 1.6 is now used to build the Java wrapper libraries rather than 1.4.
The Java wrapper libraries are now provided in Java packages (rather in the global namespace): these packages are com.mobilerobots.Aria and com.mobilerobots.ArNetworking. You will need to modify Java code to import classes from these packages.
On Windows, the ws2_32 network sockets library is now used instead of wsock32.
Aria now includes classes to support the RVision PTZ camera, Hokuyu URG (04-LX/SCIP 1.1) laser, some additional GPS data (if receiver provides it), lateral motion on a Seekur robot, and various other miscellaneous improvements and features.
ArNetworking ArServerModeRatioDrive will now stop the robot if it does not receive a new command from a client after 2 seconds. This prevents runaway robots if a wireless network connection is lost. You must update to MobileEyes 2.2.4 or greater which supports this. (You can also disable this behavior in ArServerModeRatioDrive.)
ArNetworking now has new support for delaying the processing of an ArConfig update until the robot is idle (e.g. has finished going to a goal). MobileEyes 2.2.4 also now supports this new idle config processing mode, if present in the server. (You can disable idle processing by setting a flag in ArServerBase).
ARNL, SONARNL and MOGS 1.7.0
See more detailed changes list at <http://robots.mobilerobots.com/BaseArnl/Changes.txt>
Download at <http://robots.mobilerobots.com/wiki/ARNL>
Important Change to Localization Components
This release introduces an important change in the way ARNL is distributed: Instead of a single library (either libArnl or libSonArnl) being provided, ARNL has been split into a base library (BaseArnl) that includes common utilities and the path planning features, plus separate libraries each containing a localization method. There are currently three localization libraries available: ARNL (laser localization), SONARNL (sonar localization) and MOGS (new GPS positioning/localization).
If in the past you used ARNL, you must now install and link to the BaseArnl library in addition to ARNL. If in the past you used SONARNL, you must now install and link to the BaseArnl library in addition to SONARNL. The C++ API remains almost entirely compatible with previous versions, though some features have been moved into base classes.
Parameters for all localization methods are now stored in separate sections within one configuration file, arnl.p. sonarnl.p is no longer used.
Also, instead of only one laser or sonar localization object allowed, multiple localization task objects can now optionally be handled and merged into one pose. This is done using weighted averages of the estimates from the different localizations. The weights are related to the uncertainity of the estimates. The actual merging of the localization information is done by an ArLocalizationManager object. This object invokes "moveTo()" on the robot after the merge to change its pose.
(If you only want to use one localization method, you can only create a localization task object, as before, ArLocalizationManager is not needed in this case.)
Java 1.6 is now used to build the Java wrapper libraries rather than 1.4.
The Java wrapper libraries are now provided in Java packages (rather in the global namespace): these packages are com.mobilerobots.BaseArnl, com.mobilerobots.Arnl, com.mobilerobots.SonArnl and com.mobilerobots.Mogs You will need to modify Java code to import classes from these packages.
Visual C++ 2008
MS Visual C++ 2008 (MSVC 9) is now supported. VC9 libraries and DLLs are included, as are VC9 project files for the example programs.
Other Changes and Fixes
- The guiServer and guiServerSonar example programs have been replaced with arnlServer, sonarnlServer and mogsServer example programs. These examples are provided with the relevant localization packages.
- ArNetworking now has new support for delaying the processing of an ArConfig update until the robot is idle (e.g. has finished going to a goal). MobileEyes 2.2.4 also now supports this new idle config processing mode, if present in the server. (You can disable idle processing by setting a flag in ArServerBase).
- Bug fixed in ArPathPlanningTask::getPathFromTo() (double unlock of map)
- The PlanEveryTime option has been removed from configuration.
- Final goal approach movement does more checking to determine whether any obstacles may violate the front and side clearance and padding parameters.
- Changes to make ArPathPlanningTask and ArLocalizationTask work with any range device and any laser, not just SICK lasers and Pioneer sonar.
- A new parameter has been added, CheckInsideRobotRadius. If true (default), ARNL will now not move the robot if any obstacles are detected within the radius of the robot body, i.e. if the robot could hit the obstacle by rotating.
See more detailed changes list at <http://robots.mobilerobots.com/MobileEyes/Changes.txt>
Download ARIA at <http://robots.mobilerobots.com/wiki/MobileEyes>
Many improvements and bug fixes since 1.1.14, the last general public release, including the following highlights:
- Modified driving so that it repeatedly sends the drive command to the robot: The new ArNetworking server times out if a drive command is not received within some period of time, this keeps it going as long as there is a working network connection with the robot.
- Added various features to better support display on a touchscreen.
- Increased the width of the camera's pan/tilt/zoom numerical fields so that the values are not truncated.
- Added support for the new robot idle processing behavior (if supported by the server). When the configuration is changed on a server that supports idle processing, the robot postpones the update until it is no longer busy. (For example, after a robot reaches a goal.) MobileEyes displays a new "update pending" status, along with new informational messages. It also handles configuration and map updates differently in this scenario.
- Many improvements to how MobileEyes works with multiple servers at once. (MobileEyes can connect to multiple robots servers by listing them in the "Robot Server" field of the connection dialog, separated by commas, or by connecting through a proxy "central server".
- Added support for robots that have lateral control (such as Seekur). The joystick behavior has been enhanced, the Drive Robot toolbar contains two new buttons, and new Ctrl key bindings have been added to the map view and robot list.
- Replaced the robot drive buttons (Forward, Reverse, etc.) on the robot toolbar with a single Drive button. Turn on this button to display a new "Drive Robot" palette which contains triangular buttons for each of the directions. If this popup window has keyboard focus, keyboard arrow keys may also be used to drive the robot.
- Also replaced the map pan buttons (Pan Up, Pan Down, etc.) on the map toolbar with a single Pan button. Turn on this button to display a new "Pan Map" palette.
- Added the ability to drive the robot using the Ctrl-arrow keys when the robot list has focus. (This only applies to the multi-robot environment.)
- When MobileEyes is minimized, it now stops making requests for data displayed on the map (resulting in reduced network traffic as well as local CPU use).
- Fixed an intermittent problem that caused the robot icon to disappear from the map when MobileEyes was connected to a central server.
- Fixed a bug that occasionally caused the crash dump file to be written to an incorrect directory.
- Made changes to reduce the number of times a map is downloaded when it has been updated on the central server.
- Additional improvements related to running on dual processor PCs.
- Added support for the new "localization initializing" robot status. The Localization dialog box now prompts the user to wait while localization is in progress.
MobileEyes 2.2.4 has been observed to crash occasionally, but only on dual-processor or dual-core systems. (A work around is to force the affinity of MobileEyes to one processor.) This bug will be fixed in a future version.
See more detailed changes list at <http://robots.mobilerobots.com/MobileSim/Changes.txt>
Download MobileSim at <http://robots.mobilerobots.com/wiki/MobileSim>
Various bug fixes and minor features, including support for points in maps (in addition to lines), better map loading, new command line options, and more. See Changes.txt for details.
Mapper3 and Mapper3Basic 2.2.5
See more detailed changes list at <http://robots.mobilerobots.com/Mapper3/Changes.txt>
Various bug fixes and features, including the following:
- Improvements to scan conversion
- Now supports scans from multiple laser devices in .2d scan log files and in map files
- Corrected a bug that occurred when a map file is saved as an image (JPEG file).
- Fixed crash in importing .2d files.
- Corrected an intermittent error in the location of goals when importing .2d files.
- Do not open invalid scan (.2d) files. Valid scan files start with LaserOdometryLog.
- Added support for a new "raw" mode in the scan processing. This mode may be turned on by clicking the Scan Tools, Settings button, selecting the Scan tab, and changing the Processing Mode item to Raw.
- The map file can no longer contain any comments (e.g. text that follows the "#" or ";" characters). These characters may now be used in the map info definitions.
- Corrected an error that caused the "%" character to be followed by a random number when written to a map file.
- Added a new "Step" button to the Scan Tools. Click this button to pause the processing and add a single scan. The current scan number is now displayed in the status bar. These features are both applicable only while scans are being added (i.e. before
registration and cleaning).
- Added a new Scan Tools, Settings, Processing preference that allows multiple scan files to be processed in "batch mode". When running in batch mode, each scan file is automatically saved as a map file and closed; processing of the next file occurs without operator intervention (as long as no errors occur).
- When the user creates an unusually small forbidden area or other map object (probably by mistake), a warning is now displayed.
- Added a description attribute to all map objects. The description can be entered in the map item edit window, and it is displayed in the map object's tooltip. (For Aria users, note that the unused ArMapObject fileName attribute has been deprecated.)
- Added the ability to save the current map rotation as the default to be used for map display (in Mapper3 and in MobileEyes). To save the rotation, choose Main Menu, Map, Rotate, Save as Default.
New Support Website
If you have not visited this site for a while, you may notice some changes. We have redesigned the site and added many new pages containing answers to some of the most common questions and problems that may not be covered or are difficult to find in the manuals as a new "knowledge base".
This knowledge base can be accessed at Special:Categories or by searching the site. If there is a topic you would like to see discussed in the knowledge base, let us know.
The FAQ has been updated and can be found at: FAQ
A new page has been added that provides an overview of computer device drivers for different computers and devices: Drivers
Some pages have also been opened for your contributions, such as your experiences with different devices, lab exercises and other teaching resources, links to your own school or project websites, and more. If there are any topics or areas you would like to contribute information to, or have any ideas for the site in general, please let us know.
Find more about this aspect of the new site here: Adding to this Site
The new site also includes an RSS feed for occasional news announcements (such as this software release). Use the URL below or visit the site to add to your reader.
MobileRobots Inc. Has Moved to a New Address
On March 1, MobileRobots Inc. relocated to a new (nearby) building. Our mailing address has changed to:
MobileRobots Inc. 10 Columbia Dr. Amherst, NH, 03031 USA
Our phone number remains +1-603-889-7960, and our support email address remains email@example.com.