ROS安装使用

  • ROS安装及配置
    • ROS安装
    • ROS环境变量配置
  • ROS工作空间建立
    • 新建工作空间
    • 新建package
    • 编译执行
    • Ros可视化调试助手
  • QtCreator中使用ROS程序

ROS安装及配置

详细参考ros wiki
ros作为出名的机器人操作系统,现在版本很多。主流的是16年出的kinetic,根据其官网提醒,这个版本支持到2021.04

我们在ubuntu16.04中安装kinetic,其他版本的安装方式如维基官网所示,wiki支持中文。

  • tips1:
    和别的wiki相同,查看ros的wiki时,中英文区别在于中间是否有cn
    http://wiki.ros.org/cn/ROS/Tutorials 为中文版
    http://wiki.ros.org/ROS/Tutorials 为英文版

ROS安装

安装过程还是很轻松的,主要参考官网。
1、首先设置可以从packages.ros.org上接受软件

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

2、其次添加keys

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
  • tips2:如果遇到连接到keyserver的问题,你可以在以上命令尝试替换hkp://pgp.mit.edu:80或hkp://keyserver.ubuntu.com:80。即把 hkp://ha.pool.sks-keyservers.net:80替换为以上两个中的一个。

3、安装
而后选择自己需要的不同的配置安装,为了功能全部具备,选择了桌面完整版安装

sudo apt-get install ros-kinetic-desktop-full

ROS环境变量配置

使用和环境变量配置
在开始使用ROS之前你还需要初始化rosdep。rosdep这个东西可能是配置一些依赖库的吧。

sudo rosdep init
rosdep update

我们知道在每个终端打开后,其自己是先加载了home下.bashrc文件中的环境变量,这样才可以使用一些特殊软件的指令。若想要使用roscd rosrun等ROS里的命令,自然是需要添加环境变量的:

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

当然啦,也可以打开home下的隐藏文件.bashrc,然后手动添加在文件的最后。
到这里,ros的完整数据包就安装完成了,为了检查自己的安装是否成功,可以依次经典的小乌龟例程试一下。
打开一个新终端,输入

roscore

其次再打开一个终端,打开看见一个乌龟即可。

rosrun turtlesim turtlesim_node

再打开另一个新终端输入如下,可以动一动。

rosrun turtlesim turtle_teleop_key
  • tips3: 除此之外,ros还有很多数据包和各种图形界面,可以在这个网站找到.

ROS工作空间建立

新建工作空间

在配置好环境变量后,需要新建一个catkin工作空间,一般叫做catkin_ws:

mkdir ~/catkin_ws/src
cd  ~/catkin_ws/src
catkin_init_workspace#(会在src下建立一个Cmakelist.txt)
cd ..
catkin_make

随后就在~/catkin_ws/下面生成了src build devel三个文件夹。在src生成CMakelist.txt.
如果在ros编译时出现如下错误
CMake Error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11 (message): execute_process(/home/qy/catkin_uvd/build/catkin_generated/env_cached.sh "/usr/bin/python" "/usr/bin/empy" "--raw-errors" "-F" "/home/qy/catkin_uvd/build/catkin_generated/order_packages.py" "-o" "/home/qy/catkin_uvd/build/catkin_generated/order_packages.cmake" "/opt/ros/kinetic/share/catkin/cmake/em/order_packages.cmake.em") returned error code 1
·
则可在CMakeCache.txt中加入如下环境变量,可用cmakegui打开改文件选择Add Entry

也可在QT中加入;也可以在编译时加入该环境变量catkin_make -DCMAKE_PREFIX_PATH=/opt/ros/kinetic

为了能够让电脑自动识别出我们所建立工作空间。能够使用roscd 、rosrun直接进入或运行我们的package和程序,需要在.bashrc中加入一行环境变量
source ~/catkin_ws/devel/setup.bash
或者

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

