Ubuntu 18.04 ROS 源码编译

环境准备

如果你已经安装过二进制的ROS,可以跳过环境准备步骤
如果没有,请按照以下步骤进行
打开终端,输入 以下代码代码

sudo apt-get install python-rosdep python-rosinstall-generator python-vcstool python-rosinstall build-essential
sudo rosdep init
rosdep update

注意:如果除了下面官方给出的依赖包外,自己安装过其他包(例如pcl 无论是源码编译安装还是二进制安装),建议卸载。否则可能会在编译ROS时出现错误,并且很难排查

下载源码

新建一个工作空间

mkdir ~/catkin_ws
cd ~/catkin_ws

以下操作都是在catkin_ws文件夹内进行的,请不要关闭当前终端。

你可以从下面选择一种版本进行下载:

桌面完全版 : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
vcs import src < melodic-desktop-full.rosinstall

桌面版 (官方推荐): ROS, rqt, rviz, and robot-generic libraries

    $ rosinstall_generator desktop --rosdistro melodic --deps --tar > melodic-desktop.rosinstall
    $ vcs import src < melodic-desktop.rosinstall

ROS核心版(只有ROS骨架): ROS package, build, and communication libraries. No GUI tools.

    $ rosinstall_generator ros_comm --rosdistro melodic --deps --tar > melodic-ros_comm.rosinstall
    $ vcs import src < melodic-ros_comm.rosinstall

我选择了桌面完全版,如果提示src文件不存在,请在catkin_ws文件夹内自行建立src文件夹。然后重新执行上面的代码。

注意:上面代码的第一行会在catkin_ws文件夹下建立一个后缀为 .rosinstall的文件,该文件包含了各种包的名称以及下载地址

由于网络原因,部分包可能无法下载。请找到catkin_ws文件夹内的 melodic-desktop-full.rosinstall 文件,里面包含包的名称以及下载链接,根据终端中的报错信息(即红色部分,上方给出了文件位置),自行下载,然后剪切到给定的位置下。
在这里插入图片描述在这里插入图片描述

例如:

根据终端提示信息发现image_common没有下载成功,在catkin_ws/melodic-desktop-full.rosinstall 文件中搜索找到image_common,根据下方的url地址,下载压缩包,解压缩并更改文件夹名称为image_common,然后将该文件夹剪切到catkin_ws/src/image_common文件夹内。其他未能成功下载的包按照同样的方式处理。

注意,不要先修改压缩文件家名称再解压缩,不然会多一级文件夹

不要重复执行上述代码,重复执行好像会覆盖掉已经下载好的包

安装依赖

下载完成以后,输入以下代码

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

等待依赖包安装完成。结束以后就可以开始编译源码了

编译

输入以下代码

./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Debug

等待编译完成,时间会很长,请耐心等待。

然后执行

source ~/ros_catkin_ws/install_isolated/setup.bash

检查更新

修改旧的 rosinstall 文件名称,避免新的rosinstall文件将其覆盖掉,输入以下代码

cd ~/catkin_ws
mv -i melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old

然后再输入以下 代码 检查新的源

rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall

然后输入以下 代码 比较新的rosinstall文件和旧的rosinstall文件,查看哪些包将要被更新

diff -u melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old

之后执行

vcs import src < melodic-desktop-full.rosinstall

下载源码包,并输入以下 代码 进行重新编译

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 安装ROSUbuntu 18.04上安装ROS,可以按照ROS官方文档的指导进行操作,具体步骤如下: 1)设置软件 ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 2)添加ROS公钥 ```bash sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 ``` 3)安装ROS ```bash sudo apt update sudo apt install ros-melodic-desktop-full ``` 4)初始化rosdep ```bash sudo rosdep init rosdep update ``` 5)设置环境变量 ```bash echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 2. 安装ros_control_boilerplate 安装ros_control_boilerplate可以使用ROS的包管理工具catkin,具体步骤如下: 1)创建catkin工作空间 ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 2)下载ros_control_boilerplate码 ```bash cd ~/catkin_ws/src git clone https://github.com/PickNikRobotics/ros_control_boilerplate.git ``` 3)安装依赖 ```bash sudo apt install ros-melodic-controller-manager ros-melodic-gazebo-ros-control rosdep install --from-paths . --ignore-src --rosdistro melodic ``` 4)编译 ```bash cd ~/catkin_ws/ catkin_make ``` 5)设置环境变量 ```bash echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 3. 使用ros_control_boilerplate 安装完成后,可以通过以下命令启动ros_control_boilerplate: ```bash roslaunch ros_control_boilerplate gazebo.launch ``` 该命令会启动Gazebo仿真环境,并加载ros_control_boilerplate的控制器,可以通过RViz进行控制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值