随笔分类 - ROS
Programming for Robotics
摘要:pluginlib 简介 ROS Pluginlib是ROS提供的一个功能包,用于制作和加载ros plugin。ros plugin本质上是将C++类通过pluginlib进行封装,编译为动态库(.so文件)。再通过pluginlib提供的接口在主程序中实现运行时加载plugin ROS中的插件(
阅读全文
摘要:catkin_tools 简介 catkin_make的替代工具 安装 关于安装方法,建议直接查看官方文档https://catkin-tools.readthedocs.io/en/latest/installing.html 另外,从源安装可能会遇到一些意料之外的问题,或许可以在这里找到解决方法
阅读全文
摘要:CppStyle Naming(命名) 命名方案 CamelCased :名称以大写字母开头,每个新单词都有一个大写字母,没有下划线 camelCased :类似CamelCase,但首字母小写 under_scored :名称仅使用小写字母,单词由下划线分隔(under_scored 应该是 un
阅读全文
摘要:ROSbag 简介 rosbag是一套用于记录和回放ROS话题的工具。它旨在提高性能,并避免消息的反序列化和重新排序。rosbag package提供了命令行工具和代码API,可以用C++或者python来编写包。而且rosbag命令行工具和代码API是稳定的,始终保持向后的兼容性 .bag文件可以
阅读全文
摘要:actionlib 前言 Actionlib是ROS中一个很重要的库,类似service通信机制,actionlib也是一种请求响应机制的通信方式,actionlib主要弥补了service通信的一个不足,就是当机器人执行一个长时间的任务时,假如利用service通信方式,那么publisher会很
阅读全文
摘要:服务数据的定义与使用 服务通信过程中服务的数据类型需要用户自己定义,与消息不同,节点并不提供标准服务类型 定义srv文件 创建 .srv 文件只能放在 srv 目录下 roscd finaltest mkdir srv cd srv touch Person.srv # 注意Person首字母大写
阅读全文
摘要:# 创建服务端和客户端 ## ROS message(msg与srv介绍) ### msg > **简介** - ROS 使用简化的消息描述语言来描述 ROS 节点发布的数据值(又名消息) - ROS消息类型,即是ROS话题的格式,可视为ROS的数据类型,基本上是指同一个意思 - 消息描述存储在RO
阅读全文
摘要:URDF 简介 Unified Robot Description Format,统一机器人描述格式,简称为URDF ROS中的urdf功能包包含一个URDF的C++解析器,URDF文件使用XML格式描述机器人模型 解析 <robot> 介绍 完整机器人模型的最顶层标签 **<link>和<join
阅读全文
摘要:CMakeLists.txt 简介 CMakeLists.txt文件是CMake编译系统编译软件包过程的输入文件 任何CMake兼容包都包含一个或多个CMakeLists.txt文件,这些文件描述了如何编译代码以及将其安装到哪里 用于 catkin 项目的 CMakeLists.txt 文件是一个标
阅读全文
摘要:# 创建发布者和订阅者 ## 发布者 - 切换到软件包**src**目录,创建一个发布节点 ```bash roscd cd src touch talker.cpp ``` - 发布节点talker.cpp的内容如下 ```cpp #include // 导入ROS系统包含核心公共文件 #incl
阅读全文
摘要:package.xml 简介 功能包清单(Package manifest)是一个名为 package.xml 的 XML 文件,它必须包含在任何符合 catkin 标准的功能包的根目录中 该文件定义了有关功能包的属性,例如功能包名称、版本号、作者、维护者以及对其他 catkin 包的依赖关系 基本
阅读全文
摘要:ROS Launch 简介 启动文件(Launch File)是ROS中一种同时启动多个节点的途径,还可以自启动ROSMaster节点管理器,而且可以实现每个节点的各种配置,为多个节点的操作提供了很大便利 launch 文件本质上是一种 xml 文件,可以在头部添加 <?xml version="1
阅读全文
摘要:文件系统 rospack 返回软件包的所在路径 roscd roscpp 也可以切换到一个软件包或软件包集的子目录中 $ roscd roscpp/cmake 注意,roscd只能切
阅读全文
摘要:创建ROS工作空间 简介 工作空间(Workspace)是一个存放工程开发相关文件的文件夹。在ROS系统下,我们所有的项目都放在同一个工作空间下,我们在工作空间下建立不同的功能包来实现不同的功能。这些功能包可以是你自己写的,也可以是你移植其他人的 src:代码空间(Source Space),用来放
阅读全文
摘要:ROS 简介 ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统,是用于编写机器人软件程序的一种具有高度灵活性的软件架构,提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消传递,以及包管理 一套标准 ROS中有一个称为“计算图”的概
阅读全文