(1)XTDrone环境配置笔记——从安装VMware开始

2023-05-16

本笔记主要参考文章:

https://www.yuque.com/xtdrone/manual_cn/basic_config#2qN28

自己整理,从个人笔记中移植过来,如有问题,欢迎讨论

目录

1.安装虚拟机软件VMWare

2.安装ubuntu18.04并换源

3.安装ROS

⒈、添加ROS软件源(TX2使用自带源即可,该步可省去)

2.添加公匙

3.更新

4. 检查cmake的版本,尽量升级到最新版本:

5.安装ros:

结果显示出错cannot download from:

7.打开一个新终端,设置环境

8.安装rosinstall,便利的工具

9、检验

参考教程:

4.没有catkin_ws,需要新建工作空间,之后除去PX4仿真环境启动外,其余ROS相关工程在此工作空间下管理。

5.Gazebo安装

1.安装虚拟机软件VMWare

2.安装ubuntu18.04并换源

https://www.bilibili.com/video/BV1ey4y1j7G3?spm_id_from=333.999.0.0

ubuntu18.04安装完毕后,换阿里云源,注意bionic版本,源代码:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

代码来源:https://www.cnblogs.com/gentlemanwuyu/p/11621636.html

3.安装ROS

⒈、添加ROS软件源(TX2使用自带源即可,该步可省去)

桌面右键打开终端,paste添加命令

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

显示结果:

2.添加公匙

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

显示结果:

3.更新

sudo apt update

显示结果下方局部:

4. 检查cmake的版本,尽量升级到最新版本:

检查cmake版本:cmake -version

安装cmake:sudo apt install cmake,版本比较老3.10版本

新版本安装方法:https://blog.csdn.net/RNG_uzi_/article/details/107016899  

cmake官网下载安装包:https://cmake.org/download/

下载后直接打开,提取解压到Home

5.安装ros:

sudo apt install ros-melodic-desktop-full

结果显示:

6.初始化 rosdep

sudo rosdep init
rosdep update

结果显示:

解决方法:

sudo apt install rospack-tools

解决完执行:

sudo rosdep init

结果显示出错cannot download from:

解决方法:https://blog.csdn.net/qq_44847636/article/details/115610906

1.将 rosdistro下载到本地

sudo git clone https://github.com/ros/rosdistro.git

如果失败了尝试:git clone rosdistro: https://github.com/ros/rosdistro.git

成功则显示:

2.进入到 sources.list.d 文件夹,修改 gedit 20-default.list

注意:XXXX为你的用户名,我叫jessica

把rosdistro拖到Home下面,我的用户名为jessica

# cd /home/XXXX/rosdistro/rosdep/sources.list.d/
cd /home/jessica/rosdistro/rosdep/sources.list.d/
sudo gedit 20-default.list

将里面所有的 raw.githubusercontent.com地址,替换成本机 rosdistro的地址。

修改前的:

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
  
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

修改后:

注意:*XXXX为你的用户名

# os-specific listings first
yaml file:///home/XXXX/rosdistro/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///home/XXXX/rosdistro/rosdep/base.yaml
yaml file:///home/XXXX/rosdistro/rosdep/python.yaml
yaml file:///home/XXXX/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/XXXX/rosdistro/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

我的显示:点击save,叉掉

3.进入到 rosdep2 文件夹,修改 gbpdistro_support.py

cd /usr/lib/python2.7/dist-packages/rosdep2/
sudo gedit gbpdistro_support.py

替换成自己的地址,修改后如下

***注意:*XXXX为你的用户名

FUERTE_GBPDISTRO_URL = 'file:///home/XXXX/rosdistro/releases/fuerte.yaml'

4.进入到 rosdep2 文件夹,修改 rep3.py

cd /usr/lib/python2.7/dist-packages/rosdep2/
sudo gedit rep3.py

替换成自己的地址,修改后如下

***注意:*XXXX为你的用户名

REP3_TARGETS_URL = 'file:///home/XXXX/rosdistro/releases/targets.yaml'

改完后我的显示:

5.进入到 rosdistro 文件夹,修改 init.py

cd /usr/lib/python2.7/dist-packages/rosdistro/
sudo gedit __init__.py

替换成自己的地址,修改后如下    ***注意:*XXXX为你的用户名

DEFAULT_INDEX_URL = 'file:///home/XXXX/rosdistro/index-v4.yaml'

6.切换到root用户

sudo su

新建 sources.list.d文件夹

sudo mkdir -p /etc/ros/rosdep/sources.list.d

进入到 sources.list.d文件夹,修改 20-default.list

cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list

将以下的内容复制进 20-default.list 中

#os-specific listings first
yaml file:///home/XXXX/rosdistro/rosdep/osx-homebrew.yaml osx
#generic
yaml file:///home/XXXX/rosdistro/rosdep/base.yaml
yaml file:///home/XXXX/rosdistro/rosdep/python.yaml
yaml file:///home/XXXX/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/XXXX/rosdistro/releases/fuerte.yaml fuerte

#newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

7.最后打开新终端执行

