前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ROS2网络多机通信DDS和安全加密SROS(多机器人系统)

ROS2网络多机通信DDS和安全加密SROS(多机器人系统)

作者头像
zhangrelay
发布2019-10-22 15:50:20
3.3K0
发布2019-10-22 15:50:20
举报

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ZhangRelay/article/details/101596837

ROS1多机通信配置较为繁琐,但是ROS2非常简单,直接通过DDS实现。

如果是局域网,只需确保ROS_DOMAIN_ID一致即可。

例如设置ID为5:export ROS_DOMAIN_ID=5。

所有网络中设置一致,即可通信。()

PC1:

PC1开启订阅器

PC2:

/topic

可以查看开启前后主题多了一个/topic。

在PC2开启发布器:

publisher

PC1:

PC1收到消息

思考题:尝试通过网络控制turtlesim和turtlebot3。


ROS1和ROS2都支持消息加密以提高安全性。

ROS1:http://wiki.ros.org/SROS

SROS是ROS的一组安全性增强功能,例如对ROS中所有套接字传输的本机TLS支持,使用x.509证书(允许信任链),可定义的名称空间(针对ROS节点限制和允许的角色)以及契约用户-space工具自动生成节点密钥对,审核ROS网络以及构造/训练访问控制策略。此外,还提供了AppArmor配置文件库模板,允许用户强化或隔离在Linux内核上运行的基于ROS的进程。

网络安全正迅速成为机器人技术的普遍问题,尤其是随着机器人在社会中的普及越来越普遍。随着工业自动化,自动驾驶汽车,商业监控平台,家庭服务机器人以及许多其他机器人领域的出现,这些子系统的安全性应被视为至关重要,因为它们都为网络威胁提供了载体,可将其表现为现实世界中的风险。即使没有工业强度的机器人手臂或高速无人驾驶半卡车带来的危害,与智能手机和PC一样,承诺与物联网集成的个人机器人也可能成为侵犯隐私和身份盗窃来源的目标。

1. 安装 2. 教程 3. 概念 4. 命令行工具 5. 环境变量

ROS2:https://github.com/ros2/sros2/blob/master/SROS2_Linux.md

软件包提供了在DDS-Security之上使用ROS2的工具和说明。支持跨平台(Linux,macOS和Windows)以及跨不同语言(C++和Python),并都测试安全功能。

尽管正在设计SROS2支持任何一款安全的中间件,但目前正在仅支持RTI Connext Secure 5.3.1和eProsima的Fast-RTPS 1.6.0,并进行测试。如果要使用RTI Connext Secure运行演示,则需要许可证并需要安装。


这里,以ROS2网络中使用SROS2为例简要说明,网络消息安全性对多机器人系统非常重要。

dashing可以直接用功能包安装:

sudo apt install ros-dashing-sros2

创建秘钥仓库:

代码语言:javascript
复制
ros2 security create_keystore xxx_keys

创建节点:

代码语言:javascript
复制
ros2 security create_key xxx_keys /talker
ros2 security create_key xxx_keys /listener

We use minimal_publisher and minimal_subscriber here.

mr_keys(multi-robots)

配置环境变量:

export ROS_SECURITY_ROOT_DIRECTORY=xxx_keys export ROS_SECURITY_ENABLE=true export ROS_SECURITY_STRATEGY=Enforce

网络使用需要将秘钥复制到对应网络设备中。

scp -r talker USERNAME@xxx:~/xxx_keys

否则无法收到加密消息,虽然能看到节点和主题,但是没有任何更新和显示。

节点和主题

无法收到消息

security pub

security sub


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档