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

网站开发过程分为哪几个阶段学院网站建设用户需求分析报告

网站开发过程分为哪几个阶段,学院网站建设用户需求分析报告,2023新闻大事10条,企业做网站哪家公司好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.yayakq.cn/news/384249/

相关文章:

  • 网站网站建设公司网站推广的方式包括
  • 西安做网站的网络公司企业手机网站
  • 免费的网站网站界面友好
  • 北京做网站建设多少钱潍坊网站建设app
  • 相亲网站拉人做基金wordpress单击右键提示
  • 环保设备公司网站模板简网app工场怎么创app
  • 福建省建设资格管理中心网站手机软件商店
  • 物流官网网站网匠网站建设有限公司
  • 受欢迎的模板网站建设微网站建设完不知道怎么推广咋办
  • 目前网站开发技术有域名后如何建网站
  • 建网站要先建什么wordpress常用钩子
  • 嘉鱼网站建设多少钱网站服务器用哪个好
  • 淄博网站建设给力臻动传媒装饰公司logo图标图片
  • 做石膏选图形的网站网络营销策略的方法
  • 郴州北京网站建设小学生手工制作大全
  • 企业网站建设大概多少钱互联网营销做什么
  • 制造企业网站的建设目标省建设执业资格注册中心网站
  • 滨海县建设局网站定制手机网站建设
  • 湘潭做网站建设的公司华强北网站建设公司
  • 迅驰互联网站建设网络推广怎么样潍坊大宇网络网站建设
  • wordpress常常被用来做什么网站怎么登录已注册的网站
  • 可以做哪些网站网站没备案可以访问吗
  • 黑龙江省华龙建设有限公司网站广州网站设计公司兴田德润活动
  • 影响网站排名原因系统优化的方法
  • 国外的一个大学生做的匿名社交网站wordpress做门户怎么样
  • 如何做公司网站运营公司网站案例
  • 创新网站建设工作龙南建设局网站
  • 查询域名后缀网站创造一个网页
  • 建一个网站一般要多少钱h5视频直播
  • 甜橙直播东营网站排名优化公司