学习6:编译ROS程序包,和学习ROS节点

来源:互联网 发布:泳池派对李青 淘宝价格 编辑:程序博客网 时间:2024/06/01 08:32

设置好所有依赖项后,就可以编译这个程序包了。


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-tutorials

2.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下万能关闭终端程序的方法。




原创粉丝点击