rosdep update

如果出现如下提示则表示成功!XXXX为你的用户名

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit file:///home/XXXX/rosdistro/rosdep/osx-homebrew.yaml
Hit file:///home/XXXX/rosdistro/rosdep/base.yaml
Hit file:///home/XXXX/rosdistro/rosdep/python.yaml
Hit file:///home/XXXX/rosdistro/rosdep/ruby.yaml
Hit file:///home/XXXX/rosdistro/releases/fuerte.yaml
Query rosdistro index file:///home/XXXX/rosdistro/index-v4.yaml
Skip end-of-life distro "ardent"
Add distro "bouncy"
Add distro "crystal"
Add distro "dashing"
Add distro "eloquent"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Add distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
updated cache in /home/XXXX/.ros/rosdep/sources.cache

7.打开一个新终端,设置环境

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

结果显示:

8.安装rosinstall,便利的工具

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

使用下面命令安装ROS插件(包括3D包围框)

sudo apt install ros-melodic-jsk-rviz-plugins

结果显示:滚动,输入y,滚动,等加载,一般不会出错

9、检验

打开终端,输入roscore命令,可以看到ROS已经成功在ubuntu上运行起来。

roscore

结果显示:

参考教程:

Ubuntu18.04 melodic 安装与下载ROS(超详细教程) - 古月居

https://blog.csdn.net/weixin_50508111/article/details/119957272

https://blog.csdn.net/qq_44847636/article/details/115610906

4.没有catkin_ws,需要新建工作空间,之后除去PX4仿真环境启动外,其余ROS相关工程在此工作空间下管理。

mkdir -p ~/catkin_ws/src
mkdir -p ~/catkin_ws/scripts 
cd catkin_ws/src && catkin_init_workspace # 使用catkin-tools话,则为cd catkin_ws && catkin init 
cd .. && catkin_make # 使用catkin-tools话,则为catkin build

5.Gazebo安装

1.卸载之前的gazebo

sudo apt-get remove gazebo* 
sudo apt-get remove libgazebo* 
sudo apt-get remove ros-melodic-gazebo* #针对ubuntu18.04+melodic

2.选择step by step安装方法

打开gazebo官网,右上角有版本号,前面几步用最新版本的方法,后面几步出现gazebo+数字的需要右上角选gazebo9版本逐步安装。官网讲的很详细:

http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install

3.验证gazebo安装状态, 出错

需要输入:

sudo apt upgrade

重新gazebo::

gazebo

又特么报错:

Vmware下虚拟机下打开gazebo报错,是虚拟机的bug,可以继续这样做来解决:

解决方法:加入环境变量

export SVGA_VGPU10=0

 加入到用户的环境变量,这样每次启动就可以自动运行此码

echo "export SVGA_VGPU10=0" >> ~/.bashrc

参考文献:https://blog.csdn.net/weixin_43059285/article/details/108012524

重新运行gazebo:

gazebo

安装ROS的Gazebo插件,对于melodic

sudo apt install ros-melodic-gazebo-* #melodic

编译成功后执行如下两条指令,判断gazebo_ros是否安装成功

roscore 
rosrun gazebo_ros gazebo

Gazebo有很多开源的模型文件,我们将一些需要的模型文件上传到附件中,供大家下载:

--> 请点击models.zip(632.9 MB)

https://www.yuque.com/xtdrone/manual_cn/basic_config#uFGnh

将该附件解压缩后放在~/.gazebo中,此时在~/.gazebo/models/路径下可以看到很多模型。如果不做这一步,之后运行Gazebo仿真,可能会缺模型,这时会自动下载,Gazebo模型服务器在国外,自动下载会比较久。

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

