ALAutonomousLife (自主生活)
简介:ALAutonomousLife (自主生活)模块是在机器人在自主状态时自动启动的一些活动,在同一时间只能运行一个。机器人默认是开启自主生活的。
如何设置自主生活状态?
l 如何开关自主生活?
1、双击机器人胸部按钮
2、Choreograph软件点击一个心形按钮
3、在Nao的网页中
l 开启自主生活后是怎样的?
如果它是蹲着,他会站起来;如果他是坐着,他仍然坐;
开启后他会识别你的脸,等待和你互动
事实上,你想实现自主生活你需要做好一些准备工作,首先需要配置好Basic Channel(基本频道),就是安装好一些对话包等安装包,这个在store里可以下载或者自己安装,你安装的东西越多,会让你的机器人显得越智能,怎么安装这里不作介绍。
BasicChannel
那我们什么时候需要关闭自主生活?
测试新程序或研究机器人的一些功能时可以关闭,这样就不会影响你的程序运行。
Nao有4种状态,分别为Interactive, Solitary, Safeguard and Disabled(互动、孤立、保护和禁用,不知道是不是这样翻译的),Interactive,Solitary状态下任何活动都可以通过ALAutonomousLifeProxy :: switchFocus()启动,而Safeguard和Disabled任何活动都不可以启动,Safeguard状态下可以进入一个更高级别的事件,Disabled状态可以用ALAutonomousLifeProxy:: setState()退出。
APIs
方法和事件列表
自主生活方式状态管理:
§ ALAutonomousLifeProxy ::的setState()
手动设置状态,4种状态已经在前面说了。
注意:手动从交互状态更改为单独状态将失败。
§ ALAutonomousLifeProxy ::的getState()
获取机器人的生活状态
§ ALAutonomousLifeProxy :: setRobotOffsetFromFloor()
允许机器人在地板甚至更高的地方
参数:offset—以米为单位的浮点数值
§ ALAutonomousLifeProxy :: getRobotOffsetFromFloor()
检索机器人当前的偏移位置
§ ALAutonomousLifeProxy :: setSafeguardEnabled(const std :: string& name)
需要考虑到的保护措施
name—保护的名称包括:RobotPushed, RobotFell, RobotMoved,CriticalDiagnosis, CriticalTemperature
§ ALAutonomousLifeProxy :: isSafeguardEnabled(const std :: string& name)
判断保护的措施是否被处理。如果处理了,返回true.
重点活动的管理:
§ ALAutonomousLifeProxy::focusedActivity()
查看当前的重点活动
§ ALAutonomousLifeProxy::switchFocus()
运行某个活动
§ ALAutonomousLifeProxy::stopFocus()
停止某个活动
§ ALAutonomousLifeProxy::stopAll()
停止所有活动
以上纯属个人理解,欢迎各位大神赐教!