• 环境配置相关


    • 制作系统盘

    参考https://blog.csdn.net/yaoyut/article/details/78003061

    出现问题,多于一个分区https://jingyan.baidu.com/article/a3aad71a1310b1b1fb0096e6.html

    • 单系统

    参考https://blog.csdn.net/baidu_36602427/article/details/86548203#_77,我额外加了几个分区,下次把分区表贴上。

    • 双系统

    第一参考https://zhuanlan.zhihu.com/p/69081106她介绍比较好的参考是https://blog.csdn.net/baidu_36602427/article/details/86548203#_77其中写了一张纸,但是不推崇,推崇的是https://blog.csdn.net/qq_31192383/article/details/78876905,最终采用的就是这个。

    主要参考https://blog.csdn.net/qq_31192383/article/details/78876905

    联想先把security boot关了!

    附上第一参考博主的文:

    安装Ubuntu 18.04时看了不少教学贴,本以为能顺顺利利的一次成功,没想到因为教程研究的不彻底踩了不少坑。有的教程是针对没有独立显卡的电脑,有的教程是针对于旧版本的Ubuntu,在查了很多资料之后总算是把Ubuntu 18.04 + Windows10双系统安装好了。以下记录了详细的安装笔记。这篇文章并没有附图,但是记录了一些比较靠谱的文章链接,这些文章的配图非常完善,感谢这些作者的分享。

    准备工作

    找一个u盘或者移动硬盘用来烧录系统,注意烧录时u盘或移动硬盘会被格式化。也可以提前自行先把这个盘格式化。
    压缩一段空间给Ubuntu系统,这里我使用的是Windows10自带的压缩方法。
    按win+x,选择磁盘管理。
    找一个比较空的磁盘,右键选择压缩卷,并输入需要压缩的磁盘大小。
    我选择压缩了自己的D盘,压缩了400多G,实际上并没有用这么多,在后面的安装里我只分配了200多给Ubuntu。
    下载后不要急着解压,Ubuntu18.04下载链接。
    下载这个东西的试用版用来烧录系统到u盘中,UltraISO下载链接。
    打开这个软件,文件中选择打开,打开刚刚下载的Ubuntu。
    接着选择启动中的写入磁盘映像,磁盘驱动器选择你的u盘(当然这一步之前要把u盘插到电脑上),其他设置我使用了默认,写入方式是HDD。
    点写入就完事了。
    等一会。
    以上步骤完成以后,通过BIOS模式重启电脑,MSI的板子是按住Delete启动,其他品牌的电脑各不相同,搜一下就好。
    重要
    关闭Fast Boot。我是选择在Windows10里取消了快速启动后,又在这里关闭了Fast Boot。尚不清楚不关闭的影响。
    关闭Secure Boot/Secure Support,经过尝试和查找资料,不关闭这一项会导致Ubuntu系统被block掉,无法引导。
    确认电脑的Boot Option是UEFI,如不是,换成UEFI。整个安装笔记都是基于UEFI的,安装成功后是自动Ubuntu引导Window10的,在启动界面选择系统,不需要一些老版本教程里说的用EasyBCD引导。
    Boot Option的第一启动选项选择u盘启动。这里我是把第一选项改成了usb hard disk,然后把第二选项UEFI的第一启动选项改成了我的u盘的名字。十分惭愧,不是非常清楚其中的原因。
    安装步骤
    重启机器,这时会进入u盘启动。此时一般会看到这几个选项:试用Ubuntu,安装Ubuntu,等等。
    重要 如果你的电脑有独立显卡,把光标移到安装Ubuntu这一项上,按E,将quiet splash这一句删掉,改为nouveau.modeset=0 nomodeset,记得中间有空格。之后直接按ctrl+x进入安装。
    此处有坑 进入安装界面并一通操作,此处建议选择链接wifi!之后在进入系统自动更新显卡驱动的时候会少不少麻烦。
    选择最小化安装,这里我是选择了允许安装第三方软件,也有的教程写到不选择这一项也可以。
    选择其他选项/something else的安装选项,接下来就是广为人知的手动分区过程。
    查找了不少建议和教程,最后我选择了一个BIOS启动区,一个/,一个/home,一个交换分区的基础方案。/,/home和swap都没有什么坑,但是启动区这个我第一次安装的时候还是因为没搞清楚踩了坑。
    这位作者讲分区讲的比较详细,但是其中也有与我自己的安装冲突的部分,不建议直接采用他的方法,但非常值得一读。参考链接1。
    /,主分区,EXT4,20到30G。
    /home,逻辑分区,EXT4,我自己给了200G。
    swap,逻辑分区。我自己给了10G,比内存稍大,这个数字与内存大小有关,小的内存的话据说要留内存的2倍左右,分配之前要查清楚。
    此处有坑BIOS启动区,有不少教程是建议划分一个/boot分区的,包括我上面的参考链接1,我自己第一遍安装的时候也给了这个区,但最后引导的时候还是出了问题。经过检查,我使用了这位作者讲的方法,单独分配一个BIOS启动区,1G或者2G都可以,然后在下面安装启动引导器的设备一栏选择这个BIOS启动区所在的分区。详细解说请参考他的文章。参考链接2。
    接下来一通正常操作,翻翻杂志等待安装成功。
    重启电脑并安装显卡驱动
    按照提示,此处应该重启电脑。我是在电脑重启过程中直接把u盘拔掉了,没有再次进入BIOS模式切换启动选项。当然保险起见还是建议再次进入BIOS模式检查一下第一启动项是否为Ubuntu。
    如果以上都没有问题,这里就会进入GRUB引导界面。
    此处有坑 如果你有独立显卡,先不要选择进入系统!同安装步骤的第二步一样,按E,将quiet splash这一句删掉,改为nouveau.modeset=0 nomodeset。之后直接按ctrl+x进入系统,否则可能会卡在紫屏界面。
    如果以上都成功了,现在应该已经进入了系统。接下来就是安装Nvidia的驱动了。
    我看到过一篇建议手动安装驱动的文章,链接放在这里参考链接3。虽然是针对上个版本Ubuntu的,但是我也按照这篇文章中的方法进行了尝试,从官网下载了Nvidia建议的适合我的显卡的驱动版本并进行了一通复杂操作。结果并没有成功。在第三次重装系统的时候,我就直接在安装过程中选择了连接wifi,并且直接在Ubuntu的software&update中的附加驱动选项卡中自动安装了Nvidia的驱动。结果显示Ubuntu自动为我选择的驱动和Nvidia官网建议的驱动并不是一个版本。
    自动安装完驱动后,再次重启电脑,就可以正常使用了。我目前没有出现卡屏等问题。
    发布于 2019-06-14

    关于livepatch,是一个可以在线更新内核的东西,我目前不需要https://blog.csdn.net/Jack__CJ/article/details/53557037

    双系统的时间不匹配问题

    主要参考https://blog.csdn.net/weixin_44677876/article/details/89789725

    其他参考https://www.jianshu.com/p/9f0b01505385https://blog.csdn.net/UNIONDONG/article/details/78317612

    其他参考(没有用)https://blog.csdn.net/Boy_i/article/details/77399326

    • ubuntu18.04安装

    这个应该有一部分要放在第一块,如下:

    虽然我是**上网下载的镜像文件,然后在win10的ultraSO做的启动盘。但是也可以从以下方式获得:

    中科大的镜像官网http://mirrors.ustc.edu.cn/

    换源科大官方http://mirrors.ustc.edu.cn/help/ubuntu.html就是参考这个网站

    查询codename  lsb_release -a

    手动更改配置文件
    警告

    操作前请做好相应备份,先备份

    sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

    一般情况下,将 /etc/apt/sources.list 文件中 Ubuntu 默认的源地址 http://archive.ubuntu.com/ 替换为 http://mirrors.ustc.edu.cn 即可。

    可以使用如下命令:

    sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
    小技巧

    如果你在安装时选择的语言不是英语,默认的源地址通常不是 http://archive.ubuntu.com/ , 而是 http://<country-code>.archive.ubuntu.com/ubuntu/ ,如 http://cn.archive.ubuntu.com/ubuntu/ , 此时只需将上面的命令进行相应的替换即可,即 sudo sed -i 's/cn.archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list 。

    当然也可以直接编辑 /etc/apt/sources.list 文件(需要使用 sudo)。以下是 Ubuntu 16.04 参考配置内容:

    # 默认注释了源码仓库,如有需要可自行取消注释
    deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

    # 预发布软件源,不建议启用
    # deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    更改完 sources.list 文件后请运行 sudo apt-get update 更新索引以生效。

    小技巧

    如要用于其他版本,把 xenial 换成其他版本代号即可: 18.04:bionic;17.10:artful;16.04:xenial;14.04:trusty。

    小技巧

    使用 HTTPS 可以有效避免国内运营商的缓存劫持。

    换源其他科大协会参考https://lug.ustc.edu.cn/wiki/mirrors/help/ubuntu

    换源其他参考https://blog.csdn.net/weixin_44386661/article/details/95919263https://blog.csdn.net/iceylin/article/details/91951466https://blog.csdn.net/zhouxbr/article/details/103484179

     然后在软件与更新里面将所有选项选上,更新。

    • qt5问题

    主要参考https://bbs.csdn.net/topics/392381640

    先按照教程,press ENTER,然后

    在你的/etc/apt/sources.list.d目录下,看 这个文件(hzwhuang-ubuntu-ss-qt5-bionic.list )将里面的bionic 改成xenial ,保存再运行 sudo apt-get update ,最后再运行一次 sudo apt-get install shadow*****-qt5 就好了。
    因为在ppa:hzwhuang/ss-qt5 并没有18.04版本的源,所以再执行update时会出现这个错误。

    • 安装chrome

    官网https://www.google.cn/intl/zh-CN/chrome/下载一个文件google-chrome-stable_current_amd64.deb

    然后在下载文件夹下打开终端sudo dpkg -i google-chrome-stable_current_amd64.deb,就下好了

    • ROS Melodic安装

    主要参考https://www.ncnynl.com/archives/201906/3147.htmlhttps://www.cnblogs.com/wjundong/p/10701160.html

    ROS入门教程-安装并配置ROS环境(melodic版本)

    说明

    本教程详细描述了ROS的安装与环境配置。
    此为 Ubuntu18.04 + melodic安装说明
    官方安装ROS说明

    http://wiki.ros.org/Installation/Ubuntu?distro=melodic
    ubuntu18.04版本

    ubuntu18.04版本镜像官方下载连接:http://cn.ubuntu.com/download/
    ROS的melodic版本安装说明

    安装源
    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    或来自中国的源:

    sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
    设置key
    sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

    网上有另一种设置key的方式

    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

    不行,会报错

    W: GPG 错误:http://packages.ros.org/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
    E: 仓库 “http://packages.ros.org/ros/ubuntu bionic InRelease” 没有数字签名。
    N: 无法安全地用该源进行更新,所以默认禁用该源。
    N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

    更新
    sudo apt-get update

    安装

    这里介绍Desktop-Full安装: (Recommended) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

    sudo apt-get install ros-melodic-desktop-full
    解决依赖
    sudo rosdep init

    这里出现问题,见下面问题1
    rosdep update返回进程
    环境设置
    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    安装rosinstall,便利的工具
    sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
    卸载Kinetic

    用apt-get方式安装melodic的,卸载使用如下命令:
    $ sudo apt-get remove ros-melodic-*
    卸载成功的效果:就是/opt下的ROS文件夹melodic被删除

    注意科大官方给的密钥key是错的,链接http://mirrors.ustc.edu.cn/help/ros.html

    附上科大官方镜像帮助http://mirrors.ustc.edu.cn/help/index.html#

    问题1:ubuntu下安装ROS,按照官网初始化时执行sudo rosdep init出现下面错误了sudo: rosdep:找不到命令

    参考1:https://zhidao.baidu.com/question/1667780197702832387.html

    解决1:执行 rospack find rosdep,找出rosdep这个包的路径

    报错rospack工具未安装

    Command 'rospack' not found, but can be installed with:

    sudo apt install rospack-tools

    使用以下命令安装:sudo apt install rospack-tools

    以下斜体不用执行

    继续运行 rospack find rosdep

    如果没有rosdep,则会显示:程序“rosdep”尚未安装

    [rospack] Error: package 'rosdep' not found

    安装好工具后,即可执行:sudo rosdep init

    ERROR: cannot download default sources list from:
    https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
    Website may be down.

    参考https://blog.csdn.net/qq_35590091/article/details/100515558

    是奉劝使用科大的源

    参考https://blog.csdn.net/weixin_43288910/article/details/105627358

    http://qjzd.net:3000/topic/5e48cc33dcf06d6a181ffb81

    正值双11,各大云服务商的活动非常给力,正好给公司添置一台项目服务器,在配置相关环境时,发现GitHub的raw.githubusercontent.com域名解析竟然因某些你懂的原因给临时污染了.终于通过修改hosts解决掉此问题,可以正常部署环境了。通过IPAddress.com首页,输入raw.githubusercontent.com查询到真实IP地址,修改hosts Ubuntu,CentOS及macOS直接在终端输入

    sudo vi /etc/hosts

    添加以下内容保存即可

    199.232.28.133  raw.githubusercontent.com

    运行sudo gedit /etc/hosts

    添加以下内容保存即可

    199.232.28.133 raw.githubusercontent.com

    随后运行sudo rosdep init

    得到

    Wrote /etc/ros/rosdep/sources.list.d/20-default.list
    Recommended: please run

    rosdep update

    运行rosdep update

    updated cache in /home/f**/.ros/rosdep/sources.cache

     返回上面的进程

    ros其他的问题见我的收藏夹ROS,CSDN鑫鑫看

    • ros在执行autoremove之后崩溃

    依赖项全被删除了

    参考https://www.cnblogs.com/arxive/p/11681593.html

    虽然是报错

    f**@f**-MS-7B18:~$ sudo apt-get install ros-melodic-desktop-full
    [sudo] f** 的密码:
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树
    正在读取状态信息... 完成
    有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
    因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
    包尚未被创建或是它们已被从新到(Incoming)目录移出。
    下列信息可能会对解决问题有所帮助:

    下列软件包有未满足的依赖关系:
    ros-melodic-desktop-full : 依赖: ros-melodic-perception 但是它将不会被安装
    E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

    但是还得按照博主的来

    他的报错是

    下列软件包有未满足的依赖关系:
     ros-melodic-desktop-full : 依赖: ros-melodic-desktop 但是它将不会被安装
                                依赖: ros-melodic-perception 但是它将不会被安装
                                依赖: ros-melodic-simulators 但是它将不会被安装
                                依赖: ros-melodic-urdf-sim-tutorial 但是它将不会被安装
    E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
    cheetah@cheetah-Z2-R:~$

    解决方法为:sudo apt-get install xxx(上面报的缺少的东西)

    按照这位博主的来,感谢!

    好像课程的教程里也有依赖项这一步

    下载ros之前先安装依赖项

    https://blog.csdn.net/shao918516/article/details/103384095

    Ubuntu18.04安装ROS Melodic(详细填坑)
    最近学习ROS Melodic,网上有一些安装教程,但是不够详细,自己动手做了下,随手记下整个安装流程,并详细记录细节和遇到的问题,为后来者节省10来分钟足矣。本文参考《机器人开发实战》,作者无为斋主。
    ROS作为目前最受欢迎的机器人操作系统,它的核心代码采用C++编写并经由BSD许可发布。ROS源于2007年斯坦福大学和机器人技术公司Willow Garage合作项目Switchyard。2012年,ROS团队从Willlow Garage独立出来,并成立了一家非营利组织,即开源机器人基金会(Open Source Robotics Foundation, OSRF),ROS自2013年起移交该基金会管理。
    自2010年3月推出第一个发行版Box Turtle以来,ROS以每年1~2个版本的节奏已经发行了多个版本。ROS作为次级操作系统,官方推荐基于Ubuntu操作系统运行,并跟随Ubuntu发布节奏发布,在偶数年发布维护周期为5年的长期演进版本,奇数年发布维护周期为2年的普通版本。但2019年未发布新版本。ROS已发布的历史版本如表1-1所示。

    表1-1 ROS的历史版本

    Melodic Morenia 2018年5月 2023年5月 18.04 LTS LTS
    Lunar Loggerhead 2017年5月 2019年5月 17.04
    Kinetic Kame 2016年5月 2021年5月 16.04 LTS LTS

    Jade Turtle 2015年5月 2017年5月 15.04
    Indigo Igloo 2014年7月 2019年4月 14.04 LTS LTS
    Hydro Medusa 2013年9月 2015年5月 13.04
    Groovy Galapagos 2012年12月 2014年7月 12.10
    Fuerte Turtle 2012年4月 12.04 LTS
    Electric Emys 2011年8月 11.10
    Diamondback 2011年3月 11.04
    C Turtle 2010年8月 10.04 LTS
    Box Turtle 2010年3月 9.10

    文章采用ROS版本为ROS Melodic,操作系统为Ubuntu 18.04 LTS 64bit。操作系统安装教程请参考作者上一篇博文推荐的链接。
    详细安装步骤如下:

    1.设置安装源
    为了安装ROS Melodic,首先需要在Ubuntu 18.04 LTS上添加安装源到source.list,方法如下:

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

    另外ROS提供了国内的安装源,添加国内中国科学技术大学的安装源示例代码如下:

    sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

    2.添加秘钥
    添加秘钥到本地的trusted数据库中并加以验证,方法如下:

    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

    若密钥服务器hkp://ha.pool.sks-keyservers.net:80无法添加成功,则可以尝试hkp://pgp.mit.edu:80或者hkp://keyserver.ubuntu.com:80。
    在更新之前,需要安装公钥,否则无法验证签名,这一步也是原书没有的,需要朋友们注意,命令如下:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

    3.更新列表
    更新Ubuntu 18.04 LTS的最新可用软件包列表:

    sudo apt update

    4.开始安装
    下面开始安装ROS,推荐安装桌面完整版,这样就可以将ROS、rqt、rviz、机器人通用库、2D/3D仿真器、导航、2D/3D感知等功能一次性安装完成。
    安装之前,需要安装其他依赖库,一次性安装如下

    sudo apt install libvtk6-jni libvtk6-java libvtk6-dev libvtk6-qt-dev libpcl-dev
    sudo apt install ros-melodic-pcl-conversions ros-melodic-pcl-ros ros-melodic-perception-pcl ros-melodic-perception

    有的人之前安装过某些库,我的机器之前安装opencv时装过vtk7,版本不兼容,识别不到,所以不得已卸载后安装vtk6,最好把这些库的安装都执行一遍。
    最后终于开始安装ROS Melodic,方法如下:

    sudo apt install ros-melodic-desktop-full

    如果希望安装特定的ROS程序包,则可以首先查看当前可用的程序包列表,然后选择自己需要的程序包进行安装,示例代码如下:

    apt-cache search ros-melodic
    sudo apt install ros-melodic-slam-gmapping

    5.安装核心组件rosdep
    开始使用ROS之前,还需要安装rosdep,rosdep是ROS一些核心组件的运行基础,会在编译ROS源码时检查和安装程序包依赖。安装ROS方法如下:

    sudo rosdep init
    # fix-permission限制权限为当前用户
    sudo rosdep fix-permissions
    # 可能由于网络原因会失败,多运行几次即可,可见上面的解决办法
    rosdep update

    6.配置ROS环境变量
    默认情况下,ROS_HOME的路径为"~/.ros",该目录保存着日志文件和测试结果文件。另外,第一次启动ROS时,需要进行环境变量配置,命令如下:

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

    查看环境变量是否设置正确,命令如下:

    env | grep ROS

    笔者查看环境变量结果如下:

    ROS_ETC_DIR=/opt/ros/melodic/etc/ros
    ROS_ROOT=/opt/ros/melodic/share/ros
    ROS_MASTER_URI=http://localhost:11311
    ROS_VERSION=1
    ROS_PYTHON_VERSION=2
    ROS_PACKAGE_PATH=/opt/ros/melodic/share
    ROSLISP_PACKAGE_DIRECTORIES=
    ROS_DISTRO=melodic

    我的是如下

    ROS_ETC_DIR=/opt/ros/melodic/etc/ros
    ROS_ROOT=/opt/ros/melodic/share/ros
    ROS_MASTER_URI=http://localhost:11311
    ROS_VERSION=1
    ROS_PYTHON_VERSION=2
    ROS_PACKAGE_PATH=/opt/ros/melodic/share
    ROSLISP_PACKAGE_DIRECTORIES=
    ROS_DISTRO=melodic

    至此,ROS的核心程序包安装完毕

    7.安装rosinstall
    为了构建和管理开发者自己的ROS工作空间,还需要安装rosinstall,方法如下:

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

    成功安装后,就可以体验ROS和创建ROS应用了。

    8.学习ROS源码
    如果希望基于ROS源代码进行学习,则可以下载完整的ROS源代码,方法如下:

    sudo apt-get install python-rosdep python-rosinstall-generator python-rosinstall python-wstool build-essential
    mkdir ~/ros_catkin_ws/ && cd ~/ros_catkin_ws/
    rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
    wstool init -j8 src melodic-desktop-full.rosinstall

    ROS将使用wstool进行版本管理。如果希望在网络发生中断后可以以断点续传的方式继续下载,那么命令如下:

    wstool update -j 8 -t src

    至于如何通过ROS源代码学习ROS的更多实现细节,可以在Ubuntu 18.04 LTS下通过安装oepngrok进行浏览,笔者打算在下一篇文章中介绍。

    9.启动小海龟
    turtlesim时ROS系统自带的小海龟仿真程序。分步骤介绍如下:

    1.启动节点管理器
    为了启动turtlesim,首先运行roscore启动ROS的节点管理器,方法及结果如下:

    simon@bert:~$ roscore
    ... logging to /home/simon/.ros/log/6b8e52d4-1597-11ea-ade6-000ec6c8c4f9/roslaunch-bert-2594.log
    Checking log directory for disk usage. This may take awhile.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.

    started roslaunch server http://bert:44267/
    ros_comm version 1.14.3


    SUMMARY
    ========

    PARAMETERS
    * /rosdistro: melodic
    * /rosversion: 1.14.3

    NODES

    auto-starting new master
    process[master]: started with pid [2604]
    ROS_MASTER_URI=http://bert:11311/

    setting /run_id to 6b8e52d4-1597-11ea-ade6-000ec6c8c4f9
    process[rosout-1]: started with pid [2615]
    started core service [/rosout]

    roscore会启动一个ROS Master、一个ROS参数服务器和一个名为rosout的日志节点。ROS Master默认运行于11311端口,如果想指定端口,可参照如下:

    roscore -p 11312

    2.启动ros节点
    利用Ctrl+Shift+T快捷键另外打开一个终端,启动turtlesim的节点turtlesim_node,命令如下:

    simon@bert:~$ rosrun turtlesim turtlesim_node
    [ INFO] [1575452194.366400729]: Starting turtlesim with node name /turtlesim
    [ INFO] [1575452194.371807393]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]

    3.使用键盘
    如果希望小海龟能够移动,可以启动turtlesim的键盘控制节点turtle_teleop_key,利用Ctrl+Shift+T快捷键另外再打开一个终端,输入命令:

    simon@bert:~$ rosrun turtlesim turtle_teleop_key
    Reading from keyboard
    ---------------------------
    Use arrow keys to move the turtle.

    在当前终端下,按住方向键即可控制小海龟移动

    看看我的艺术小海马

    好了,赶快去试试吧,欢迎留言讨论~

    • 访问github速度太慢

    温馨提示:最近,国内访问GitHub会因为DNS(域名解析服务)的问题出现图片无法显示的情况,如果你也遇到了这样的问题,可以通过修改本机的hosts文件直接对GitHub的资源链接进行域名解析来加以解决。我们可以把下面的内容添加到hosts文件的末尾,这样就可以解决GitHub上图片无法显示的问题。

    151.101.184.133    assets-cdn.github.com
    151.101.184.133    raw.githubusercontent.com
    151.101.184.133    gist.githubusercontent.com
    151.101.184.133    cloud.githubusercontent.com
    151.101.184.133    camo.githubusercontent.com
    • 强制关闭类似于任务管理器

    (1)ctrl+alt+t,调出终端,输入 top,显示的全是现在系统的进程,按占用资源从多到少排列的找到要关掉的进程,记下该进程第一列的PID编号,然后输入q,退回终端

    (2)输入sudo kill pid即可

    参考https://blog.csdn.net/sinat_36330809/article/details/85317383

    • OpenCV3.3.1安装

    可以参考高翔的十四讲

    可以参考网上比较认可的https://blog.csdn.net/cocoaqin/article/details/78163171

    去官网下载opencv,在本教程中选用的时opencv3.3.1
    下载链接http://opencv.org/releases.html,选择sources版本

    解压下载下来的zip包

    unzip opencv-3.4.1.zip

    安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令

    sudo apt-get install cmake

    sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

    libjasper-dev安装报错,找不到位置

    参考https://blog.csdn.net/weixin_41053564/article/details/81254410

    后来google到解决办法,复制到这里

    sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
    sudo apt update
    sudo apt install libjasper1 libjasper-dev

    成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

    进入到解压后的文件包中

    之后按照这个https://blog.csdn.net/qzx9059/article/details/88680475

    进入opencv的文件夹

    mkdir build

    cd build

    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..  #最后的两个点不能省

    sudo make  #编译过程十分的漫长

    sudo make install  #安装完成

    测试

    在opencv-3.4.0/smaples/cpp/example_cmake目录下执行下面的代码测试

    cmake . 
    make 
    ./opencv_example

    如果输出“hello opencv”就代表配置成功了。

    这篇博客https://blog.csdn.net/qzx9059/article/details/88680475还有一处进行的是opencv环境的配置,首先需要将opencv的库添加至路径,我没有做

    原先参考的那篇文章https://blog.csdn.net/cocoaqin/article/details/78163171也有这个,配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

    其他参考https://blog.csdn.net/qzx9059/article/details/88680475参考了https://blog.csdn.net/u013066730/article/details/79411767参考了https://blog.csdn.net/hjxu2016/article/details/82390434参考了https://blog.csdn.net/gxuphf123/article/details/81121791

    其他参考https://blog.csdn.net/public669/article/details/99044895

    注意首先安装一些依赖项

    还有windows下附加安装contrib的https://blog.csdn.net/zmy_666/article/details/102847338

    • Eigen安装

    参考https://blog.csdn.net/p942005405/article/details/100653731

    选择源码安装,官方下载地址

    https://gitlab.com/libeigen/eigen/-/releases

    下载完解压

    cd eigen-3.3.3
    mkdir build
    cd build
    cmake ..
    sudo make install
    #安装后,头文件安装在/usr/local/include/eigen3/
    #移动头文件sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
    因为eigen3 被默认安装到了usr/local/include里了(或者是usr/include里,这两个都差不多,都是系统默认的路径),在很多程序中include时经常使用#include <Eigen/Dense>而不是使用#include <eigen3/Eigen/Dense>所以要做下处理,否则一些程序在编译时会因找不到Eigen/Dense而报错。上面指令将usr/local/include/eigen3文件夹中的Eigen文件递归地复制到上一层文件夹(直接放到/usr/local/include中,否则系统无法默认搜索到 -> 此时只能在CMakeLists.txt用include_libraries(绝对路径了))

    #安装后,头文件安装在/usr/local/include/eigen3/
    #移动头文件sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

    eigen官网http://eigen.tuxfamily.org/index.php?title=Main_Page

    eigen其他版本获取链接https://gitlab.com/libeigen/eigen/-/releases

    • Ceres Solver安装

    主要参考http://www.manongjc.com/article/30703.html

    官方参考http://ceres-solver.org/installation.html

     在官网中有两种下载方式Or if you want the latest version, you can clone the git repository

    git clone https://ceres-solver.googlesource.com/ceres-solver

    稳定版本You can start with the latest stable release

    链接地址http://ceres-solver.org/ceres-solver-1.14.0.tar.gz

    点进去下载

    Start by installing all the dependencies.

    # CMake
    sudo apt-get install cmake
    # google-glog + gflags
    sudo apt-get install libgoogle-glog-dev
    # BLAS & LAPACK
    sudo apt-get install libatlas-base-dev
    # Eigen3
    sudo apt-get install libeigen3-dev
    # SuiteSparse and CXSparse (optional)
    # - If you want to build Ceres as a *static* library (the default)我选择了静态库
    #   you can use the SuiteSparse package in the main Ubuntu package
    #   repository:
    sudo apt-get install libsuitesparse-dev
    # - However, if you want to build Ceres as a *shared* library, you must
    #   add the following PPA:
    sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
    sudo apt-get update
    sudo apt-get install libsuitesparse-dev
    

    We are now ready to build, test, and install Ceres.

    tar zxf ceres-solver-1.14.0.tar.gz
    mkdir ceres-bin
    cd ceres-bin
    cmake ../ceres-solver-1.14.0
    make -j3
    make test
    
    得到

    100% tests passed, 0 tests failed out of 127

    Total Test time (real) = 147.39 sec


    # Optionally install Ceres, it can also be exported using CMake which # allows Ceres to be used without requiring installation, see the documentation # for the EXPORT_BUILD_DIR option for more information. make install

    报错

    Install the project...
    -- Install configuration: "Release"
    CMake Error at cmake_install.cmake:41 (file):
    file cannot create directory: /usr/local/include/ceres. Maybe need
    administrative privileges.

    Makefile:128: recipe for target 'install' failed
    make: *** [install] Error 1

    加上sudo就对了

    • Sophus安装

    高翔博士说要装非模板类,也就是回到a621ff版本,但是我没有这么做,直接编译安装也成功了,而且我是install了的!

    参考(其实没啥用)https://blog.csdn.net/lege675797663/article/details/79602565

    其他参考https://blog.csdn.net/shanpenghui/article/details/104297120

  • 相关阅读:
    MiniOS系统
    《硅谷传奇》
    《构建之法》1—3章
    学术诚信与职业道德
    Sprint2
    Scrum 项目 7.0 Sprint回顾
    Scrum 项目 6.0 sprint演示
    Scrum 项目 5.0
    Scrum 项目4.0
    操作系统 实验三 进程调度模拟程序
  • 原文地址:https://www.cnblogs.com/momeiwufeng/p/12626221.html
Copyright © 2020-2023  润新知