基于Ubuntu22.04的ROS humble基础

一.节点

1.什么是节点

先看一下官方的定义,ROS2中每一个节点也是只负责一个单独的模块化的功能(比如一个节点负责控制车轮转动,一个节点负责从激光雷达获取数据、一个节点负责处理激光雷达的数据、一个节点负责定位等等)

说简单一点就是可以把每个节点看作一个细胞,每个细胞都有不同的功能。

那么不同的节点之间,也就是需要交互的。ROS2其实已经为我们准备好了四种交互的方式:

  • 话题-topics
  • 服务-services
  • 动作-Action
  • 参数-parameters

 这些后面再详细说。

2.怎么启动一个节点呢?

运行节点(常用):

ros2 run <包名字> <可执行文件名字>

那么还有什么关于节点的命令呢?

查看节点列表(常用):

ros2 node list

查看节点信息(常用):

ros2 node info <节点名>

重映射节点名称:

ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle

运行节点时设置参数:

ros2 run example_parameters_rclcpp parameters_basic --ros-args -p rcl_log_level:=10

二.功能包与工作空间

一个工作空间下可以有多个功能包,一个功能包可以有多个节点存在。

那么如何来创建一个工作空间和功能包

1、创建工作空间catkin_ws

#创建目录
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
#初始化文件夹
catkin_init_workspace
#src文件中创建了一个 CMakeLists.txt 的文件,目的是告诉系统,这个是ROS的工作空间。

2、编译工作空间

#需要在整个工作目录下编译
#编译完成后,会出现build 和 devel两个文件夹
cd ~/catkin_ws/
catkin_make
#生成install文件夹
catkin_make install

3、设置环境变量

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
#查看当前环境变量
echo $ROS_PACKAGE_PATH

4、创建功能包

#std_msgs:包含常见消息类型,标准消息库
#roscpp:使用C++实现ROS各种功能
#rospy:使用python实现ROS各种功能
#test_pkg就是其中一个功能包,还可以下载其他功能包
cd ~/catkin_ws/src
catkin_create_pkg test_pkg std_msgs roscpp rospy

5.编译功能包

cd ~/catkin_ws
catkin_make

到这里就创建好了一个工作空间和功能包。

下面是一些常用的关于功能包和可执行文件的命令:

列出所有可执行文件:

ros2 pkg executables

列出turtlesim功能包的所有可执行文件:

ros2 pkg executables turtlesim

列出所有的包:

ros2 pkg list

输出某个包所在路径的前缀:

ros2 pkg prefix  <package-name>

列出包的清单描述文件:

每一个功能包都有一个标配的manifest.xml文件,用于记录这个包的名字,构建工具,编译信息,拥有者,干啥用的等信息。

通过这个信息,就可以自动为该功能包安装依赖,构建时确定编译顺序等

turtlesim的描述

ros2 pkg xml turtlesim 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值