因为我们直接从电池中切断了电源(需要更大的电流),所以我们发现必须将模式从
passive
切换到full
并返回,以便它检查电压并从trick流返回如果已经过了几个小时并且计算机已将电池放电,请充满电。这是因为the流充电算法不会检查电压,因为它假定Roomba上的负载不足以放电。我们以这种方式开始失败,现在已经验证了是否仅插入一台笔记本电脑通过usb串行电缆进入创建状态,而没有插入其他任何东西,然后切换无源/完全/等待/无源,有百分之一的时间,如果没有任何单独的硬件,我们也会遇到通信故障。
因为在没有通信5分钟后,create 2会关闭,我们尝试每4分钟切换一次它,看看它确实发生了,所以这不是create 2进入睡眠模式的问题。
再现性
我们看到了一个非常可重复的问题,串行通信(使用iRobot的当前USB串行电缆)在开始充电时会丢失与机器人的串行通信的时间百分比机器人。之后,很长一段时间没有任何数据包从机器人进入。一段时间后,当我们反复尝试从被动切换到完全切换时,重新出现了通信。
我们已经使用ROS堆栈(create_autonomy)进行了验证,并且还通过直接在命令行
echo -e "\x07" > /dev/ttyUSB0
上回显字符来重置内容进行了验证。串行电缆无法正常工作,等等。我们必须从物理上将其从充电器上取下(或等待很长时间,直到我们的系统再次将其切换为正常为止。我们已经验证了这种情况(当create 2在其充电器上时)位于:
Mac仅通过create电缆插入而系统未取电。
NUC直接从电池中取电通过DC / DC转换器。
NUC从创建的中间电池中取电。在所有电缆上都可以减轻高频噪声,但这似乎也无法解决。
我们还尝试了3种带有不同串行/ USB芯片的专用电缆,甚至构建了自己的电缆从头开始并没有固定它。 >我在下面附加了链接,其中包含失败时输出数据的图表。当电流/电压上有一条直线时,即重复的数据,表明它被卡住了并且没有更新。当系统增加电流以再次开始充电时,它总是会正确发生,因此它似乎与电流尖峰有关-但只会使其破裂1/5或10次-碰巧一旦破裂,它将保持这种状态
多次成功切换后通讯失败
详细显示通讯何时失败的详细信息
几分钟后,通讯又恢复正常了
发生故障时,我曾尝试关闭软件并通过直接向其回显数据以使OI关闭,打开,重置等方式对系统进行寻址,但看不到通信正确恢复。如果我们用手将Roomba从充电器上拔下(将其拔出),那么它确实可以工作很多次,但并非总是如此。如果我们随后按住按钮重置所有内容,则它似乎确实可以在95%的时间内正常工作,有时我们甚至不得不拉动电池才能使其正常工作。
如果有人遇到过这种情况之前,建议会有所帮助。我们曾以为这是接地回路问题,但鉴于它存在于许多不同的电缆,室内机,电源状况和计算设备中,因此我们正在尝试找出设置方面的根本错误。
谢谢!
#1 楼
在Create 2上实现睡眠/唤醒存在一个错误,该错误已在版本3.8.2中修复,适用于具有较旧处理器的机器人,或者版本stm32-3.7.7适用于具有较新处理器的机器人。要接收将(希望)解决您问题的代码更新,请发送电子邮件至create@irobot.com,并参考此帖子。请注意,我是iRobot员工,这个网站是我自己的,不一定代表iRobot的立场,策略或观点。
#2 楼
当Create 2进入无法与之通信的状态时,您是否尝试过手动按下Clean按钮?如果可靠地起作用,您是否考虑过将NUC控制的继电器添加到通过直接连接到“清洁”按钮触点来关闭这些触点。
另一种方法是添加带有臂的NUC螺线管或伺服器,以手动按下清洁按钮
评论
$ \ begingroup $
这是一个好主意!我们已经订购了2个4个中继板,将尝试从主电路板上断开电池连接,并从板上断开充电触点,以查看是否成功触发了它。看来系统可以进入睡眠状态而不是崩溃,并且我们可以使用BRC引脚可靠地将其打开一秒钟,但它不会自动关闭充电器。一旦完成,便会有更多更新!
$ \ endgroup $
– hcl337
18-4-20在22:09
$ \ begingroup $
在给BRC脉冲时,我也经历了“一分钟窗口”,它可以接受任何命令,除了运动命令。但是,在那1分钟的窗口中,如果我发送了Reset(7)命令,则我有5分钟的窗口来发送运动命令并将其退离码头
$ \ endgroup $
– Faengelm
18-4-20在23:33
#3 楼
我还有一个建议给您,因为拆开Create 2来访问Clean按钮的触点还需要很多工作。 。我可以高兴地报告,它确实唤醒了在其基座上向Roomba充电的细流。实际上,它的行为与按“清洁”按钮非常相似。您可以通过使用带有红外LED和软件的Arduino板替换红外遥控器来清理此模块。红外遥控器的作用类似于“清洁”按钮,但不完全相同。短按“清洁”按钮将打开绿色LED,再短按一次将启动清洁周期。长按不起作用。短按可用于中断并重新启动清洁周期在红外遥控器上,对接时短脉冲(500毫秒)将不起作用,但是单个长脉冲(> 1500毫秒)将开始清洁周期。
您可以中断清洁周期并以短脉冲重新开始清洁周期。长脉冲似乎会切换绿色LED。
还有一件事……如果您选择使用控制器的OI移动命令停止清洁周期,这是我们真正想实现的远程呈现机械手,红外脉冲将不再能够控制Roomba。如果希望通过IR重新获得控制权,则必须发送Stop(173)命令。
您可以在此处找到一些其他详细信息。 http://www.ez-robot.com/Community/Forum/posts.aspx?threadId=10953&page=11
评论
$ \ begingroup $
对不起,麻烦;尝试做正确的事情,并尽可能有效地获取信息。您对选择哪个职位做出“规范”答案有标准吗?我也计划在发布最终版本后使用修订版本编号进行更新。编辑规范答案是最好的方法吗?一旦您给了我指导,我将在美国东部时间早上进行清理。
$ \ endgroup $
–史蒂夫
18年7月18日在4:20
$ \ begingroup $
我已经阅读了这两页,并且正在选择这篇文章作为规范答案。我已从其他副本中删除了答案,而是用链接到此答案或12846中的答案的注释替换了它们。关于“如何成为垃圾邮件发送者”,请注意,我是iRobot的员工,但是此网站上的帖子属于我本人,不一定代表iRobot的立场,策略或观点。
$ \ endgroup $
–史蒂夫
18年7月18日在13:16
$ \ begingroup $
嗨,马克。感谢您的轻柔纠正和后续确认。我将继续浏览以前的帖子,并在适当的时候标记我的从属关系。
$ \ endgroup $
–史蒂夫
18年7月18日在13:37