首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
20 篇文章
1
ROS1&2机器人操作系统免安装在线自主学习平台简介和官方第三方教程列表
2
机器人操作系统二(ROS2)- 启程 Departure
3
机器人操作系统二(ROS2)- 修行 Taoism
4
机器人操作系统二(ROS2)- 仿真 Simulation
5
机器人操作系统二(ROS2)- 实践 Practice
6
ROS2与Arduino发布订阅
7
ROS2网络多机通信DDS和安全加密SROS(多机器人系统)
8
ROS2实时性案例分析之倒立摆系统使用(Inverted pendulum)
9
机器人实践课程镜像分享及使用说明(Arduino+ROS1+ROS2+Gazebo+SLAM+...)
10
使用机器人操作系统ROS 2和仿真软件Gazebo 9搭建机器人教程(一)
11
使用机器人操作系统ROS 2和仿真软件Gazebo 9命令遥控可视化教程(二)
12
使用机器人操作系统ROS 2和仿真软件Gazebo 9环境综合测试教程(三)
13
使用机器人操作系统ROS 2和仿真软件Gazebo 9目标跟踪实践(四)
14
使用机器人操作系统ROS 2和仿真软件Gazebo 9多机器人实践(五)
15
使用机器人操作系统ROS 2和仿真软件Gazebo 9激光传感器算法进阶(六)
16
使用机器人操作系统ROS 2和仿真软件Gazebo 9主题进阶实战(七)- mobot速度发布与里程计订阅
17
使用机器人操作系统ROS 2和仿真软件Gazebo 9服务进阶实战(八)- mobot行驶至目标位置
18
使用机器人操作系统ROS 2和仿真软件Gazebo 9行动进阶实战(九)- mobot区域巡逻
19
ROS 2 Foxy Fitzroy遇见Ubuntu 20.04
20
使用ROS2机器人操作系统进行多机器人编程技术实践(Multi-Robot Programming Via ROS2 )

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

版权声明:本文为博主原创文章,遵循 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


下一篇
举报
领券