【Ubuntu18.04】PX4+Gazebo+ROS仿真环境(提供镜像)& Systemback从物理机还原到虚拟机的方法

2023-05-16

备注:该文章提到的从物理机还原到虚拟机的方法适用于多人共享物理机环境时使用,且ISO文件无法正常完成启动的情况下(本人就无法通过网上那些systemback大于4GB的sblive转换为ISO文件正常完成系统还原)

目录

  • 环境准备
  • 一、 虚拟机安装原始Ubuntu系统(制作系统启动盘)
    • 1、 下载iso文件
    • 2、 按照如下流程,加载iso到虚拟机
    • 3、 开启后会自动开始安装流程,等待进度条加载结束进入系统即可。
  • 二、 制作系统启动盘
    • 1、 安装systemback
    • 2、 将sblive文件放入根目录(/home)下
    • 3、 打开systemback
  • 三、启动盘启动 安装系统
    • 1、 删除原虚拟机
    • 2、 添加U盘设备
    • 3、 进入虚拟机BIOS
    • 4、 通过+、-号调整启动顺序
    • 5、 重启虚拟机
    • 6、 选择第二项
    • 7、 等待启动
    • 8、虚拟机设置
  • 四、 虚拟环境启动方法及代码修改方法

环境准备

仿真环境:PX4+Gazebo+ROS(MAVROS)
Ubuntu18.04原生系统ISO及附带环境的sblive文件下载链接:

链接:https://share.weiyun.com/gCeVnPf3 密码:e8xmum (原链接失效)请采用新地:https://share.weiyun.com/Rh5vzfVu
主目录文件包下载链接:链接:https://share.weiyun.com/kKKHWP6o 密码:pq4ib4
虚拟机环境:VMware Workstation 15.0 PRO以上(测试使用的是16.0 PRO版本)
提前准备一个无用(或者没有数据)的U盘(空间最好大于8GB)

一、 虚拟机安装原始Ubuntu系统(制作系统启动盘)

1、 下载iso文件

在这里插入图片描述

2、 按照如下流程,加载iso到虚拟机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之后一直确定即可。

3、 开启后会自动开始安装流程,等待进度条加载结束进入系统即可。

在这里插入图片描述

二、 制作系统启动盘

1、 安装systemback

(Ctrl+ALT+T打开终端,终端复制Ctrl+Shift+C,终端粘贴Ctrl+Shift+V)

删除源:

sudo add-apt-repository --remove ppa:nemh/systemback

添加源:

sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"

添加签名

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B

更新并安装:

sudo apt-get update
sudo apt-get install systemback -y(由于缺少依赖项会安装时间比较长)

2、 将sblive文件放入根目录(/home)下

(可以直接从本机传输到虚拟机,安装插件即可拖动)

直接从本地拖拽进当前用户home目录下(需要安装插件虚拟机会自动提示,发生错误多试几次,虚拟机管道传输文件会有可能发生文件错误)

然后执行如下命令:

cd ~
sudo mv systemback_live_2021-01-26.sblive /home/systemback_live_2021-01-26.sblive

3、 打开systemback

选择创建live系统,插入准备制作启动盘的U盘,预计至少需要16GB容量的U盘。

在本机下载UltraISO
打开后插入U盘,点击“写入硬盘映像”
在这里插入图片描述

点击格式化
在这里插入图片描述

完成后点击便捷启动 如下选择:
在这里插入图片描述

打开systemback:

sudo systemback

按照下方流程完成操作
① 插入U盘
在这里插入图片描述

② 选择Live system create
在这里插入图片描述

③ 制作启动盘
(截图有误 大小应该为5.91GiB)
等待完成即可。
在这里插入图片描述

三、启动盘启动 安装系统

1、 删除原虚拟机

(如果想留也可以留着)
在这里插入图片描述

新建空白虚拟机(硬盘大小根据情况调整 建议大于50GB 内存建议大于4GB)否则3D仿真环境运行会比较卡顿
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之后一直下一步即可

2、 添加U盘设备

(执行此步前插入刚制作好的启动盘)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

之后一直确认即可。

3、 进入虚拟机BIOS

在黑屏进度条阶段按住F2
在这里插入图片描述

4、 通过+、-号调整启动顺序

如下图所示顺序(记住原来的启动顺序,后面有用)。F10保存退出并重启虚拟机。
在这里插入图片描述

5、 重启虚拟机

6、 选择第二项

(乱码原因是原系统使用了中文)等待1~2秒后Enter键进入到如下界面(输入密码)
在这里插入图片描述
在这里插入图片描述

7、 等待启动

