ubuntu16.04 下安装ros和gazebo

在ubuntu16.04 下安装ros和gazebo,主要是参考px4官网的教程,

按照之前的帖子

ubuntu16.04下px4环境搭建与固件编译

为了编译nuttx通过source命令安装了ubuntu_sim_nuttx.sh,其中包含了gazebo8,再通过ubuntu_sim_ros_gazebo.sh: 安装时就会有问题,这个脚本是安装gazebo7的,两者之间有冲突,因此需要卸载gazebo8以及其相关包,通过

dpkg -l | grep gazebo 命令查找当前安装的gazebo包如下图所示,把其中的7换成8,然后通过“sudo apt-get remove gazebo7 gazebo7-common gazebo7-plugin-base libgazebo7:amd64 libgazebo7-dev:amd64”卸载

ubuntu16.04 下安装ros和gazebo_第1张图片

然后继续通过ubuntu_sim_ros_gazebo.sh脚本安装,第一次安装出现了一个问题,

initramfs-tools安装不上,于是单独用下面命令进行安装,结果还是不成

sudoapt-get install initramfs-tools

主要原因是boot磁盘设置的太小,问了其他人,这个boot分区是可以不分的,网上说如果不分boot会默认安装在其他分区上。于是需要释放空间,可以先用sudo apt-get autoremove 采用这句话来释放空间,可以参考我在另一个电脑上装的时候就是先运行了这句话再source .sh脚本就可以了,但在这个电脑上装的时候还是不行,于是就要删除旧的内核,主要参考:

https://blog.csdn.net/sjz_hahalala479/article/details/79727135

https://blog.csdn.net/lgz_ei/article/details/68592265

https://blog.csdn.net/tiankongtiankong01/article/details/53818172

这几个帖子中,主要用到的命令:

uname-a 查看当前版本

dpkg --get-selections |grep linux-image 查看都有哪些内核

sudoapt-get remove linux-image-

删除旧的内核,其中一个内核有两百多兆,后再重新运行sourceubuntu_sim_ros_gazebo.sh实现了安装。

后来参考https://dev.px4.io/en/simulation/multi-vehicle-simulation.html

执行以下各命令,实现gazebo的运行,打开地面站,自动链接gazebo仿真环境,但是需要安装最新的地面站

cd Firmware_clone 这里要换成自己的firmware
git submodule update --init --recursive
make posix_sitl_default
make posix_sitl_default sitl_gazebo
source Tools/setup_gazebo.bash $(pwd) $(pwd)/build/posix_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd):$(pwd)/Tools/sitl_gazebo
roslaunch px4 multi_uav_mavros_sitl.launch









你可能感兴趣的:(ubuntu下px4环境搭建)