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的灵活使用,将可以更好的对机器人进行监测与控制。

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索RISC-V在机器人领域的潜力

    利用Gazebo仿真环境(在x86主机上运行)和MUSE Pi Pro上的ROS 2节点进行了联合仿真。 • 场景: 在PC的Gazebo中运行一个TurtleBot3机器人模型,M
    发表于 12-03 14:40

    高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

    校正方案,实时补偿位置偏差与温度漂移,显著提升轨迹规划精度与重复定位精度。 4. 模块化系统集成方案 MYD-LT536 提供完整SDK、Linux 驱动与开发文档,可快速构建机器人
    发表于 11-14 15:48

    NVIDIA助力新一代机器人开发开源框架

    今年的 ROSCon 在新加坡举办,并于 10 月 29 日顺利闭幕。大会吸引了全球机器人操作系统(ROS)领域开发者的关注。ROS 是目前全球应用最广泛的
    的头像 发表于 11-06 11:55 634次阅读

    如何基于翼辉信息SylixOS开发ROS 2应用

    算法的一站式解决方案,同时辅以功能强大的开发工具,助力工程师与研究人员高效完成项目开发ROS 2 在实时性、安全性、灵活性和跨平台支持等方面进行了显著的改进,为现代
    的头像 发表于 08-14 15:44 1665次阅读
    如何基于翼辉信息SylixOS<b class='flag-5'>开发</b><b class='flag-5'>ROS</b> 2应用

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的方案详解

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的 方案详解 ,涵盖芯片型号、软件平台、开发工具链、应用场景与典型客户等。 一、方案概述:Jetson + Isaac SD
    的头像 发表于 07-30 16:05 3129次阅读

    盘点#机器人开发平台

    地瓜机器人RDK X5开发套件地瓜机器人RDK X5开发套件产品介绍 旭日5芯片10TOPs算力-电子发烧友网机器人
    发表于 05-13 15:02

    详细介绍机场智能指路机器人的工作原理

    带)定位、Wi - Fi 定位等。蓝牙定位可以通过与机场内部署的蓝牙信标进行通信,获取机器人的大致位置信息。UWB
    发表于 05-10 18:26

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    2的cv_bridge库,可以轻松实现ROS图像消息与OpenCV格式的转换,这在实际开发中极为便利。 视觉巡线与二维码识别的应用 视觉巡线是机器人自主导航的经典案例,书中从仿真到
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    ROS的全称:Robot Operating System 机器人操作系统 ROS的 目的 :ROS支持通用库,是通信总线,协调多个传感器 为了解决
    发表于 04-30 01:05

    【「# ROS 2智能机器人开发实践」阅读体验】+ROS2应用案例

    这一部分内容,我掌握了如何在ROS 2中实现SLAM,这对于提高机器人的自主导航能力具有重要意义。 其他内容概述 除了二维码识别和SLAM技术,书中还介绍了其他视觉应用和地图构建的内容,如视觉巡线
    发表于 04-27 11:42

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    出有用的信息,如障碍物的位置和形状。对于摄像头数据,可以使用 OpenCV 等图像处理库进行图像识别、目标跟踪等操作,为机器人导航和决策提供支持。 运动控制:运动控制是机器人
    发表于 04-27 11:24

    名单公布!【书籍评测活动NO.58】ROS 2智能机器人开发实践

    的未来开辟了无限可能。 ROS 缘起 2007年,一群怀揣梦想的年轻,正在斯坦福大学的机器人实验室里进行一场头脑风暴:如果可以开发一款硬件
    发表于 03-03 14:18

    使用 Thonny 对 XRP 机器人进行编程

    作者: [Aswin S Babu] 在 SLAM 博客系列[第 1 部分] ,我们讨论了什么是 SLAM(同步定位与绘图)以及机器人如何利用进行
    的头像 发表于 01-26 17:31 991次阅读
    使用 Thonny 对 XRP <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 18:48 1884次阅读
    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 991次阅读