月度归档:2020年06月

机器人操作系统ROS—使用激光雷达RpLidar A1进行SLAM定位建图

移动机器人在环境中获取障碍物的具体位置、房间的内部轮廓等信息都是非常必要的,这些信息是机器人创建地图、进行导航的基础数据。考虑成本,买了一个SLAMTEC公司的低成本二维激光雷达RpLidar A1进行初步的学习,它可以最快10hz的频率检测360度范围内的障碍物信息,最远检测距离12米,适合室内移动机器人使用。本文讲解如何使用它感知周围环境。 阅读全文

机器人操作系统ROS—树莓派Pi4环境(Raspberry Pi OS + ROS Melodic)

新入手一个Pi4,4核1.5GHz 64位A72处理器、8G内存(想起我的第一台电脑,赛扬处理器+512M内存…),用来做机器人的控制中心。由于树莓派4暂时还无法使用Ubuntu MATE,本文讲解给它安装Raspberry Pi OS系统 + ROS Melodic的过程。 阅读全文

机器人操作系统ROS—入门

上次我们通过机器人操作系统ROS—初探了解了ROS的基本概念和运行机制,并用内置的小龟模拟器进行了测试。本文我们开始学习如何编写自定义的Service/Client节点进行指定msg格式通信、尝试bag的录制和回放、并简单了解下三维可视化。

一、创建ROS msg消息和srv服务格式

参考:Creating a ROS msg and srv

温习一下,上一次我们了解到topic里的Message、ROS Services概念:

消息(msg):

 msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。 阅读全文

机器人操作系统ROS—初探

一直听到ROS这个名字,很好奇它为什么在机器人领域这么出名,所以从今天起我将从零开始学习一下,看看它到底有哪些神奇之处。本文作为初探篇会先带大家了解ROS的基本概念,通过安装和创建/运行程序包了解Nodes节点、Topics/Msg、Service服务/参数服务器、几个常见的工具。

ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。ROS遵守BSD开源许可协议。

ROS的官网:https://ros.org/

ROS 图(graph)概念:

  • Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。 阅读全文