0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用SLAMWARE ROS SDK进行机器人导航定位开发

领衔资讯 2019-10-30 09:16 次阅读

承接上篇,上篇讲到,SLAMWARE ROS SDK的发布,既可以让用户在机器人开发中实现使用SLAMWARE提供的建图、定位和导航功能,又能保留原先基于ROS开发的应用逻辑,一举两得。

今天,小岚就来践行上篇的承诺,带大家体验一下如何利用SLAMWARE ROS SDK进行业务开发。

我们先从机器人的移动开始说起。

一、键盘控制 (前后左右移动)

还记得ROS中最经典的turtlesim(http://wiki.ros.org/turtlesim/)吗?案例中启动turtle_teleop_key节点就可以通过键盘方向键控制小海龟移动了。

但是,用户拿到我们基于SLAMWARE的机器人或者建图雷达产品,一开始在RViz中显示的只是一张地图信息,想要用键盘控制机器人移动方向,发现并不奏效?

这时候,参阅SLAMWARE ROS SDK开发文档可以发现, slamware_ros_sdk_server_node订阅了【方向移动】的标准类型topic,也就是说,想要实现利用键盘控制“机器人”,我们只需编一个节点接收键盘信息,当收到键盘信息后往该topic发对应的指令消息即可。

相应的消息参数如下:

在利用sdk进行键盘控制的时候,开发的主要重点有以下几个,小岚已经帮大家罗列好了:

1、定义键盘按钮

2、定义pub,制定消息topic及消息类型

3、初始化节点

这些都操作完成之后,当按下的按键在之前定义的案件keys中时,将对应的值赋给linearX,angularZ。

4、根据topic所需类型组装发布消息

至此,利用键盘控制机器人的部署已经完成,完成这一步的小伙伴可以分别启动slamware_ros_sdk_server_node与teleop_twist_keyboard节点试一下【前后左右】移动 。

下面,我们进一步深入了解导航定位这个问题。大家都知道,思岚有一款可扩展的机器人管理与开发软件 —— RoboStudio,里面集成了机器人运动及控制开发各项功能,可以对移动机器人发送指令,实现对机器人的可视化监控。

那,如何让ROS实现Robostudio同样的功能呢?

二、导航定位

1、导航定位

SLAMWARE ROS SDK的发布,使得所有基于SLAMWARE的机器人的定位和地图信息都可以在RViz中显示。有了地图之后,我们可以点击任意位置,机器人会自动规划一条最佳路线移动到目的地。

2、虚拟墙/虚拟轨道

对于思岚来说,除了自主定位导航威廉希尔官方网站 之外,还有一大特点功能就是基于纯软件设置的虚拟墙/虚拟轨道,不需任何实物铺设,灵活控制机器人活动范围。这个在实际应用场景中有很大的意义。

下面,我们就开始上手实验吧~

首先,先找到文档中的【virtual_walls】这个topic,发布的消息类型是自定义类型,点击可查看类型结构信息。

同样的,小岚给大家画了一下重点:

(1)初始化节点、定义publisher与subscriber对象

(2)全局定义了一个Marker类型,lines用以存储发布虚拟墙

(3)接收到slamware_ros_sdk_server_node节点发来的虚拟墙消息后,保存到lines中

(4)配置lines,如:类型、尺寸和颜色等

(5)将lines发布出去

部署完之后,我们分别启动slamware_ros_sdk_server_node, view_slamware_ros_sdk_server_node和display_virtual_lines节点。

此时,在RViz中需要配置添加Marker信息,先找到在RViz中点击左下角【Add】按钮。

选择添加【Marker】显示对象。

添加完成之后,我们继续在参考文档中找到【add_ lines】这个topic,然后我们就可以自定义。点进去查看自定义类型的组成与描述:线段类型、添加位置、以及相关定义

启动slamware_ros_sdk_server_node节点,连上机器人,然后在命令行中输入:

rostopic pub /slamware_ros_sdk_server_node/add_line slamware_ros_sdk/AddLineRequest -1 -- '[0]' '[1, [0.0, 0.0], [1.0, 1.0]]'

此时,我们就可以在Rviz中看见虚拟墙了。

那要如何删除呢?同理,我们找到clear_lines节点信息,在命令行输入相应代码即可:

rostopic pub /slamware_ros_sdk_server_node/clear_lines slamware_ros_sdk/ClearLinesRequest -1 '[0]'

虚拟轨道功能开发亦是如此。

……以上,仅为SLAMWARE ROS SDK中功能两个简单功能的演示。控制机器人运动状态、转向、旋转角度、地图同步、清空地图等topic的灵活使用,将可以更好的对机器人进行监测与控制。

那么,你准备好去探索了吗?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    《具身智能机器人系统》第1-6章阅读心得之具身智能机器人系统背景知识与基础模块

    物理交互纳入智能系统的核心要素。 第3章是探讨机器人计算系统。这一章节详细阐述了自主机器人的软硬件架构。计算系统需要满足机器人任务对算法的精度、实时性和功耗要求。书中介绍的多传感器融合定位
    发表于 12-19 22:26

    ROSCon China 2024 | RDK第一本教材来了!地瓜机器人与古月居发布新书《ROS 2智能机器人开发实践》

    12月7日-8日,为期两天的ROSCon China 2024在上海圆满落幕,来自全球的ROS专家学者、开发者、企业代表齐聚一堂,共享机器人前沿威廉希尔官方网站 成果。地瓜机器人携手众多RDK生态产
    的头像 发表于 12-10 18:48 369次阅读
    ROSCon China 2024 | RDK第一本教材来了!地瓜<b class='flag-5'>机器人</b>与古月居发布新书《<b class='flag-5'>ROS</b> 2智能<b class='flag-5'>机器人</b><b class='flag-5'>开发</b>实践》

    ROSCon China 2024 | RDK第一本教材来了!地瓜机器人与古月居发布新书《ROS 2智能机器人开发实践》

    12月7日-8日,为期两天的ROSCon China 2024在上海圆满落幕,来自全球的ROS专家学者、开发者、企业代表齐聚一堂,共享机器人前沿威廉希尔官方网站 成果。地瓜机器人携手众多RDK生态产
    发表于 12-10 10:56 174次阅读

    鸿蒙机器人与鸿蒙开发板联动演示

    鸿蒙机器人与鸿蒙开发板联动演示,机器人的角色为迎宾机器人开发板负责人宾客出现监听
    发表于 12-02 14:55

    SLAM:机器人如何在未知地形环境中进行导航

    作者: Aswin S Babu 设想一下,当我们困在一个陌生的沙漠中时,所面临的艰巨任务是寻找一条安全之路。长期以来,在陌生地形中导航一直是人类和机器人共同面临的难题。用于机器人或自动驾驶汽车
    的头像 发表于 10-02 16:37 513次阅读

    精准定位,激光领航——激光跟踪仪助力服务机器人性能提升

    随着人工智能和机器人威廉希尔官方网站 的快速发展,服务机器人在各行各业得到了广泛应用,服务机器人能够自主完成各种服务任务,如导航、搬运、清洁等,为保证服务机器人
    的头像 发表于 07-26 14:27 554次阅读
    精准<b class='flag-5'>定位</b>,激光领航——激光跟踪仪助力服务<b class='flag-5'>机器人</b>性能提升

    ROS机器人开发更便捷,基于RK3568J+Debian系统发布!

    的快速发展,智能机器人设备已成为工业自动化体系的佼佼者,而智能机器人设备核心—ROS系统,是机器人领域的集大成者,主要应用于机器人控制领域,
    发表于 07-09 11:38

    Al大模型机器人

    金航标kinghelm萨科微slkor总经理宋仕强介绍说,萨科微Al大模型机器人有哪些的优势?萨科微AI大模型机器人由清华大学毕业的天才少年N博士和王博士团队开发,与同行相比具有许多优势:语言
    发表于 07-05 08:52

    AMD Kria™ KR 260套件+ROS 2快速开发机器人解决方案

    伺服系统,其中不仅包含电机,还包含微控制器和网络功能。虽然这使得机器人应用所需的复杂电机驱动成为可能,但这也意味着每个伺服系统都有几个不同的驱动和控制机制。通常,当使用这种复杂的伺服和机器人应用时,需要大量的处理来规划和解决机器人
    的头像 发表于 06-21 16:35 9126次阅读
    AMD Kria™ KR 260套件+<b class='flag-5'>ROS</b> 2快速<b class='flag-5'>开发</b><b class='flag-5'>机器人</b>解决方案

    机器人高效导航定位背后SLAM专用芯片的崛起

    电子发烧友网报道(文/李宁远)对移动机器人来说,导航定位是最基本最核心的功能之一,机器人自主移动能力建立在出色的导航
    的头像 发表于 05-28 00:20 3533次阅读

    其利天下威廉希尔官方网站 ·搭载无刷电机的扫地机器人的前景如何?

    已经取得了显著的进步,但在威廉希尔官方网站 层面仍存在一些壁垒需要突破。首先,机器人导航定位威廉希尔官方网站 仍有提升空间,特别是在复杂家居环境中的精准导航和避障能力还需加强。其次,扫地
    发表于 05-05 15:03

    实现机器人操作系统——ADI Trinamic电机控制器ROS1驱动程序简介

    摘要 机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主
    的头像 发表于 04-24 15:43 2203次阅读
    实现<b class='flag-5'>机器人</b>操作系统——ADI Trinamic电机控制器<b class='flag-5'>ROS</b>1驱动程序简介

    SLAMWARE ROS SDK的基础架构、部署方法和应用示例介绍

    ROS作为机器人william hill官网 最广泛的基础架构之一,是很多用户开发机器人应用的首选框架,如果要在基于ROS开发
    的头像 发表于 03-21 10:44 906次阅读
    <b class='flag-5'>SLAMWARE</b> <b class='flag-5'>ROS</b> <b class='flag-5'>SDK</b>的基础架构、部署方法和应用示例介绍

    移动机器人ROS操作系统原理与应用

    ROS1不同的是,ROS2诞生的目的就是为了让更多机器人使用,所以在设计上更加符合威廉希尔官方网站 的发展方向,也运用了很多最近的威廉希尔官方网站 框架。
    发表于 01-02 12:28 587次阅读
    移动<b class='flag-5'>机器人</b>与<b class='flag-5'>ROS</b>操作系统原理与应用

    工业机器人由哪些部分组成?

    工业机器人需要依靠各种传感器来获取周围环境的信息,以便进行正确的定位导航和避障等任务。
    发表于 12-29 10:55 1224次阅读
    工业<b class='flag-5'>机器人</b>由哪些部分组成?