ALMemory
ALMemory包含三种数据并提供三种不同的API。
- 来自传感器和关节的主数据
- 事件
- 小事件(Micro-event)
来自传感器和关节的数据
- 数据没有历史记录。
- 数据仅为32位变量。
- 用户可以获得数据指针,以快速地访问数据。
- 没有数据订阅。
API |
---|
void insertData(const std::string &name, const ALValue &value) |
ALValue getData(const std::string &name) |
float *ALMemoryFastAccess::getDataPtr(AL::ALPtr<AL::ALBroker> pBroker, const std::string &pStrValue, bool bAllowUnexistantVariable) |
在C++语言实时算法里,使用getDataPtr来获得传感器和关节的值。在大多数C++和Python语言的算法里,使用getData。
事件
可以订阅到事件。事件订阅会运行生成该事件的析取器。例如,订阅至事件FaceDetected会运行面部探测;订阅至事件WordRecognized会运行声音识别。默认情况下,析取器不运行。 NAOqi可以管理基于事件的历史记录和长期存储。
API |
---|
declareEvent(const std::string &eventName) |
raiseEvent(const std::string &eventName, const ALValue &value) |
subscribeToEvent( const std::string& dataName, const std::string& moduleName, const std::string& message, const std::string& callback ) |
小事件
小事件主要是内部应用于回调系统。
API |
---|
declareMicroEvent(const std::string µEventName) |
raiseMicroEvent(const std::string µEventName, const ALValue &value) |
subscribeToMicroEvent( const std::string& dataName, const std::string& moduleName, const std::string& message, const std::string& callback ) |
Copyright © 2010 Aldebaran-Robotics - 版权所有