这时可用echo $ROS_PACKAGE_PATH抓一下是否设置有环境变量。

  • tips4:也可以每次运行前设置一下这个工作空间的环境变量(source ~/catkin_ws/devel/setup.bash或者export ROS_PACKAGE_PATH=~/catkin_ws/devel/setup.bash$ROS_PACKAGE_PATH),因为由于测试需求,有可能有多个相同package名字的工作空间,都放入系统环境变量,会导致不清楚执行的是哪一个程序。

新建package

package是ROS中相当重要的概念,在src下打开终端,输入如下,其中package_name应当全部小写

catkin_create_package <package_name> [depend1] [depend2] [depend3]
#在kinetic中已经将指令更新为
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]


就会在src下新建一个package_name文件夹并会有Cmakelist.txt和package.xml(清单)两个文件,可以编辑和cmakelist.txt加入项目文件、源代码。在package.xml(清单)中增加依赖ros依赖。

编译执行

编译我们可以用catkin_make、直接make、在Qt中编译三种方式,个人更倾向于catkin_make或在Qt中编译。

$ cd ~/catkin_ws
$ catkin_make -DCMAKE_BUILD_TYPE=Release

另外默认文件是生成在src同目录下面的,很多时候临时调试程序需要在另一台电脑中简要更新程序,而又不想拷贝代码,因此可以将代码放在U盘中,使编译所得程序生成在本地计算机中。可见另外一篇博文U盘编译ros程序

Ros可视化调试助手

在终端输入rqt可查看到ros调试助手,功能丰富,操作简单,而且不用记其操作指令。
例如:ROS可视化动态查看所有topic的频率/带宽/消息类型/数值

QtCreator中使用ROS程序

可以用来ROS开发的IDE很多,我们采用Qt。
安装qt后,简而言之就是在打开qt时同时加载ros的环境变量,使得能够找到ros的各个库。前提是电脑安装了cmake,本机测试在qt5.9 5.7中均测试过。

  • 1、找到qt的启动快捷方式DigiaQt-qtcreator-community.desktop(根据qt版本不同,名字有差异,但图标都一样)
    /home/qy/.local/share/applications或者/usr/share/applications/下,复制一个备份到桌面,拖入gedit打开,或在终端打开
gedit /home/qy/Desktop/DigiaQt-qtcreator-community.desktop

看见如下内容

[Desktop Entry]
Type=Application
Exec=/home/qy/Qt5.9.2/Tools/QtCreator/bin/qtcreator
Name=Qt Creator (Community)
GenericName=The IDE of choice for Qt development.
Icon=QtProject-qtcreator
StartupWMClass=qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;
  • 2、修改其如下:
[Desktop Entry]
Type=Application
Exec=bash -i -c /home/qy/Qt5.9.2/Tools/QtCreator/bin/qtcreator
Name=Qt Creator (ROS)
GenericName=The IDE of choice for Qt development.
Icon=QtProject-qtcreator
StartupWMClass=qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;

这里做的更改主要是在第三行Exec中加入bash -i -c,是为了前面所说加载.bashrc中的环境变量,因此.bashrc中要包含source /opt/ros/kinetic/setup.bash。双击打开本图标就为加载ros环境变量后的qt。

打开qt,选择src下的cmakelist,并选择Debug Realse文件的生成位置,选择src同目录下的build文件。也可以将Qt设置为自动选择src同目录下的build文件夹(最下一行)。