输入相关信息 建议用户名不要太复杂 后面需要进系统修改
在这里插入图片描述
在这里插入图片描述

对sda磁盘进行分区 分区结果建议如下:
在这里插入图片描述

(截图有误,正确分区如下:
sda1 /boot 1000MB sda2 / 30000MB sda3 SWAP 4000GB sda4 /home 剩下空间,安装Grub2引导程序选择Auto)

下一步,开始安装,如下所示为安装成功,拔出U盘,重新执行第三步,恢复启动顺序
在这里插入图片描述

8、虚拟机设置

移除U盘设备,启动虚拟机(启动可能比原生系统慢点)

四、 虚拟环境启动方法及代码修改方法

使用roslaunch及VSCode
在这里插入图片描述

首先安装VMware Tools 虚拟机会提示安装,如未提示,右击选项卡,点击安装VMware Tools即可。

下载主目录文件包,将文件包内文件全部拖拽到主目录中,如下所示:
在这里插入图片描述

首次启动终端,查看上方状态,如果出现如下提示
在这里插入图片描述

修改文件.bashrc,执行命令:

sudo nano ~/.bashrc

修改框选区域等号后面内容为~/PX4/Firmware
在这里插入图片描述

修改完重开虚拟终端,看到如下为正确:
在这里插入图片描述

执行命令:roslaunch px4 mavros_posix_sitl.launch
若出现如下报错
在这里插入图片描述

执行命令:source catkin_ws/devel/setup.bash
如果启动正常会自动打开gazebo 3D仿真环境
此时还有可能出现如下错误,因为虚拟机无法调用GPU,所以需要屏蔽GPU调用
在这里插入图片描述

执行命令:sudo nano ~/.bashrc
在下图框选区域添加: export SVGA_VGPU10=0

在这里插入图片描述

重新执行roslaunch px4 mavros_posix_sitl.launch,出现如下界面证明仿真环境没有问题
在这里插入图片描述

在此环境下可以打开QGC地面站,尝试通过IP地址连接无人机,可以实现地面站对无人机的控制
打开地面站前配置~/.bashrc文件:
执行命令ifconfig获取虚拟机IP地址:
在这里插入图片描述

执行命令sudo nano ~/.bashrc修改IP
在这里插入图片描述

双击主目录AppImage打开即可
在这里插入图片描述

以下为修改调试PX4代码方法,打开左侧收藏夹的VScode
在配置正确情况下打开后已经默认开启PX4的文件夹了,如果没有开启按照下图指引打开:
在这里插入图片描述

选择~/PX4/Firmware目录
打开后,VScode会提示C/C++ extension出问题 此时直接点击尝试修复,会自动完成修复引导(联网情况下才可能自动修复)
为了防止突破VScode最大查看限制,退出VScode,执行:

sudo nano /etc/sysctl.conf

在文件末尾添加:

fs.inotify.max_user_watches=524288

保存后退出
执行sudo sysctl -p
重新开启VScode
如果代码出现报错,但右下角没有任何错误提示,需要尝试多次重启VScode或者关闭虚拟机,增加内存和CPU核心数,重启虚拟机以提高link的速度

PX4代码修改和调试具体教程:
https://docs.px4.io/master/zh/modules/hello_sky.html

