ROS基础(4)——安装ROS相关软件包

一、ROS的两种安装方式

本章将会通过两种安装方式安装ROS相关软件包
分别是:
通过apt方式安装RoboWare Studio
通过下载源码编译的方式安装安装ROS-Academy-for-Beginners教学包

这是两种常见的软件包安装方式,软件包(Package)就可以分为二进制和源代码。
也就是二进制包和源码包

二进制包里面包括了已经编译完成,可以直接运行的程序。
sudo apt-get install来进行下载和解包(安装),执行完该指令后就可以马上使用了。
因此这种方式简单快捷,适合比较固定、无需改动的程序。

而源代码包里是程序的原始代码,在计算机上必须经过编译,生成了可执行的二进制文件,方可运行。
一些个人开发的程序、第三方修改或者希望修改的程序都应当通过源代码包的来编译安装。

区别二进制包源码包
下载方式apt-get install直接下载git clone 直接下载源代码
debROS包存放位置/opt/ros/ kinetic~/catkin_ws/src
编译方式无需编译通过makelcmakelcatkin
来源官方apt软件源开源项目﹑第三方开发者
扩展性无法修改通过源代码修改
可读性无法查看源代码方便阅读源代码
优点下载简单,安装方便源码可修改,便于定制功能
缺点无法修改编译工具﹑软件包依赖﹑版本和参数
应用场景基础软件需要查看、开发和修改的程序

二进制安装包:
在ROS中,经常会遇到缺少相关的ROS依赖的问题。
有些时候编译或者运行一些ROS程序,系统会提示找不到XXX功能包。
遇到这样的问题,先注意阅读错误原因,看看是否有解决方法,也可以Google一下。
如果是缺少ROS的依赖,通常可以用以下命令来安装:

sudo apt-get install ros-kinetic-PACAKGE

将PACKAGE替换为系统提示缺少的软件包

二、安装RoboWare Studio

通常ROS的程序都是用C++和Python开发的﹐为了提高升发的效率,建议用IDE来写代码。
目前在Ubuntu上已经有许多IDE支持ROS开发﹐比如Eclipse ·Qt Creator。
不过这些IDE配置起来会比较麻烦,所以推荐一款适配ROS的IDE——RoboWare Studio来升发ROS

RoboWare Studio是一个ROS集成开发环境。
它使 ROS开发更加直观、简单、并且易于操作。
可过行ROS工作区及包的管理、代码编辑、构建及调试。

1、把必要的先安装了

sudo apt-get install build-essential
sudo apt-get install python-pip
sudo python -m pip install pylint
sudo apt-get install clang-format-3.8  # 也可以装3.9

2、安装包下载方式

(1)RoboWare官网:http:l/lwww.roboware.me/H/home(登不进去)
(2)网盘链接1提取码:nibq
(3)网盘链接2密码:3iuk
(4)官方GitHub链接:TonyRobotics/RoboWare

3、下载完成后放入VMware虚拟机的一个文件下,开始安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入密码
在这里插入图片描述

4、启动

在terminal输入

roboware-studio

出现下图表示成功,具体的使用之后再讲
在这里插入图片描述

三、安装ROS-Academy-for-Beginners教学包

1、下载功能包

官网可以查看很丰富的功能包和示例
现在要把他们弄到自己的系统里
依次执行:
下载教学包到工作空间

sudo apt-get install git   # 安装Git
mkdir -p tutorial_ws/src   # 创建二级目录
cd tutorial_ws/src         # 到这个目录中
git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git 

2、安装教学包所用的依赖

cd ~/tutorial_ws   # 返回上一层  也可以 [cd ..]

要根据自己的版本填写是melodic还是kinetic还是其他,不然会报错

rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y  

可能出现的问题1:
运行完可能会出现让你rosdep update一下,按照要求做就好了
此处有问题参考该文章

可能出现的问题2:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies
在这里插入图片描述
这是由于路径问题导致的,可以这样处理:

rosdep install --from-paths ./src/ROS-Academy-for-Beginners/ --ignore-src --rosdistro=kinetic -y

或者

rosdep install --from-paths ~/tutorial_ws/src/ROS-Academy-for-Beginners/ --ignore-src --rosdistro=kinetic -y

或者

rosdep install --from-paths ./src/ROS-Academy-for-Beginners --ignore-src -r

注意路径填自己的路径

在这里插入图片描述
以上命令非常重要,缺少依赖将导致软件包无法正常编译和运行。

在开始编译之前,需要确保Gazebo在7.0版本以上

gazebo -v

没有的话安装一下

 sudo apt install gazebo7

版本太低升级一下

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install gazebo7

gazebo启动不了:

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

如果还不行:

sudo gedit .ignition/fuel/config.yaml

url: https://api.ignitionfuel.org

改为

url: https://api.ignitionrobotics.org

gezebo的使用之后再讲

3、编译并刷新环境

cd ~/tutorial_ws
catkin_make

catkin_make出现问题的解决方案
有问题不怕,缺多少个依赖安装多少个
在这里插入图片描述

source ~/tutorial_ws/devel/setup.bash

注意:source命令,编译完成后必须刷新一下工作空间的环境,否则可能找不到工作空间。
许多时候为了打开终端就能够运行工作空间中编译好的ROS程序
习惯把source ~/tutorial_ws/devel/setup.bash命令追加到~/.bashrc文件中
这样每次打开终端,系统就会刷新工作空间环境。

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

4、运行示例

rospack profile
roslaunch robot_sim_demo robot_spawn.launch

在这里插入图片描述

打开新终端再输入下面的命令用键盘控制机器人移动:

rosrun robot_sim_demo robot_keyboard_teleop.py

在这里插入图片描述

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值