前言

之前我在Webots7.4.3上进行过Nao的仿真。(具体如何构建此仿真环境可以参考https://www.codenong.com/cs105901615/)。

Webots7.4.3上Nao的naoqi版本是1.14.3,走起路容易摔倒,左转、右转也转不到位。所以想试试Webots新版下,会不会优化的好一些,毕竟naoqi升级到了2.1.4。

结论:

得益于naoqi大版本的升级,效果还是挺明显的。在同样一个场景下,机器人走路再也没有摔倒过,摇晃也基本没有。左右转、后转比之前有好转,有时能够转到位,有时没有办法转到位,但是比以前到达预期位置的误差角度小多了。

本文提供了编译好的naoqisim文件(见标题二末尾),可以直接下载使用。


在Webots 2019a revision 1下,使用Naoqi控制虚拟环境中的Nao机器人。

平台:windows10

编译Naoqisim,并导入到Webots中

naoqisim是Nao机器人在Webots平台上的controller。

准备材料:

  1. naoqisim源码
  2. MSYS2——window下的包管理软件,用来安装一些库或软件(gcc、make等)
  3. Microsoft Visual Studio C++ 2010 Express

第三个文件不好下载。网上大部分给的都是在线安装的exe,容易出问题退出。

这里给一个目前(2021年)可以用的下载教程(Visual c++ 2010 express 学习版离线安装方法)。

步骤:

  1. 首先,使用MYSY2进入下载好的naoqisim根目录下,执行make。脚本会自动下载Nao Simulator SDK并安装。
  2. 然后,使用下载的Visual Studio 2010 打开controllers/naoqisim/naoqisim.sln`,进行编译,这样就得到了naoqisim这个controller。
  3. 接着,将naoqisim根目录下的aldebaran文件夹(其中有SDK)复制到Webots下的projects/robots/softbank/nao/目录中,再将刚才编译的controllers/naoqisim文件夹复制到projects/robots/softbank/nao/controllers/下。
  4. 最后,打开适用于nao机器人的world文件,在场景数中找到Nao机器人元素,设置其中的contorller和naoqi运行的端口(见下图)。image-20210810001130466

这里给一个编译好的文件链接(提取码:evk5),下载并将对应的文件夹移入Webots Nao机器人目录中,直接使用。

Troubleshooting

  1. MSYS2如何进入到你下载好的naoqisim目录。

    如何你打开MYSY2 console,pwd发现是在/home/[Username]目录。

    写绝对路径,来访问吧。

    cd /c/User/[Username]/Downlaods/naoqisim-master

    注意这里,是linux下的文件分割符“/”,同时盘符前需要加“/”。

  2. 在naoqisim目录下,make。提示command not found;

    pacman -S make

    pacman -S unzip(我系统下这个也没有,make不下去了)

  3. 再次make,报错

    从错误前的log信息可以看出此时simulator-sdk已经有了。报错主要是应为controller的问题。就是说controlelr中编译有问题。

    naoqisim项目的readme文件,提示我们。有了sdk之后,需要在vs2010中打开项目来编译controller

  4. vs2010中打开naoqisim.sln,生成。再次报错 error MSB8008。

    按照这个博客的方法,将平台工作集设置为v100,即使用VS2010打开工程。

温馨提示

choregraphe要装对应版本的,也就是2.1.4,新版本无法连接虚拟环境中的Nao。