检查机器人是否与充电站连接和断开

2024-07-07 06:35:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Aldebaran的Nao,我想编写一个python脚本来检查电池是否正在充电。在

有关于naoqi模块的文档。我找到了这个事件1。但这是一个事件。在我看来,我可以等一个事件,但我不能像个傻瓜一样读它。我说得对吗?在


Tags: 模块文档脚本电池事件aldebaran傻瓜nao
3条回答

In my opinion I can wait for an event, but I can't read it like a bool. Am I right?

电池不可能。发布的每个事件都会发送一个信号,“翻转”ALMemory中的开关。只有当某个量存在这样的存储键时,才能读取它们的值或状态。否则,信息将丢失,无法检索。在

例如,每次充电百分比改变时,都会触发一个事件并向该内存键发送一个信号:

Device/SubDeviceList/Battery/Charge/Sensor/Value

然后,您可以使用提供的API直接读取此值,就像您在问题中通过方法描述的那样。对于充电,根本就没有这样的钥匙。在

你可以试试:

^{pr2}$

访问事件的布尔变量:“BatteryPowerPluggedChanged”,将得到true/false。但这对您没有帮助,因为如果您事先没有订阅事件,它将不会反映实时更改。在

希望这有帮助。在

This linked page表示有电流和电荷%值可供读取。我会测试这些,看看充电时电流的信号是否会改变,与使用电池时相比。或者,检查充电百分比上升是否足够快,以检测到正在充电。在

您可以使用ALMemory API订阅事件“BatteryChargingFlagChanged”:http://doc.aldebaran.com/2-4/naoqi/core/almemory-api.html#ALMemoryProxy::subscribeToEvent__ssCR.ssCR.ssCR

这个方法接受一个回调:只需定义一个可以设置一个可以使用的标志的回调。在

相关问题 更多 >