设置好所有依赖项后,就可以编译这个程序包了。
1 编译ROS程序包
1.1 catkin_make
在catkin工作空间里,直接执行catkin_make就可以编译了。(官方教程说,相当于依次执行了cmake和make)
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...] 比如在之前新建的catkin_ws目录里执行,会编译src文件夹下所有的catkin工程。 $ catkin_make install 就可以生成很多东西了。(build devel install文件夹。)
如果代码不在src目录里,则会有点麻烦,比如在mysrc目录里,则用下面代码
$ catkin_make --source my_src $ catkin_make install --source my_src
2 ROS节点
2.1 安装小乌龟模拟器
因为我们一开始是完整安装的。。所以应该不需要额外安装了。下面代码是直接安装的代码
sudo apt-get install ros-indigo-ros-tutorials2.2 LUNIX chown命令
命令格式 : chown [选项]... [所有者][:[组]] 文件...
必要参数
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
可选参数
--reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
--from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
--help 显示帮助信息
--version 显示版本信息
2.3 修改~/.ros文件夹用户归属 代码为 $ sudo chown -R <your_username> ~/.ros也就是把根目录下的ros文件夹修改权限为当前用户(默认是只有root)
2.4 运行roscore
代码
$ roscore 这行代码,就启动了roscore,这个不能关,要打开其他的终端再用。 2.5 用rosnode ctrl+alt+T 打开新终端,下面的代码会显示正在运行的节点。 rosnode list 正常情况下,应该显示/rosout节点。 试着输入下面的命令 $ rosnode info /rosout 这会输出/rosout节点的一些信息,
2.6 rosrun运行节点
rosrun可以运行一些已经存在的节点,包名+节点名。
$ rosrun [package_name] [node_name] 我们知道我们之前学过了,我们可以做一些包,一个包里有src,里面可能有若干个东西。应该就是一个包里有很多节点把。 这里我们要运行之前下载的小乌龟包里的节点。 $ rosrun turtlesim turtlesim_node 运行了turtlesim包里的turtlesim_node节点。这个时候应该看到一个小乌龟。
再去运行2.5的命令,这次会多个/turtlesim节点。
有个好玩的命令rosnode ping来看ping。
比如rosnode ping turtlesim
可以看到延迟。(疑问:从哪里去ping这个节点?用ubuntu来ping?还是节点去ping?)
CTRL+C, Linux下万能关闭终端程序的方法。