Ubuntu18 安装ROS-Melodic及常见配置

文章目录

  • 1.安装ROS Melodic
    • 1.1配置系统软件源
    • 1.2 添加ROS软件源
    • 1.3 添加密钥
    • 1.4 安装 ROS
    • 1.5 初始化rosdep
    • 1.6 设置环境变量
    • 1.7 完成安装
  • 2. 其他工具安装
    • 2.1 安装MoveIt
    • 2.2 PC端驱动摄像头
    • 2.3 更换运动学插件
    • 2.4 Gazebo相关包安装
    • 2.5 Sophus库的安装
    • 2.6 安装GPD
      • 2.6.1 环境要求
      • 2.6.2 安装抓取生成库 grasp_pose_generator
      • 2.6.3 编译GPD
      • 2.6.4 为一个点云文件生成Grasps(抓取姿态)
      • 2.6.4 配置深度相机检测抓取姿态
  • 3. 下载模型文件库

1.安装ROS Melodic

强烈推荐参照ROS-Melodic官方英文安装教程

1.1配置系统软件源

参考:Repositories/Ubuntu
Ubuntu18 安装ROS-Melodic及常见配置_第1张图片

1.2 添加ROS软件源

source.list是Ubuntu系统保存软件源地址的文件,位于/etc/apt目录下,在这里我们需要讲ROS的软件源地址添加到该文件中,确保后续安装可以正确找到ROS相关的下载地址。
打开终端,输入如下命令,即可添加ROS官方软件源镜像:

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

1.3 添加密钥

使用如下命令添加密钥:

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

1.4 安装 ROS

首先,使用如下命令确保之前的软件源修改得以更新:

sudo apt update

注: 若更新报错,尝试运行sudo apt-get upgrade后是否能够更新成功。

ROS系统非常庞大,包含众多功能包、函数库和工具,所以ROS官方为用户提供了多种安装版本:

  • 桌面完整版安装(Desktop-full):这是最为推荐的一种安装版本,除了包含ROS的基础功能(核心功能包、构建工具和通信机制)外,还包含丰富的机器人通用函数库、功能包(2D/3D感知功能、机器人地图建模、自主导航等)以及工具(rviz可视化工具、gazebo仿真环境、rqt工具箱等)。
sudo apt install ros-melodic-desktop-full
  • 桌面版安装(Desktop):该版本是完整安装的精简版,去掉了机器人功能包和部分工具,仅包含ROS基础功能、机器人通用函数库、rqt工具箱和rviz可视化工具。
sudo apt install ros-melodic-desktop
  • 基础版安装(ROS-Base):基础版精简了机器人通用函数库、功能包和工具,仅保留了没有任何GUI的基础功能(核心功能包、构建工具和通信机制)。因此该版本软件的规模最小,也是ROS需求的“最小系统”,非常适合直接安装在对性能和空间要求较高的控制器之上,为嵌入式系统使用ROS提供了可能。
sudo apt install ros-melodic-ros-base
  • 功能包独立安装(Individual Package): 无论使用以上哪种安装方式,都不可能讲ROS社区内的所有功能包安装到计算机上,在后期使用中会时常根据需求使用如下命令安装独立的功能包:
sudo apt install ros-melodic-PACKAGE

例如:

sudo apt install ros-melodic-slam-gmapping

1.5 初始化rosdep

rosdep是ROS中自带的工具,主要功能是为某些功能包安装系统依赖,同时也是某些ROS核心功能包必须用到的工具。完成以上安装步骤后,需要使用以下命令进行初始化和更新:

sudo rosdep init
rosdep update

PS
我在台式电脑上执行sudo rosdep init命令的时候, 遇到如下问题:

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

解决方法:

  • 检查系统时间是否正确
  • sudo -E rosdep init, 我这边使用这个命令解决了问题(ubuntu已),如果不行,继续尝试下面的方法;
  • 查看当前系统日期和时间是否正确,然后再次尝试上面的命令;
  • 运行sudo apt-get updatesudo apt-get upgrade之后,再次尝试上面的命令;
  • 如果还是不行,尝试sudo apt-get install ca-certificates,再次尝试上面的命令;
    参考网站:rosdep init gives “Website may be down.” #9721 (该网站可能需要)

1.6 设置环境变量

现在ROS已经成功安装到计算机中了,默认在/opt路径下。在后续使用中,由于会频繁使用终端命令输入ROS命令,所以在使用之前还需要对环境变量进行简单设置。
Ubuntu默认使用的终端是bash,在bash中设置ROS环境变量的命令如下:

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

如果使用的终端是zsh,则需要讲以上命令中的bash都修改为zsh:

echo "source /opt/ros/melodic/setup.zsh" >> ~/.zshrc
source ~/.zshrc

1.7 完成安装

现在ROS安装已到尾声部分,打开终端,输入roscore命令,则见到如下图,表示ROS已经在计算机上运行起来了
Ubuntu18 安装ROS-Melodic及常见配置_第2张图片
rosinstall也是ROS中的一个常用工具,可以下载和安装ROS中的功能包程序。这个工具暂时不是必须的,但是为了后续开发,还是建议通过以下命令安装:

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

2. 其他工具安装

2.1 安装MoveIt

sudo apt-get install ros-melodic-moveit

2.2 PC端驱动摄像头

