【探索之路】机器人篇(2)-ROS系统并创建工作空间和项目
在ROS官网,已经给出了详细的教程。下面我就般一下砖,把相应的操作写到这里。官方网址:http://wiki.ros.org/cn/
安装ROS系统
indigo在ubuntu上的安装教程。官网:http://wiki.ros.org/cn/indigo/Installation/Ubuntu
1. 添加sources.list
配置你的电脑使其能够安装来自 packages.ros.org的软件。 ROS Indigo 仅 支持 Saucy (13.10) 和 Trusty (14.04)。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
如果你觉得你的下载速度太慢或者是无法下载,可以使用国内的源. http://wiki.ros.org/ROS/Installation/UbuntuMirrors
2. 添加 keys
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3. 安装ROS系统
首先,要保证Debian软件包索引是最新的
sudo apt-get update
然后安装(注:桌面完整版里面包含了各个工具和软件包,桌面完整版中包含了基础班。基础班只有核心的软件包和工具,无rqt、rviz等工具)
sudo apt-get install ros-indigo-desktop-full (桌面完整版安装)
sudo apt-get install ros-indigo-ros-base (基础版安装)
4. 初始化rosdep
sudo rosdep init
rosdep update
5. 设置环境
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
6. 安装 rosinstall
sudo apt-get install python-rosinstall
至此,ros的安装已经完成,如果您安装的过程中出现问题,可以将出错的那一行拿到百度中搜索查找一下解决方案。
7. 安装测试
重新打开一个终端,并执行roscore,如果未出现红色错误并出现以下情况则代表安装成功。
创建ROS工作空间
ros的工作空间创建其实很简单,就相相当于用编译器编译一次文件。
但是编译器所执行的文件目录下必须由src文件。所以创建ROS工作空间的步骤就是,找一个目录,在里面新建一个src文件件,然后编译,编译工具会自动生成工作空间需要的文件。
mkdir -p ~/catkin_ws/src #创建目录
cd ~/catkin_ws/ #进入到目录中,确保有src目录
catkin_make #编译
可见,执行编译工作后,我们的目录中多了 build 和 devel子目录,并多了好多文件,在src目录中多了一个CMakeLists.txt文件,这就是编译器自动创建的,也就创建了一个新的工作空间catkin_ws。
工作空间目录如下:
为了能让ros系统发现我们的新的工作空间,我们需要设置设置一下环境变量,这样ros系统才能找到我们以后创建的包文件。
source ~/catkin_ws/devel/setup.bash
为了避免以后每次打开终端都要执行上面这句话,我们可以将上面的语句添加到.bashrc文件中。
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
这样,我们以后打开终端,直接操作就行了。
创建一个ROS程序包
首先,进入我们的工作空间的src目录中,我们的程序包必须放到工作空间的src目录中(也可以是子目录).
我创建一个mwRobot_description,用来描述我的mwRobot机器人。(catkin_create_pkg后的第一个参数是包名,后面是依赖)
catkin_create_pkg mwRobot_description std_msgs rospy roscpp urdf
这样,一个ros程序包就创建好了,我们编译一下,然后关闭终端在重新启动看看能不能识别到我的程序包。
创建程序包后要回到工作空间目录下,执行catkin_make,然后关闭终端重新打开,在终端上输入roscd mw 然后按tab建看看能否看到自己包的名字(mw是我创建包的前两个字母,你们自行替换)。
如果可以看到,则mwRobot_description包创建成功。
【探索之路】机器人篇(2)-ROS系统并创建工作空间和项目的更多相关文章
- 【2017.10.13 ROS机器人操作系统】ROS系统常用术语及资源
ROS机器人操作系统是一种后操作系统,提供了类似于软件开发中使用到的中间件的功能. ROS: Robot Operating System 机器人操作系统 Package: 功能包 Stack: 功能 ...
- 编写第一个ROS(创建工作空间workspace和功能包package)
刚接触ROS,学着写了第一个程序,怕以后忘记,就将其步骤记录下来.. 首先你必须保证你电脑已安装配置好ROS. 1.创建工作空间(workspace) 我们所创建功能包package,应该全部放到一个 ...
- ROS教程(二):创建工作空间(图文)
ros教程:创建工作空间 目录 前言 一.工作空间? 二.创建一个工作空间 1.创建目录 2.编译 前言 使用catkin创建一个工作空间 一.工作空间? 在ROS系统下,我们所有的项目都放在一个工作 ...
- (转)-编写第一个ROS(创建工作空间workspace和功能包package)
原文网址:http://www.cnblogs.com/liuamin/p/5704281.html 刚接触ROS,学着写了第一个程序,怕以后忘记,就将其步骤记录下来.. 首先你必须保证你电脑已安装配 ...
- ROS系统MoveIt玩转双臂机器人系列(一)
一.ROS系统的MoveIt模块简介 机器人操作系统ROS目前最受关注的两个模块是导航(Navigation)和机械臂控制(MoveIt!),其中,机械臂控制模块(后面简称MoveIt)可以让用户快速 ...
- ROS机器人程序设计(原书第2版)补充资料 (贰) 第二章 ROS系统架构及概念
ROS机器人程序设计(原书第2版)补充资料 (贰) 第二章 ROS系统架构及概念 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 由于工作事 ...
- ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门
ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第一章主要包括R ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- 【探索之路】机器人篇(1)-ROS-mwRobot开篇
机器人的定义 首先,什么才是机器人?机器人是不是必须和人一样的外形?我们先看一看维基百科给机器人的定义: 由上可见,机器人并不是和人一样的外形,而是可以模拟人类行为或者思想再或者是模拟其他生物的机械. ...
随机推荐
- rest-framework:频率控制
一 频率简介: 为了控制用户对某个url请求的频率,比如,一分钟以内,只能访问三次 二 自定义频率类,自定义频率规则: 自定义的逻辑 #(1)取出访问者ip # (2)判断当前ip不在访问字典里,添加 ...
- Arcgis100.4 加载天地图不显示--备注一哈
Arcgis100.4 默认添加了请求referer 值,天地图会拒绝请求,替换为http://map.tianditu.gov.cn/ 可正常显示.(arcgis 降级到100.1也可正常显示) R ...
- 2019 ACM/ICPC North America Qualifier G.Research Productivity Index(概率期望dp)
https://open.kattis.com/problems/researchproductivityindex 这道题是考场上没写出来的一道题,今年看看感觉简单到不像话,当时自己对于dp没有什么 ...
- 第15.45节、PyQt输入部件:QKeySequenceEdit快捷键输入部件简介和使用案例
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.功能简介 Key Sequence Edit输 ...
- 第11.25节 Python正则表达式编译re.compile及正则对象使用
一. 引言 在<第11.2节 Python 正则表达式支持函数概览>介绍了re模块的主要函数,在<第11.3节 Python正则表达式搜索支持函数search.match.fullm ...
- mysql 创建新用户、数据库、授权
创建用户 1.登录mysql mysql -uroot -p 2.创建本地用户(2.3选其一) #use mysql; //选择mysql数据库 #create user 'w ...
- 「IOI2017」接线 的另类做法
看到这题,我的第一反应是:这就是一个费用流模型?用模拟费用流的方法? 这应该是可以的,但是我忘记了怎么模拟费用流了IOI不可能考模拟费用流.于是我就想了另外一个方法. 首先我们考虑模拟费用流的模型如下 ...
- 【笔记】「pj复习」深搜——拿部分分
说在最前面 众所周知, NOIP pj 的第三题大部分都是 dp ,但是有可能在考场上想不到动态转移方程,所以我们就可以拿深搜骗分. 方法 深搜拿部分分 剪枝 记忆化 看数据范围 有时候发现,写完深搜 ...
- nginx优化-转载
(1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...
- Java PDF全套笔记
java 知识pdf文档,基本涵盖了java知识点 java基础部分:https://github.com/HOSystemH/JavaFile/tree/master/JavaPDF java高级部 ...