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

xiaoxiao2021-02-28  105

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

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

转载请注明原文地址: https://www.6miu.com/read-60673.html

最新回复(0)