USB摄像头最为普遍,如笔记本电脑内置摄像头等,在ROS中使用这类设备非常轻松,可以直接使用usb_cam功能包驱动。usb_cam功能包可以使用如下命令安装:

sudo apt-get install ros-melodic-usb-cam

usb_cam安装成功后,可以使用如下命令启动计算机摄像头,进行测试:

roslaunch usb_cam usb_cam-test.launch

rqt_image_view

2.3 更换运动学插件

Moveit !默认使用的运动学求解器是数值求解,优点在于可求解封闭情况下逆运动学,但其缺点是速度慢、失败率高。
这里,暂时将运动学插件换成trac-ik,使用下面的命令进行安装:

sudo apt-get intstall ros-melodic-trac-ik-kinematics-plugin

配置:
Ubuntu18 安装ROS-Melodic及常见配置_第3张图片
测试:

roslaunch "$MYROBOT_NAME"_moveit_config demo.launch

2.4 Gazebo相关包安装

sudo apt-get install ros-melodic-controller-interface  ros-melodic-gazebo-ros-control ros-melodic-joint-state-controller ros-melodic-effort-controllers ros-melodic-joint-trajectory-controller

2.5 Sophus库的安装

ROS自带安装了Eigen库,Sophus是一个较好的李代数的库,Ubuntu18.04下安装方法如下:

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make

出现问题:

出现“unit_complex_.real() = 1.;   unit_complex_.imag() = 0. ;"的错误

解决方法:在sophus/so2.cpp文件中,将

unit_complex_.real() = 1. ;

unit_complex_.imag() = 0. ;

改为:

unit_complex_.real(1.) ;

unit_complex_.imag(0.) ;

然后重新编译即可。
CMakeLists.txt需添加:

find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})

2.6 安装GPD

GPD机器人抓取姿态检测算法是为了使二指夹爪机械臂能在3D点云空间中检测到物体的6-DOF抓取位姿并实现抓取而设计的。
github地址:https://github.com/atenpas/gpd/tree/forward
Ubuntu18 安装ROS-Melodic及常见配置_第4张图片
GPD算法主要有3步:

  1. 生成选取大量抓取候选(grasp candidates)
  2. 把这些抓取候选分成两类:有效抓取姿态和无效抓取姿态
  3. 聚类几何相似的可行抓取

参考论文:High precision grasp pose detection in dense clutter(https://arxiv.org/abs/1603.01564)

2.6.1 环境要求

  1. PCL 1.7 or later
  2. Eigen 3.0 or later
  3. ROS Indigo and Ubuntu 14.04 or ROS Kinetic and Ubuntu 16.04

这里我是安装在了Ubuntu18.04 + Melodic上, 安装的版本是cpu版,不需要gpu训练。

2.6.2 安装抓取生成库 grasp_pose_generator

git clone grasp_pose_generator(抓取生成器)库:
Ubuntu18 安装ROS-Melodic及常见配置_第5张图片

#切换目录至你的工作空间
mkdir 
cd  
git clone http://github.com/atenpas/gpg.git

build & install 安装 grasp_pose_generator:

cd gpg
mkdir build && cd build
cmake ..
make
sudo make install

2.6.3 编译GPD

git clone GPD的库:

#注意这边因为后面要catkin_make编译,所以要将库放置于你工作空间中"src"目录下
cd   
git clone http://github.com/atenpas/gpd.git # 这里注意不要clone有caffe的版本的库,建议可以download库

PS:https://github.com/sharronliu/gpd/tree/forward上下载zip文件,然后再放置于src下extract解压!

Build catkin workspace:

#回到工作空间根目录进行catkin_make
cd 
catkin_make

这里出现编译错误,一个问题是Eigen库问题,我这里在CMakeLists.txt下检查并添加了如下部分:

find_package(catkin REQUIRED COMPONENTS
roscpp
cmake_modules # 添加 1
)

find_package(Eigen REQUIRED) # 添加 2

include_directories(${Eigen_INCLUDE_DIRS}) # 添加3

第二个问题是编译过程中,test部分代码里的include 部分报错,我判断问题出在srv没有编译完成,而代码中调用了该部分的头文件,因此,我将CMakeLists.txt里面所有test部分注释掉,然后catkin_make,编译成功,这时候关于srv部分已经编译完成,生成了相应的头文件,然后把CMakeLists.txt里面关于test部分的注释去掉,再次catkin_make,编译完成。
Ubuntu18 安装ROS-Melodic及常见配置_第6张图片

2.6.4 为一个点云文件生成Grasps(抓取姿态)

至此GPD应该已经编译完成,让我们来运行一下GPD中的Tutorial测试一下:

#切换到你的工作空间
cd 
#setup 一下 ROS
source devel/setup.bash
roslaunch gpd tutorial0.launch

这时会出现如下图所示的一个GUI窗口,在窗口下键盘按 ‘r’ 会居中视角得到下图, 按 ‘q’ 会退出当前GUI并加载下一个视图,一共三个视图窗口: 1. Grasp Candidates; 2. Valid Grasps; 3. Selected
Ubuntu18 安装ROS-Melodic及常见配置_第7张图片

2.6.4 配置深度相机检测抓取姿态

待更新

3. 下载模型文件库

https://bitbucket.org/osrf/gazebo_models/downloads/网站上的模型文件库下载解压并放置到~/.gazebo/models/文件下。

你可能感兴趣的:(ROS,Ubuntu18,ROS-Melodic)