当前位置: 首页 > news >正文

自己做鞋子网站网站新域名查询

自己做鞋子网站,网站新域名查询,潍坊方圆网站建设,制作灯笼需要什么材料ROS2替换中间件为Cyclone_DDS 1.一些介绍:)2.不同DDS的RMW实现3.默认的FastDDS替换为Cyclone DDSi.安装依赖ii.编译 cyclone-dds 4.配置网络 1.一些介绍:) 上一篇我们探讨了ros1和ros2编写launch的区别 【ROS2】launch启动文件编…

ROS2替换中间件为Cyclone_DDS

  • 1.一些介绍:)
  • 2.不同DDS的RMW实现
  • 3.默认的FastDDS替换为Cyclone DDS
    • i.安装依赖
    • ii.编译 cyclone-dds
  • 4.配置网络

1.一些介绍:)

上一篇我们探讨了ros1和ros2编写launch的区别 【ROS2】launch启动文件编写
ros1和ros2还有一个很重要的区别就是底层通信框架,ros1采用的是xmlRPC, ros2采用的是DDS。
DDS 是一种端到端中间件,提供与 ROS 系统相关的功能,例如分布式发现(不像 ROS 1 中那样集中式)和对传输的不同“服务质量”选项的控制。也就是去中心化,ros2使用DDS后不再依赖roscore。DDS的实现又有很多种例如: RTI 的Connext DDS、eProsima 的Fast DDS、Eclipse 的Cyclone DDS或 GurumNetworks 的GurumDDS。ubuntu20.04 Foxy 默认的是FastDDS无需额外安装即可使用。

2.不同DDS的RMW实现

为了将 DDS/RTPS 实现与 ROS 2 结合使用,需要一个桥梁(又称接口或rmw简称rmw)包,该包使用 DDS 或 RTPS 实现的 API 和工具来实现抽象的 ROS 中间件接口。

名称许可证RMW实现维护状态
eProsima Fast DDSApache 2rmw_fastrtps_cppFull support. Default RMW. Packaged with binary releases.
Eclipse Cyclone DDSEclipse Public License v2.0rmw_cyclonedds_cppFull support. Packaged with binary releases.
RTI Connextcommercial,researchrmw_connext_cppFull support. Support included in binaries, but Connext installed separately.
GurumNetworks GurumDDScommercialrmw_gurumdds_cppCommunity support. Support included in binaries, but GurumDDS installed separately.

大多情况下,使用不同 RMW 实现的节点能够进行通信,但这并非在所有情况下都是如此。
Fast DDS <–> Connext
WString 使用Fast DDS 发布后无法被 macOS 上的 Connext 正确接收

Connext <–> Cyclone DDS
不支持发布/订阅通信WString

Connext Dynamic <–> Connext Dynamic
不支持 C 服务

3.默认的FastDDS替换为Cyclone DDS

i.安装依赖

sudo apt install ros-foxy-rmw-cyclonedds-cpp
sudo apt install ros-foxy-rosidl-generator-dds-idl

ii.编译 cyclone-dds

编译 cyclonedds 前请确保在启动终端时没有 source ros2 相关的环境变量,否则会导致 cyclonedds 编译报错。如果安装 ROS2 时在~/.bashrc中添加了 " source /opt/ros/foxy/setup.bash ",需要修改 ~/.bashrc 文件将其删除:

sudo vi ~/.bashrc
# source /opt/ros/foxy/setup.bash 

开始编译cyclone-dds

cd ~/ros2_workspace/cyclonedds_ws/src
#克隆cyclonedds仓库
git clone https://github.com/ros2/rmw_cyclonedds -b foxy
git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x 
cd ..
colcon build --packages-select cyclonedds #编译cyclonedds

编译完成后重新打开ros2的环境变量并执行source

4.配置网络

使用 ifconfig 查看网络信息,确认ros组网的以太网网卡。(例如如图中的enp0s31f6,以实际为准)
在这里插入图片描述

打开~/.bashrc编辑

#!/bin/bash
echo "setup ros2 environment"
source /opt/ros/foxy/setup.bash
source $HOME/ros2_workspace/cyclonedds_ws/install/setup.bash
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
export CYCLONEDDS_URI='<CycloneDDS><Domain><General><Interfaces><NetworkInterface name="enp0s31f6" priority="default" multicast="default" /></Interfaces></General></Domain></CycloneDDS>'

保存后

 source ~/.bashrc

测试连接效果:

ros2 topic list

如果出现了你发布的那些话题,那么恭喜你成功咯 :)
当然了如果你没发现目标topic,也可能是domain ID 的问题,默认是0,俩边通信这个值需要一致,我们后面再着重探讨下domain ID的配置。

作者:费码程序猿
欢迎技术交流:QQ:255895056
转载请注明出处,如有不当欢迎指正

http://www.15wanjia.com/news/30739.html

相关文章:

  • 网站建设后台网络运营师资格证
  • 如手机网站源码百度秒收录排名软件
  • 做思维导图的资源网站查关键词排名工具app
  • ssr网站怎么做黑帽seo技术
  • 网站备案号如何查找百度旗下13个app
  • 地下城封号做任务网站青岛网站seo公司
  • 温岭自适应网站建设seo免费培训
  • 做网站前端设计需要哪些证书seo对网站优化
  • 工业品一站式采购平台怎么免费制作网站
  • tlbb3官方网站慕容神器做的步骤seo自学网视频教程
  • 潍坊建设网站的公司百度搜索排名怎么做
  • 什么网站代做毕业设计比较好北京百度seo排名点击器
  • 深圳app开发公司哪家靠谱优化神马网站关键词排名价格
  • 大学生做爰网站站长平台官网
  • 惠州网站建设哪里找在哪里做推广效果好
  • 这几年做那些网站致富搜索引擎有哪些好用
  • 网站首页结构布局考研培训机构排名
  • 医院做网站的风格培训方案及培训计划
  • 源码做网站百度视频推广怎么收费
  • 网站技术维护专门制作小程序的公司
  • 山东平台网站建设找哪家地推公司
  • flask做的网站项目广西网络推广公司
  • 做网站的图片广告关键词排名
  • 情人做网站seo是什么东西
  • 手机建网站花钱吗网站运营专员
  • 吴忠市住房和城乡建设厅网站小说引流推广
  • 做演示的网站怎么推广公众号让人关注
  • 网站可以不备案吗网络安全
  • 住房和城乡建设部令第37号昆明网络推广优化
  • 毕业设计网站开发任务安排跨境电商网站