参考链接:https://github.com/cyberbotics/webots/wiki/How-to-adapt-your-world-or-PROTO-to-Webots-R2022b 本教程教你自己声明!
PROTO 节点是描述复杂对象或机器人的强大方式。然而,PROTO 文件不断发展,错误已得到修复,并且鉴于在加载世界时没有固有的方法来定义要使用的特定版本的 PROTO,由于这些变化,旧的模拟不再具有相同的行为方式。此外,通过添加 JavaScript 作为程序 PROTO 节点的模板语言,将 PROTO 文件作为可以动态下载的外部资产打开了,例如,直接从 Web 呈现 PROTO 文件的可能性。
由于这些原因,从 R2022b 开始,世界使用的所有 PROTO 文件都需要使用EXTERNPROTO 关键字声明。同样,主管在执行模拟期间插入的每个 PROTO 都需要在导入之前声明为 IMPORTABLE EXTERNPROTO。
直观的体现是用R2022b版本的Webots打开以前建立的世界的时候会显示: 可以看到第一行,请按照以下指示将您的项目调整为R2022b: 然后后面给了一个链接,内容为如何将你的世界和节点转化为新版本适用的。
想要消除第一行的错误,只需要将你的 .wbt 文件,也就是world文件用记事本打开,注意别用写字板打开,不然保存后编码会变,导致你的文件损坏。建议备份后操作!
然后将第一行的“ #VRML_SIM R2022a utf8 ”中的R2022a改为R2022b,保存即可。
然后再次用Webots R2022b 打开刚刚的文件,你会发现第一行报错消失了,如果你的世界还添加了PROTO节点,那你会发现还是有报错,如下图所示:
将上述报错复制下来,然后粘贴到记事本上,然后删除前后两端,剩下如图所示的部分:
关闭Webots软件,将你刚刚修改过的的 .wbt 文件,也就是world文件用记事本打开,注意别用写字板打开,不然保存后编码会变,导致你的文件损坏。建议备份后操作!
复制处理好的部分,插入到‘“ #VRML_SIM R2022a utf8 ”的下一行,如图所示:
然后保存,你就会没有报错了。