Ubuntu 16.04 ROS环境配置
最近新入职一家公司,是搞智能无人驾驶的,用的操作系统是Ubuntu和ros,之前没接触过ros系统,既然公司用那就必须的学习啊,话不多说先装它一个ros玩玩...
1. Ubuntu 安装 ROS Kinetic
1.1Configure your Ubuntu repositories(配置您的Ubuntu存储库)
在系统设置中,找到软件与更新,将如下几个都勾选,允许其从互联网下载。

1.2 Setup your sources.list(设置你的计算机以接受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'
1.3 Set up your keys
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
Executing: /tmp/tmp.NItfnqYQnV/gpg.1.sh --keyserver
hkp://ha.pool.sks-keyservers.net:80
--recv-key
421C365BD9FF1F717815A3895523BAEEB01FA116
gpg: requesting key B01FA116 from hkp server ha.pool.sks-keyservers.net
gpg: key B01FA116: public key "ROS Builder <rosbuild@ros.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
1.4 Installation
$ sudo apt-get update
$ sudo apt-get install ros-kinetic-desktop-full
安装过程中如果出现如下的错误,删除就可以.
# 错误
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
#执行如下命令解决
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
1.5 Initialize rosdep(初始化rosdep)
$ sudo rosdep init
$ rosdep update
1.6 Environment setup(配置环境)
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
1.7 Dependencies for building packages(安装building package的依赖)
$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
1.8测试ROS安装是否成功
1> 打开Termial,输入以下命令,初始化ROS环境:
$ roscore
2> 打开新的Termial,输入以下命令,弹出一个小乌龟窗口如下图:
$ rosrun turtlesim turtlesim_node

3> 打开新的Termial,输入以下命令,可以在Termial中通过方向键控制小乌龟的移动,如果不能控制,请选中turtle_teleop_key所在的终端窗口以确保你的按键输入能够被捕获。
$ rosrun turtlesim turtle_teleop_key

4.>打开新的Termial,输入以下命令,弹出新的窗口查看ROS节点信息:
$ rosrun rqt_graph rqt_graph

至此,ros Kinetic安装完成,下面就需要学习ros系统的使用了.
ROS环境变量管理
如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:
$ export |grep ros
如果你是通过ubuntu上的 apt 工具来安装ROS的,那么你将会在'/opt/ros/<distro>/'目录中看到setup.*sh文件,然后你可以执行下面的source命令:
# source /opt/ros/<distro>/setup.bash
请使用具体的ROS发行版名称代替<distro>,我的版本是kinetic版本的,则执行命令为:
$ source /opt/ros/kinetic/setup.bash
查看ROS版本的方法:
1、先在终端输入roscore
2、打开新终端,再输入,rosparam list
3、再输入rosparam get /rosdistro 就能得到版本
$ rosparam get /rosdistro
'kinetic '
参考文档: http://wiki.ros.org/kinetic/Installation/Ubuntu
https://blog.csdn.net/softimite_zifeng/article/details/78632211
Ubuntu 16.04 ROS环境配置的更多相关文章
- Intel realSense ubuntu 16.04+python 环境配置指南
1. 安装librealsense2-dkms 以及librealsense2-utils 1.Register the server's public key: sudo apt-key adv - ...
- Ubuntu 16.04 Go环境搭建 Go环境+Sublime配置
Ubuntu 16.04 Go环境搭建 Go环境+Sublime配置 1. 安装Go 下载地址https://golang.org/dl/ (需要翻下) 下载到类似go1.8.3.linux-amd6 ...
- Ubuntu 16.04 + ROS Kinetic 机器人操作系统学习镜像分享与使用安装说明
Ubuntu 16.04 + ROS Kinetic 镜像分享与使用安装说明 内容概要:1 网盘文件介绍 2 镜像制作 3 系统使用与安装 ---- 祝ROS爱好者和开发者新年快乐:-) ---- ...
- 如何在Ubuntu 16.04上安装配置Redis
如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...
- Ubuntu 16.04 samba相关配置
samba是 SMB/CIFS网络协议的重新实现,它作为NFS的补充使得在Linux和Windows系统之间进行文件共享.打印更容易实现. 相关介绍: SAMBA套件: (1)samba:这个套件主要 ...
- Ubuntu 16.04 root环境变量不生效问题解决方案
在Ubuntu 16.04中配置JDK环境变量,但是在切换到root时不生效 . 在/etc/profile中添加如下: export JAVA_HOME=/opt/java/jdk1..0_151 ...
- Ubuntu 16.04 服务器上配置使用 Docker
Docker基础概念 在使用Docker之前,我们先了解下几个Docker的核心概念 Docker Daemon Docker引擎,就是运行在后台的一个守护进程,在我们启动它之后,我们就可以通过Doc ...
- Ubuntu 16.04 安装和配置 Redis
因为发现之前手动安装的 redis 与现有的教程不一样,所以总结统一一下安装的标准步骤. 安装依赖项 为了获取最新版本的 Redis,我们将从源代码进行编译和安装.下载源代码之前,需要先安装一些编译所 ...
- Ubuntu 16.04上thunderbird配置163邮箱出现“配置无法被验证-请查看用户名或密码是否正确?”
在Ubuntu 16.04 上用thunderbird配置163免费邮箱时出现的提示信息如图1: 图1 提示信息 网上有不少方法都说是将接收和发出的主机名分别改为 imap.ym.163.com 和 ...
随机推荐
- svn提交后 添加注释
svn 提交后添加注释 第一步: 第二步: 第三步:提交就可以了. 注意:如果svn服务器管理员没有激活pre-revprop-change这个hook,会出现 需要让svn服务器管理员没有激活pre ...
- 前端利器Emmet
前端利器Emmet Emmet可以通过缩写生成代码片段,可以提升前端开发的效率.使用方法就是输入HTML或者CSS的缩写,然后按tab键自动生成.原文在这里 后代 > <!-- nav&g ...
- Java基础知识总结--final、finally、finalize的区别
谈谈final.finally.finalize的区别 1.final修饰符:如果一个类被声明为final,意味着这个类不能再被派生出新的子类,不能作为父类被别的类继承.因此,一个类不能即被声明为ab ...
- 团队——League of Programers简介
团队名称 League of Programers 团队成员简介 武璧泽:编程能力较强,善于程序思路设计: 邹兰兰:擅长代码的分析.编写与调试: 倪彤炜:擅长解决代码的修正与编写,善于调节团队关系: ...
- [原创]Burp Suite web应用程序渗透测试神器
[原创]Burp Suite web应用程序渗透测试神器 一 Burp Suite介绍 Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描 ...
- 为什么大多公司不要培训班出来的JAVA程序员?
经常听到这样的观点:很多公司不招聘培训班出来的学生.甚至于让人感觉,如果你参加过培训,那简直就是你程序员职业生涯中的一大污点. 撸码J总结了这些公司不要培训班学生的理由: 一:简历造假 网上有大量的帖 ...
- 浅谈MFC类CrackMe中消息处理函数查找方法
最近一个学姐发给我了一份CrackMe希望我解一下,其中涉及到了MFC的消息函数查找的问题,就顺便以此为例谈一下自己使用的消息函数查找的方法.本人萌新,如果有任何错漏与解释不清的地方,欢迎各路大佬指正 ...
- Django 数据表更改
Django 数据表更改 « Django 开发内容管理系统(第四天) Django 后台 » 我们设计数据库的时候,早期设计完后,后期会发现不完善,要对数据表进行更改,这时候就要用到本节的知识. D ...
- angularjs自定义filter
angular.Module API Overview Methods info([info]); provider(name, providerType); factory(name, provid ...
- 微信支付 python版
需求: 微信打开商品列表页面-> 点击商品后直接显示付款页面-> 点击付款调用微信支付 说明 微信支付需要你申请了公众号(appid, key - 用于签名), 商户号(mch_id, A ...