(1)XTDrone环境配置笔记——从安装VMware开始 的相关文章

  • Ubuntu系统用VNCViewer连不上远程的解决办法

    有时Ubuntu重启电脑重新联网之后 xff0c 用VNCViewer远程时提示timeout 解决办法 点击Ubuntu电脑系统的设置按钮 xff0c 进入共享选项卡 检查远程登录是不是已经开启 xff0c 屏幕共享是不是活动状态 屏幕共
  • OAuth2.0的四种授权方式

    前言 OAuth 简单理解就是一种授权机制 xff0c 它是在客户端和资源所有者之间的授权层 xff0c 用来分离两种不同的角色 在资源所有者同意并向客户端颁发令牌后 xff0c 客户端携带令牌可以访问资源所有者的资源 OAuth2 0 是
  • PowerBuilder---合并相同单元格

    在用数据窗口显示数据时 xff0c 经常会出现某一列的连续多行内容是相同的 xff0c 在有中国特色的软件使用者看来这是一个很大的问题 一定要合并才能显得规范 如下图 xff1a PowerBuilder 合并相同单元格 qibin jin
  • 各行业的英语术语(绝对精华 1)

    不看不知道 各行业的英语术语 xff08 绝对精华 xff09 化妆品中英文对照 makeup xff08 粉底 xff09 mask xff08 面膜 xff09 mascara xff08 睫毛膏 xff09 milk xff08 乳
  • SD-WAN与SDN:揭开差异 如何选择虚拟化网络

    随着物联网 工业互联网等新兴业务场景的不断涌现 xff0c 网络正面临着开放 融合 智能化 个性化等需求 在SDN进入稳定爬升期 xff0c 还未完全落地之时 xff0c 以SD WAN xff08 软件定义的广域网 xff09 为代表的新
  • H5实例 移动端页面练习

    文章目录 标签知识点 标签知识点 name 61 viewport xff1b 屏幕设定maximum scale 61 1 0 minimum scale 61 1 0 initial scale 61 1 0 xff1b 最大最小缩放比
  • SSH修改远程端口后无法登录的解决办法

    参考 xff1a https www cnblogs com opswa p 16076001 html SSH是一种网络协议 xff0c 用于计算机之间的加密登录 如果一个用户从本地计算机 xff0c 使用SSH协议登录另一台远程计算机
  • 串口调试助手如何使用

    需要设置好对应的串口端口 xff0c 波特率 校验位 数据位 停止位 xff0c 然后打开串口 这是一个绿色版的 xff0c 比深蓝串口调试助手好用的多
  • 来来来!我告诉你 AUTOSAR架构深度解析从入门到放弃

    如何快速学习AUTOSAR 关于AUTOSAR的背景和架构信息 xff0c 这里就不详细展开了 大家可以参看 xff1a AUTOSAR的分层架构 一文了解 今天我们重点讲讲如何快速学习AUTOSAR架构的方法 如何获取规范文档 xff1f
  • 智能指针make_unique 与make_shared 的知识介绍

    关于make unique的构造及使用例程 xff0c MSDN的讲解非常详细 xff08 https msdn microsoft com zh cn library dn439780 aspx xff09 使用过程中 xff0c 主要有
  • Adaptive AutoSAR 标准介绍

    关于自适应AutoSAR 平台 自适应autosar 平台实现了adaptive applications的运营环境 它提供了两种接口 xff0c 一种是service 一种是API 平台功能分成两部分 xff1a service部分和ad
  • MPU和MCU的区别

    MCU指的是微控制 器 集合了FLASH RAM和一些外围器件 MCU一般使用片内FLASH来存储和执行程序代码 MPU指的是微处理 器 FLASH和RAM则需要设计者自行搭建 xff0c 当然MCU也可以外扩 MPU的电路设计相对MCU较
  • powerbuilder9 窗口高级配置

    一 无标题栏 办法 xff1a 把窗口类型配置成response或者popup xff0c 窗口属性中的titlebar属性就变成可以选择 xff0c 把titlebar属性的勾点掉 xff0c 就可以配置成无标题栏 xff0c main类
  • Adaptive AUTOSAR——Cryptography (VRTE3.0 R21-11)

    Cryptography模块是用于自适应汽车软件架构的密码学模块 xff0c 主要用于实现各种安全功能 xff0c 包括加密 解密 签名和验证 等操作 它的主要作用包括 xff1a 安全通信 xff1a 使用各种算法对数据进行加密和解密 x
  • 一文读懂AUTOSAR SecOC通讯

    为什么用SecOC 在车载网络中 xff0c CAN总线作为常用的通讯总线之一 xff0c 其大部分数据是以明文方式广播发送且无认证接收 这种方案具有低成本 高性能的优势 xff0c 但是随着汽车网联化 xff0c 智能化的业务需要 xff
  • 汽车操作系统的趋势

    操作系统 OS 需要管理基于计算机的系统的所有硬件和软件 xff0c 并且是汽车行业的关键软件平台 本文侧重于提供教程信息和汽车操作系统策略的一些观点 每个操作系统在功能 程序大小 复杂性 开发工作和硬件要求以及生命周期维护 支持工作和成本
  • 4.5.2 DDS

    1 标准及发展简介 DDS 的全称为 Data Distribution Service xff08 数据分发服务 xff0c 是由 OMG 联盟在 2004 年发布的中间件协议和应用程序接口标准 采用发布 订阅模型 xff0c 提供丰富的
  • SOA协议DDS和Some/IP对比

    SOME IP 和 DDS 均已被纳入AUTOSAR AP的平台标准中 SOME IP 和 DDS是在不同的应用场景和不同的需求下诞生的技术 xff0c 所以它们之间注定有很大的区别 SOME IP SOME IP的全称为 xff1a Sc
  • linux内核提高系统实时性,Linux操作系统实时性分析及改进策略

    摘要 xff1a 实时操作系统要求具有速度快和可预测性的特点 xff0c 必须保证实时任务在要求的时间内完成 本文在分析Linux操作系统的中断方式和进程调度等影响实时性的因素后 xff0c 对Linux的实时性策略进行改进 xff0c 提
  • switch ... case语句的用法

    当情况大于或等于4种的时候就用switch case语句 switch xff08 表达式 xff09 case 常量1 xff1a 语句体1 xff1b case 常量2 xff1a 语句体2 xff1b case 常量3 xff1a 语

随机推荐