附环境配置教程链接:https://blog.csdn.net/weixin_43568893/article/details/104533500

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Ubuntu18.04】PX4+Gazebo+ROS仿真环境(提供镜像)& Systemback从物理机还原到虚拟机的方法 的相关文章

  • 【硬核】 ROS Navigation 局部路径规划常见算法

    简介 最近 作者参加了关于RMUS 高校 SimReal挑战赛 首次接触到了机器人导航领域 这里记录一下这段时间的收货 sim2real的全称是simulation to reality 是强化学习的一个分支 同时也属于transfer l
  • 使用WTGAHRS2(JY-GPSIMU)在ROS中读取数据并发布话题

    目录 IMU简介 驱动程序 IMU串口通信协议 程序 效果 IMU简介 十轴惯性导航传感器WTGAHRS2传感器集成高精度的陀螺仪 加速度计 地磁场传感器 GPS 模块 采用高性能的微处理器和先进的动力学解算与卡尔曼动态滤波算法 能够快速求
  • 思岚RPLIDAR A2 在ubuntu 16.04上的测试

    1 下载雷达ROS包 首先在github上下载rplidar的ros包 下载指令为 默认安装了git git clone https github com Slamtec rplidar ros git 在ubuntu上创建工作空间 并将该
  • Moveit简单使用,在rviz中实现手动拖动-记录

    GAZEBO下载 一 首先需要准备模型文件 可以是自己的solidworks用URDF工具导出的 也可以是在网上下载的URDF文件包 1 我用的是solidworks手动导出的模型 b站博主导出SOLIDWORKS模型至URDF这个教程比较
  • Ubuntu镜像下载地址

    镜像地址https launchpad net ubuntu cdmirrors
  • Ubuntu下vscode配置ROS环境

    摘要 最近准备放弃用clion开发ROS使用更主流的vscode 整理一下在ubuntu18 04下的VSCode安装和ROS环境配置流程 安装 方法一 软件商店安装 个人还是推荐使用ubuntu软件下载vscode 简单不容易出错 方法二
  • ROS noetic tf demo错误处理及python版本切换

    文章目录 报错描述及解决 ubuntu20 04下python版本切换 报错描述及解决 ubuntu版本 20 04 ROS版本 noetic roslaunch turtle tf turtle tf demo launch 报错信息 t
  • Hypervisor介绍及在智能驾驶的应用

    转自Hypervisor 智能座舱和智能驾驶融合的关键技术 腾讯新闻
  • 在Ubuntu 14.04.2 LTS上安装Qt

    Qt是一个跨平台的应用程序框架 广泛用于开发具有GUI界面的应用软件以及命令行工具 几乎所有操作系统都可以使用Qt 如Windows Mac OS X Android等 用于开发Qt应用程序的主要编程语言是C 但是可以使用诸如Python
  • ROS 第四天 ROS中的关键组件

    1 Launch文件 通过XML文件实现多节点的配置和启动 可自动启动ROS Master
  • 程序“catkin_init_workspace”尚未安装。 您可以使用以下命令安装: sudo apt install catkin

    程序 catkin init workspace 尚未安装 您可以使用以下命令安装 sudo apt install catkin 问题如图 先贴上解决后的效果 运行环境 ubuntu 16 04 ros版本 kinetic 问题解释 这个
  • 《学习篇》学会这18个常用ROS命令集合就能入门ROS了

    常用ROS命令概述 ROS常用命令可以按照其使用场景分为ROSshell命令 ROS执行命令 ROS信息命令 ROS catkin命令与ROS功能包命令 虽然很难从一开始就很熟练地使用所有的命令 但是随着使用的次数增多 你会发现常用的几个R
  • 《机器人操作系统入门》课程代码示例安装出错解决方法

    问题描述 学习 机器人操作系统入门 课程时 在Ubuntu 16 04 上安装了kinetic 安装ROS Academy for Beginners时依赖总是报错 如下所示 rosdep install from paths src ig
  • ROS1 ROS2学习

    ROS1 ROS2学习 安装 ROS ROS1 ROS2 命令行界面 ROS2 功能包相关指令 ROS 命令行工具 ROS1 CLI工具 ROS2 CLI工具 ROS 通信核心概念 节点 Node 节点相关的CLI 话题 Topic 编写发
  • 在 Python 3 中导入 Rosbag

    我正在尝试从 Python 3 读取 rosbag 文件 我安装了 ROS2 Eloquent Elusor 它应该支持 Python 3 当我跑步时 import rosbag bag rosbag Bag test bag 从Pytho
  • 从 pcl::PointCloud 中删除点

    我是 PCL 新手 我正在使用 PCL 库 并且正在寻找一种从点云中提取点或将特定点复制到新点的方法 我想验证每个点是否符合条件 并且我想获得仅包含优点的点云 谢谢 使用 ExtractIndices 类 将要删除的点添加到 PointIn
  • ROS安装错误(Ubuntu 16.04中的ROS Kinetic)

    中列出的步骤顺序http wiki ros org kinetic Installat 已被关注 尝试在Ubuntu 16 04中安装ROSkinetic 输入以下命令时出错 sudo apt get install ros kinetic
  • 使用 CMake 链接 .s 文件

    我有一个我想使用的 c 函数 但它是用Intel编译器而不是gnu C编译器 我在用着cmake构建程序 我实际上正在使用ROS因此rosmake但基础是cmake所以我认为这更多是一个 cmake 问题而不是ROS问题 假设使用构建的文件
  • 如何使用一个凉亭同时创建两个地图?

    如下图所示 现在我的gazebo正在运行2个slam gmapping包 首先是 turtlebot slam gmapping 发布到 map 主题 第二个是 slam gmapping 发布到与第一个相同的 map 主题 我想创建一个新
  • 安装 ROS 时 Cmake 未检测到 boost-python

    我一直在尝试在我的 Mac 上安装 ROS 并根据不同版本的 boost 使用不同的库解决了错误 然而 似乎有一个库甚至没有检测到 boost python 这是我得到的错误 CMake Error at usr local share c

随机推荐