前情提要
最近在做一个机器人项目,使用了Orange Pi 5B,arm64架构的开发板,需要用到仿真软件进行算法测试,但是安装了ROS2后发现无法找到gazebo11包。
原因
我在gazebo的官方github仓库里的issues中发现了外网老哥们也遇到了这个问题,
https://github.com/gazebosim/gazebo-classic/issues/3236大家可以自己去看。
gazebo的开发人员给出了回答:
从Ubuntu 22.04开始,我们将不再在Open Robotics基础设施内发布Gazebo11二进制包。取而代之的是,我们依靠社区的努力(我们努力帮助他们中的任何一个)来打包该软件。在Ubuntu/Debian的情况下,我们一直在为Debian做贡献,将Gazebo软件包作为Debian的官方软件包来维护。当一个新的版本正在开发时,Ubuntu通常会从Debian同步软件包。
对于Ubuntu gazebo11官方软件包,它们只适用于amd64。原因是Debian/Ubuntu内部的软件包依赖于libqtpropertybrowser-dev(仅适用于amd64)。当我们在Open Robotics自己的基础设施中发布该软件包时,我们嵌入了libqtpropertybrowser-dev的部分代码,所以平台限制没有出现。
为了在这种情况下帮助你,我设置了一个Launchpad PPA来发布使用嵌入式代码的Gazebo11,你可以在https://launchpad.net/~openrobotics/+archive/ubuntu/gazebo11-non-amd64找到arm64和ppc64el的包。
因为没发布所以找不到。
解决方案
iuuse里面官方老哥已经给出了,我在这里再复制一遍:
先执行以下代码更新软件源:
sudo add-apt-repository ppa:openrobotics/gazebo11-non-amd64
sudo apt update
然后重新安装gazebo11:
sudo apt install gazebo
不出意外就可以成功安装gazebo11了
更多问题
issue里官方老哥还说了,虽然他们提供了gazebo11的安装方法,但是ROS官方没有添加gazebo_ros_pkgs ,所以只能大家使用gazebo11自行编译添加了。