ROS安装使用与Qt使用ROS配置相关推荐

  1. ROS入门笔记(二):ROS安装与环境配置及卸载(重点)

    ROS入门笔记(二):ROS安装与环境配置及卸载(重点) 文章目录 1 ROS安装步骤 1.1 ROS版本 1.2 确定Ubuntu版本号 1.3 安装ROS 1.3.1 Ubuntu初始环境配置 1 ...

  2. ROS安装、双系统Ubuntu安装以及ROS的基本使用

    双系统ROS安装以及基本教程 第一章 安装ubuntu下载 第二章 ROS安装以及基本实现 文章目录 双系统ROS安装以及基本教程 前言 一.ubuntu安装 1.Ubuntu镜像安装: 2.Win3 ...

  3. qtcreator版本_【IDE】ROS开发环境之Qt Creator的安装与配置

    可以用于ROS开发的IDE很多(可以参考[工具合辑]ROS工程师都在用什么IDE开发呢?用哪种IDE开发更加高效呢? ),ROS的调试依赖环境变量,与外部程序有通讯,因此要求启动IDE的时候加载ROS ...

  4. ubuntu卸载_ROS入门笔记(二):ROS安装与环境配置及卸载(重点)

    1 ROS安装步骤 1.1 ROS版本 ROS目前只支持在Linux系统上安装部署, 它的首选开发平台是Ubuntu. 注:如果Ubuntu版本和ROS版本不对应的话,安装就不会成功了- 笔者使用的平 ...

  5. ROS安装:Ubuntu18.04安装配置ROS-melodic

    背景知识 安装可以参考官方文档: melodic/Installation/Ubuntu - ROS Wiki 1 安装melodic 1.1 安装ROS的下载源 在国内安装,选以下一个源: 中科大资 ...

  6. 【Ubuntu-ROS】ubuntu16.04(18.04)ROS安装配置与卸载

    1. 查看是否已经安装ROS 打开一个terminal控制台,直行 roscore 命令,若控制台有以下信息输出,则表示ros已经安装了 ... logging to /home/idriver/.r ...

  7. ROS安装过程和配置过程(可能出现的问题及解决方法)

    (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 准备学习ROS,所以在Linux Ubuntu16.04 ...

  8. ROS安装与机器人环境配置总结

    1. ROS安装 ROS安装官方文档:Ubuntu install of ROS Melodic http://wiki.ros.org/melodic/Installation/Ubuntu 错误 ...

  9. camera驱动电源配置_[ROS] 安装 USB Camera 驱动并调用

    在 ROS 系统中,想要使用 USB 摄像头需要安装相应的驱动程序.这里以常用的 usb_cam 为例来说明如何安装给 ROS 安装 USB 摄像头. 0.安装环境: Ubuntu版本:14.04 L ...

最新文章

  1. 几何画板画一个五边形内部的方法
  2. 移动端 元素外面使用伪类after加边框 导致其内部元素无法选中
  3. golang 读写文件的四种方式
  4. 琴弦文字 - wpf行为
  5. 使用正则表达式的技巧
  6. js使用hover事件做一个“个人中心”的浮动层
  7. 1、和一定时找数组中的两个数
  8. 该市官宣:高校有序解除封闭管理!
  9. 基于Spring-statemachine的有限状态机(FSM)的介绍及示例
  10. Gjs编程及调用底层库原理
  11. 三极管与稳压管恒流电路
  12. 从菜鸟到架构师(六)
  13. 数据清洗整理基本操作(R:dplyr、tidyr、lubridate)
  14. 主题:一个中专生:我在华为面试的真实经历,转http://www.javaeye.com/topic
  15. HDU 4125 Moles 线段树+KMP
  16. html与jsp、jsp与jsp之间的交互
  17. 隧道工地考勤人员定位体系,提高施工人员作业安全-新导智能
  18. 电脑文件误删除如何恢复?可以快速找回
  19. C++算法:三种方法求最大公约数和最小公倍数
  20. 易优模板,易优模板,易优cms模板大全

热门文章

  1. 字符串数组,字符数组
  2. STM32CubeMX5.1.0使用教程,以STM32L431为例(二):新建工程、时钟、gpio
  3. 传奇服务器怎么修改qq号,教你如何更改qq号码?
  4. Apache的虚拟主机是啥?
  5. linux软路由ospf,深入解析使用Linux+Zebra构建软路由系统
  6. css 不同语言下设置不同的字体
  7. 新版iTunes Connect如何删除一个已上传的built。重新上传
  8. FFmpeg最常用命令参数详解及应用实例
  9. Android图库/相册,禁止扫描指定的图片目录
  10. 论文笔记:《Network Dissection: Quantifying Interpretability of Deep Visual Representations》