ROS学习经历(1)——起点

ROS学习经历—1

最近需要学习ros,在此记录一下学习的过程。参考的课程:鱼香ros
在此感谢鱼香ros和大家的帮助。

ROS是什么?ROS = 通讯机制 + 工具软件包 + 机器人高层技能 + 生态
高层技能指的是导航,识别,抓握等能力。
在这里插入图片描述

此章介绍了一下节点,工作空间和功能包的概念。

1.节点

ROS中的节点相当于一个独立的工作间,而ROS则是那家大工厂。工作间完成各个工作,并且相互交流(比如:一个工作间作为制作原料,另一个工作间为原料加工)。
节点之间有四种通信方式,前三种较为我们常用:

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

1.1 节点的启动

使用指令

ros2 run <package_name> <executable_name>

1.2 其它常用的节点指令

查看节点的列表:

ros2 node list

查看节点信息:

ros2 node info <node_name>

重映射节点名称:(这个常使用在重复开多个节点时)

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

1.3 工作空间

当我们去找节点时,我们会先去看它在哪个包中,而包则在我们的工作空间中。
类似于:
工作空间->包->节点

1.3.1 介绍

那什么是工作空间?工作空间是包含若干个功能包的目录,可以简单理解当作一个文件夹,这个文件夹下有src。创建工作空间的操作如下:
》mkdir -p:递归的方式创建目录

mkdir -p turtle_ws/src
cd turtle_ws/src

1.4 功能包

功能包可以理解为存放节点的地方,根据编译方式的不同可以分为三种类型:

  • ament_python,适用于python
  • cmake,适用于C++
  • ament_cmake,cmake增强版
1.4.1 功能包的获取方法
  1. 安装获取
    在安装后会自动放置在系统目录
sudo apt install ros-<version>-package_name
  1. 手动编译
source install/setup.bash
1.4.2 功能包的相关指令

turtlesim指的是小乌龟的包,可替换为其他的包

  1. 创建功能包
ros2 pkg create <package-name>  --build-type  {cmake,ament_cmake,ament_python}  --dependencies <依赖名字>
  1. 列出可执行文件
ros2 pkg executables
  1. 列出某个功能包的节点
ros2 pkg executables turtlesim
  1. 列出所有的包
ros2 pkg list
  1. 输出某个包所在路径的前缀
ros2 pkg prefix  <package-name>
  1. 列出包的清单描述文件
    每一个功能包都会有一个标配的manifest.xml文件,记录这个包的名字、构建工具、编译信息、拥有者和干什么用的。
    》通过这些信息,就可以自动为该功能包安装依赖,构建时确定编译顺序。
ros2 pkg xml turtlesim 

1.5 构建工具—colcon

既然创建了工作空间,那么如何对其进行编译,使用的就是colcon
在工作空间(即对应的文件夹内),执行:

  1. 编译工程
colcon build
  1. 刷新一下资源
    在每次开启新的终端去启动节点时,都要source一下
source install/setup.bash
1.5.1 常用的指令
  1. 只编译一个包
colcon build --packages-select <package_name>
  1. 允许更改src下的部分文件来使得调整python脚本时不必重新build
colcon build --symlink-install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值