先说"/requestGaitCommand"这个消息。当roban准备好接受迈步的指令时,它会以一定频率发送这个消息,反之不会。什么时候准备就绪呢?首先,需要bodyhub切换到步态模式,此时机器人需要一段时间半蹲降低重心,然后才准备好(如果是虚拟赛,并且你的电脑配置不是很好,它蹲的会很慢,可能几十秒)。另外,根据我的研究,它能记住的步态只有两个,也就是说当你已经发送2个指令后,第3个指令就需要等待第1步走完。
如何解决报错?首先它执行走路的方式,包括它接受指令和发布"/requestGaitCommand"的方式你改不了。你有两种能做的事情:
1. 增加等待时间。rospy.wait_for_message()第3个参数是等待秒数,你可以调
2. 在外围增加try/catch包住这段代码,解决exception的方式由你决定。你可以重复尝试,或者报错,请求人工干预等。 |