ROS学习笔记一:基础教程(上)
2018-01-29 19:47
429 查看
学习ros最好的教程便是维基百科,但是要注意一点便是中文的维基百科比较的旧特别容易出问题。还是推荐使用英文的维基百科,英文不好的同学可以用谷歌翻译(虽然翻译的水平很烂,但是可以中英文对照着看),推荐一个好办法就是看中文的维基但是命令都用英文版的维基上面的。当然对英文很反感的同学也可以看这里创客制造翻译的教程
闲话不多说,下面是我配置ros基础教程的步骤,我的环境是Ubuntu14.04 ros是indigo。安装教程很多,也比较简单就不详细说明。
一 创建ros程序包
1.1创建catkin工作空间
这样我们就新建了一个catkin工作空间
1.2创建catkin包
这样我们就成功创建了一个包含std_msgs rospy roscpp的catkin包,接下来我们验证一下是否成功
输入
如果出现,说明创建成功了。你可以继续下面的操作,如果不行只能重新来一次,可能某一步出错了,也可以参考维基百科
二 编译ros程序包
这一步十分便捷,只需要cd到最外层的目录下,然后
输入命令ls出现三个文件夹,如果出错请确定当前已经source过。
三 创建msg和srv
3.1 创建msg
进入robot路径
创建一个Num.msg文件
更改package.xml,这个文件就在当前目录下可以ls看到
取消如下两行
现在可以运行一下,观察是否正确
出现下面的结果说明正确
3.2下面我们新建一个srv
这次我们使用复制的方式
同样我们要更改Cmakelist文件
找到如下代码
改成
下面检验一下我们的srv文件
输入
如果看见
说明正常。
第一次写博客,还是特别艰难,后面没有完成的部分我会尽快完成的,希望大家喜欢。
闲话不多说,下面是我配置ros基础教程的步骤,我的环境是Ubuntu14.04 ros是indigo。安装教程很多,也比较简单就不详细说明。
一 创建ros程序包
1.1创建catkin工作空间
source /opt/ros/indigo/setup.bash
mkdir -p ~/robochengzi/src
cd ~/robochengzi/
catkin_make
source devel/setup.bash
这样我们就新建了一个catkin工作空间
1.2创建catkin包
cd src/ catkin_create_pkg robot std_msgs rospy roscpp cd .. catkin_make
这样我们就成功创建了一个包含std_msgs rospy roscpp的catkin包,接下来我们验证一下是否成功
输入
rospack depends1 robot
rospack depends1 robot
~/robochengzi$ rospack depends1 robot roscpp rospy std_msgs
如果出现,说明创建成功了。你可以继续下面的操作,如果不行只能重新来一次,可能某一步出错了,也可以参考维基百科
二 编译ros程序包
这一步十分便捷,只需要cd到最外层的目录下,然后
catkin_make
ls build devel src
输入命令ls出现三个文件夹,如果出错请确定当前已经source过。
三 创建msg和srv
3.1 创建msg
进入robot路径
roscd robot
创建一个Num.msg文件
mkdir msg echo "int64 num" > msg/Num.msg
更改package.xml,这个文件就在当前目录下可以ls看到
取消如下两行
<build_depend>message_generation</build_depend> <!-- Use build_export_depend for packages you need in order to build against this package: --> <!-- <build_export_depend>message_generation</build_export_depend> --> <!-- Use buildtool_depend for build tool packages: --> <!-- <buildtool_depend>catkin</buildtool_depend> --> <!-- Use exec_depend for packages you need at runtime: --> <exec_depend>message_runtime</exec_depend>
find_package(catkin REQUIRED COMPONENTS#在cmakelist下更改成如下形式 roscpp rospy std_msgs message_generation )
##取消注释并改成下面的形式 add_message_files( FILES Message1.msg Message2.msg )
add_message_files( FILES Num.msg )
##取消下面的注释 generate_messages( DEPENDENCIES std_msgs )
现在可以运行一下,观察是否正确
rosmsg show Num
出现下面的结果说明正确
~/robochengzi/src/robot$ rosmsg show Num[robot/Num]:
int64 num
3.2下面我们新建一个srv
$ roscd beginner_tutorials $ mkdir srv
这次我们使用复制的方式
roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv
同样我们要更改Cmakelist文件
找到如下代码
# add_service_files( # FILES # Service1.srv # Service2.srv # )
改成
## Generate services in the 'srv' folder add_service_files( FILES AddTwoInts.srv )
下面检验一下我们的srv文件
输入
rossrv show robot/AddTwoInts
如果看见
~/robochengzi/src/robot$ rossrv show robot/AddTwoInts int64 a int64 b --- int64 sum
说明正常。
第一次写博客,还是特别艰难,后面没有完成的部分我会尽快完成的,希望大家喜欢。
相关文章推荐
- ROS学习笔记一:基础教程(下)
- python基础教程学习笔记 — 准备Windows下开发环境
- <<Python基础教程>>学习笔记 | 第10章 | 充电时刻
- 传智播客_毕向东_Java基础视频教程学习笔记(一)
- Python3学习笔记之基础教程
- IOS开发基础教程学习笔记1(第6章)多视图应用程序
- <<Python基础教程>>学习笔记 | 第12章 | 图形用户界面
- 匿名内部类--毕向东java基础教程学习笔记
- redis基础教程学习笔记
- <<Python基础教程>>学习笔记 | 第06章 | 抽象
- Learn the object-c on MAC(中译本: Object-C 基础教程 ) 学习笔记
- [Matlab]基础教程学习笔记(七):符号运算
- Django学习笔记之ORM基础教程
- python基础教程学习笔记 — 基本概念
- 我的学习笔记——CSS基础教程
- 黑马程序员_毕向东_Java基础视频教程学习笔记(二十)
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十章 对象初始化
- Django学习笔记(一)环境搭建基础教程示例
- <<Python基础教程>>学习笔记 | 第01章 | 基础知识
- python基础教程_学习笔记13:标准库:一些最爱——sys