1.0编译完成后必须使用source命令刷新一下工作空间的环境
1.1source devel/setup.bash
上面的命令是在catkin_ws目录下执行的,意思是把catkin_ws目录下,devel文件夹里的setup.bash文件挂载到ROS的文件系统里去,这样当用户执行一些文件系统的命令时,就不会提示找不到该工作空间里的包或者文件了。
1.2 解决办法
这样每次都要source都很麻烦,解决办法是,使用如下命令
echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
这样在每次打开终端时,让系统自动刷新工作空间环境。在这个工作空间下的所有package都可以编译后就可以直接运行了,不用再source
注: echo $ROS_PACKAGE_PATH可以查看系统包含的package路径
2.~./bashrc
在主目录(~)下存在.bashrc文件. 这个文件里面写的任意代码都会在新建一个terminal之前运行. 所以如果我们需要在每一次打开一个新的terminal时, 声明一个变量, 就可以在~./bashrc文件中写上下面的命令:export EDITOR='nano -w'
3. 1LINUX下不同的文件类型有不同的颜色
蓝色表示目录
绿色表示可执行文件
红色表示压缩文件
浅蓝色表示链接文件
灰色表示其它文件
3.2 chmod +x的意思就是给执行权限 chmod -x的意思就是去除执行权限
4.ros入门教程中的节点talker和listener之间通过话题”chatter”来传递数据流,而数据流的具体数据类型则是std_msgs/String。
from std_msgs.msg import String
具体的解释详见,ROS消息传递——std_msgs - CSDN博客
5.有的ros节点是使用python编写的 ,但是rosrun的时候却找不到这个节点的解决办法:在python文件所在的文件夹下执行chmod a+x name.py 或者chomd a+x *