NAO 机器人沉入地板(网络机器人)

NAO robot sinking into floor (webots)

我的 NAO 机器人陷入网络机器人地板时遇到了问题。对于地板 material,我尝试过平面、盒子、普通地板等。在所有情况下,一旦将 NAO 的 selfCollision 设置为 TRUE,当我开始模拟时,机器人就会在地板上发臭。

谁能告诉我问题出在哪里?

这是我的世界文件的link

我尝试过的其他事情(但没有帮助): - 将 basicTimeStep 降低到 [1, 8) 范围内的值 - 将 ERP 从 0.6 增加到 1 - 降低 CFM(虽然这似乎不成立,因为当我保存世界文件时,它重置为 1e-05) - 将世界联系 material 从 'NAO material' 更改为 'NAO foot material' 但这导致机器人在世界中迷失(完全从视野中消失)

这是由于 Webots 资源中 Nao.proto 定义中的一个错误。触摸传感器的 boundingObjects(定义碰撞)与脚体重叠。这会导致强大的内力和与地板的奇怪碰撞。

我在这里创建了一个修复程序:https://github.com/cyberbotics/webots/pull/1117

您可以直接在 WEBOTS_HOME/projects/robots/softbank/nao/protos/Nao.proto 文件中应用这些修改:

diff --git a/projects/robots/softbank/nao/protos/Nao.proto b/projects/robots/softbank/nao/protos/Nao.proto
index 22e75abe0..23c87c55f 100644
--- a/projects/robots/softbank/nao/protos/Nao.proto
+++ b/projects/robots/softbank/nao/protos/Nao.proto
@@ -4058,8 +4058,13 @@ PROTO Nao [
                                                 }
                                               }
                                             }
-                                            boundingObject DEF BUMPER_BO Box {
-                                              size 0.02 0.025 0.01
+                                            boundingObject DEF BUMPER_BO Transform {
+                                              translation 0.0075 0 0
+                                              children [
+                                                Box {
+                                                  size 0.005 0.025 0.01
+                                                }
+                                              ]
                                             }
                                             lookupTable [
                                             ]

..或等待补丁合并到Webots;它肯定会包含在明天的 revision 夜间构建或下一个 Webots 版本中 (> R2019b.rev1): https://github.com/cyberbotics/webots/releases)