1. 代码来源:
GitHub - 20chase/menge_gazebo_generator
menge是进行人群动态模拟的仿真程序,可以使用以上链接的文件生成外壳从png图片生成相应的gazebo world
2. 使用:
下载代码后,使用时主要出现了如下方面的提示:
缺少scipy、imageio、pillow等python部件;
存在python2、python3兼容性问题;
用pip install下载安装上述缺失部件时容易遇到因网络不好产生的连接超时问题。
可尝试的解决以上问题的命令有:
sudo pip --default-timeout=9000 install --target=/usr/local/lib/python3.5/dist-packages/ --upgrade pillow
其中default-timeout解决超时问题,target参数解决python2和3兼容问题、或找不到正确的python调用路径问题
3. 适配修改:
3.1 修改main.py文件中的
python menge_generator.py
python world_generator.py
命令为
python3 menge_generator.py
python3 world_generator.py
可正常运行
3.2 制作给此工具的input时,除scene_nameWalls.png外,还需制作一个scene_name.xml文件,此文件写为只包含
<data>
</data>
的空文件即可
将scene_nameWalls.png图片复制并重命名为scene_name.png,才能满足所有input要求。
至此可以使用任意一张显示房间布置的png地图直接生成相应的gazebo world文件
举例:随机迷宫地图
4. 在其他计算机上的更多适配问题:
可能还需要的命令:
sudo apt-get install python-pip
sudo pip3 install --target=/usr/local/lib/python3.5/dist-packages/ --upgrade imageio
sudo pip3 install --target=/usr/local/lib/python3.5/dist-packages/ --upgrade scipy
5. 在使用来自链接: https://arxiv.org/pdf/1903.09845.pdf
的house plan库中的png图片时,在代码menge_gazebo_generator/MengeFileGenerator/quadtree_map.py第30行发生了错误:
IndexError: too many indices for array
使用print(np.size())发现问题来自image[:w_middle, :h_middle, :],将self.children[0至4]四个等式右边的image全部降为二维,再次运行,则example文件夹中的png和house plan库中的png都可以使用。