Ubuntu14.04_ROS学习笔记(3)ROS官方初级教程遇到的错误

学习ROS一定都是先去看ROS的wiki官方教程 http://wiki.ros.org/
在学习初级教程的时候也会遇到许多的报错和提示,有一些能够修正过来,有一些要去百度好久才能够修正,因为官网的不一定是绝对正确的~
这是我的第三次复习笔记,想起来在学习官网的时候也发现了有些坑,在这填了吧,官网教程至少要运行好几遍才能熟悉整个ROS的构架和工作流程,这样也对其运行机理有一定的掌握,所以建议多看看教程,多运行几个周期。
我的ROS刚开始是装的kinetic版本用的ubuntu16.04版。但是在最后的roswtf运行会报错,我也找不出是什么原因,就没有再继续用这个版本,也不想重新安装ROS_kinetic了,之后再根据zumy小车的版本,下载了同样的indigo版。

在安装indigo时就会有一个很奇怪的现象,可能是我的ubuntu版本没对应吧,按照官网安装指令安装indigo时出现数据源不对,读取不到该源,在第一次笔记就已经说过了,我就不累述了。

之后是建立一个工作空间和建立包:

mkdir -p ~/catkin_ws/src  #系统自动建立一个叫catkin_ws的工作空间
cd ~/catkin_ws
catkin_make #编译工作空间
cd ~/catkin_ws/src
catkin_create-pkg beginner_tutorials roscpp rospy std_msgs
#建立一个叫beginner_tutorials的包,有三个依赖关系
#这里有一个版本迭代的问题,可以用不同的命令建包,不单单是这一条命令,所以在百度的时候可能会是用其他命令建包。

之后叫是编译工程包和更新工作路径

cd ~/catkin_ws
catkin_make #编译工作环境,会把包括的包文件进行编译
source devel/setup.bash #在编译工作空间之后,就需要更新工作环境,因为ROS的工作环境是在一个setup.sh里面建立的,如果没有去修改是没有默认这个工作空间在工作环境中,需要用这条命令去注册工作空间。
echo $ROS_PACKAGE_PATH #这条命令可以查看当前的工作环境,就是工作路径,确认当前的工作空间在工作路径是,这样才能找到我们编译的包文件。

到此,包的建立和编译就基本完成,之后的细节查询办法看官网应该都没有错误和坑,主要就是要多看几遍,去慢慢理解ROS的运行机制。

之后就是一些节点触发方式

rosrun [package_name] [node_name]
roslaunch [package] [filename.launch]
#rosrun是单个节点的运行方式,roslaunch是一个launch文件的触发方式,launch文件里可以定义许多其他的文件来引用,是ROS的发动机。

然后就是消息的问题,我在学习zumy小车github上的包文件的时候,发现关联到的文件有一个引用信息包sensor_msgs.msg里面的Imu.msg,但是我在整个工程包中都没有找到这消息包文件,然后查看依赖关系,发现原来就有官方定义好的包文件叫sensor_msgs.msg。是引用了一个关系依赖后才引用Imu,说明消息类型可以提取的有很多,这个要自己在遇到的时候去看关系依赖有没有建立,再去看包文件有没有引用。
在官网教程的最后一个编写服务器和客户端的加法例子上也有最后一个坑,根据官方的例程步骤往下编写,到

gedit scripts/add_two_ints_server.py
#这之后就是在编辑框中编辑这个.py文件,一般都是复制黏贴,但是这里出现一个问题,复制过来后在前排有数字,我习惯性的去一行一行的删除,但是这样已删除,每行的空格数就会发生变化,然后在之后的rosrun这个.py文件的时候就会出现错误。

这也是我一个一直没弄明白的地方,在win的其他编译环境下,代码每行的空格数多出多少都不会报错只要语句没错就行,但是这里不行,每个子行只要多出一个空格,就会运行不下去,必须对齐,对齐,对齐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值