先锋机器人学习笔记_1-1 ARIA开发者参考手册

1. Introduction

  You can access ARIA at different levels, from simply sending commands to the robot through ArRobot to development of higher-level intelligent behavior using Actions. (For a description of how to integrate parts of ARIA with your other code, see Piecemeal Use of ARIA.)
    An auxiliary library called ArNetworking is also included with ARIA. ArNetworking provides an easy to use, extensible framework for communication with remote programs over a network, such as MobileEyes.

  Click a class or function link to view its details. A selection of the most important ARIA classes is listed in Important Classes in the menu to the left, as well as Optional ClassesDevice Interface ClassesUtility Classes and Predefined ArAction Classes

   Important Classes:

These classes are essential far all programs using Aria to control a robot. More...

class   ArArgumentBuilder

This class is to build arguments for things that require argc and argv. More...
class   ArArgumentParser

Parse(解析) and store program command-line arguments for use by other ARIA classes. More...
class   ArFunctor

An object which allows storing a generalized reference to a method with an object instance to call later (used for callback functions) More...
一种对象,它允许将一个广义引用存储到对象实例之后调用的方法
class   Aria

Contains global initialization, deinitialization and other global functions. More...
   
class   ArLog

Logging utility class. More...
class   ArRangeDevice

The base class for all sensing devices which return range information from the device (mounted on a robot) to an object in the environment. More...
class   ArRobot

Central class for communicating with and operating the robot. More...
class   ArRobotConnector

Connect to robot or simulator based on program command line parameters. More...
class   ArSonarDevice

Keep track of recent sonar readings from a robot as an ArRangeDeviceMore...
class   ArUtil

Contains various utility functions, including cross-platform wrappers(封装) around common system functions. More...
  
   class   ArLaser

ArRangeDevice interface specialized for laser rangefinder sensors; see ArRangeDevice for more data access methods. More...
class   ArLaserConnector

Create laser interface objects (for any kind of laser supported by ARIA) and connect to lasers based on parameters from robot parameter file and command-line arguments. More...

2. Robot Communication

  

 ArRobotConnector also parses some command line arguments if supplied, which can explicitly specify a remote hostname and/or port to connect with via TCP, or to specify an alternate local serial port to use for robot connection, as well as other options. If a program uses ArRobotConnector, running it with the "-help" command line argument will print a list of options.


3. Specifying Details about Robot and Device Connections

    The device interface and connector classes (ArRobotConnectorArLaserConnector, etc.) need information about what devices are connected and how they are connected, especially if they vary from their defaults.

    This information is obtained from two sources: ARIA's parameter file(s) for the robot, and from program runtime arguments via ArArgumentParser (which reads default program argument values from /etc/Aria.args (on Linux) and the ARIAARGS environment variable (on both Linux and Windows), then reads current program arguments from the command line).

     Furthermore, if you are connecting to a robot over a wireless TCP connection from an offboard computer rather than an onboard computer, you must provide a runtime command line argument giving the robot network name (and optionally port number).

    Arguments are provided to other ARIA classes by an ArArgumentParser object. 

(1)All ARIA programs should create an ArArgumentParser, call ArArgumentParser::loadDefaultArguments() to load any arguments that appear in the /etc/Aria.args file or ARIAARGS environment variable, and provide that object to any class constructors that accept it. 

(2)Once all such objects are created, you can call Aria::logOptions() to print out a summary of all relevant options

 e.g. call Aria::logOptions(); and Aria::exit() if ArArgumentParser::checkHelpAndWarnUnparsed() returns true, because the user gave the --help option. 

       Finally, call Aria::parseArgs() to cause each of them to check the ArArgumentParser

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值