isaac sim 与 WLS2 ros2实现通信

Omniverse以及isaac还是windows下使用顺手一点,但是做跟ros相关的开发时候,基本就得迁移到ubuntu下了,windows下ros安装还是过于复杂,那不想用双系统或者ubuntu或者虚拟机,有啥别的好方法呢?这里想到了windows WLS2:

Windows Subsystem for Linux 2 (WSL2) 是微软在Windows操作系统上推出的第二代Linux子系统,它利用虚拟化技术提供了一个完整的Linux内核环境,让Windows用户能够无缝运行Linux应用与工具,显著提升性能与兼容性。

WSL2的优势在于其卓越的性能表现(特别是在文件I/O密集型操作上)和广泛的Linux发行版支持,为开发者、数据分析师及任何需要Linux环境的用户提供了强大而灵活的工具。

参考教程1:nvidia isaac sim中关于ros安装和配置

ROS 和 ROS 2 安装 — Omniverse IsaacSim 最新文档 --- ROS and ROS 2 Installation — Omniverse IsaacSim latest documentation (nvidia.com)icon-default.png?t=N7T8https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html最新的isaac sim4.0推荐支持ros2 humble版本,ros2 foxy以及ros1都将被废弃了,不建议尝试;


 ​​​​​​WLS2安装Ubuntu22.04

这部分网上教程很多,重点讲一下,win11自带wsl 2,但在安装前,建议还是升级wsl到最新,否则可能遇到问题。

wsl --update

wsl --update命令可以帮助保持WSL及其内核的最新状态,从而确保用户能够利用最新的功能和安全更新。

安装ROS2 Humble 

跟正常ubuntu上安装ros2 humble一样,

参考教程2:ros2官方Humble Ubuntu安装教程

Ubuntu (Debian packages) — ROS 2 Documentation: Humble documentationicon-default.png?t=N7T8https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

如果ros.key添加不上,可以这样做: 

wget http://packages.ros.org/ros.key
sudo apt-key add ros.key
sudo mv ros.key /usr/share/keyrings/ros-archive-keyring.gpg
sudo apt-get update

添加清华ros源:

sudo echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt-get update

windows isaac sim配置

这一步很简单,在这里之间这样选配即可,然后STRAT启动Isaac Sim

WLS2 ROS Humble配置

这一步也很简单,source 一下ros 环境即可

source /opt/ros/humble/setup.bash

验证

使用isaac action graph发布一个clock,可以参考下面教程:

ROS Clock — Omniverse IsaacSim latest documentation (nvidia.com)icon-default.png?t=N7T8https://docs.omniverse.nvidia.com/isaacsim/latest/ros_tutorials/tutorial_ros_clock.html

 在WLS ubuntu终端订阅该topic;

其它可能问题

我按照上面步骤安装和配置没有遇到问题,但之前配置docker ros遇到过网络问题,本以为WLS2也会遇到,因为发现WLS用了虚拟以太网,可能使得DDS发现不了,但是神奇的是本机直接就通了,但多机之间ROS还通不了。

如果遇到ros2 topic list 显示不出消息,那么可以检测防火墙,或者关闭防火墙,更高级的可以配置WSL的网络,默认情况下,WSL 使用基于 NAT(网络地址转换)的体系结构进行网络连接。 

使用 WSL 访问网络应用程序 |Microsoft 学习 --- Accessing network applications with WSL | Microsoft Learn


Isaac Lab开发不易,欢迎加QQ群一起交流学习:723139415

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/43762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全求交集PSI

安全求交集定义 求交集的PSI:交集可以被两方看见或其中一方看见,非交集进行保护有两方的PSI半诚实的PSI:攻击者要严格遵守协议,在此基础上得到他人的秘密是做不到的 Two-Party Semi-Honest PSI 挑战一:隐藏非交集元素…

软件测试之冒烟测试

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1. 核心 冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试&#x…

使用树莓派进行python开发,控制电机的参考资料

网站连接:https://www.cnblogs.com/kevenduan?page1 1、简洁的过程步骤, 2、有代码示例, 3、有注意事项,

Java核心技术【二十】Java泛型的基本概念和原理详解

Java泛型的基本概念和原理详解 一、泛型的基本概念 Java泛型(Generics)是Java SE 1.5(JDK 5)引入的一个新特性,它提供了一种在编译时期进行类型检查的方式,允许程序员在定义类、接口和方法时指定类型参数…

【第25章】MyBatis-Plus之字段类型处理器

文章目录 前言一、JSON 字段类型处理器1. 配置2. XML 配置对应写法3. Wrapper 查询中的 TypeHandler 使用 二、自定义类型处理器1. 创建自定义类型处理器2. 使用自定义类型处理器 三、实战1. 实体类2. 测试类3. 测试结果 总结 前言 在 MyBatis 中,类型处理器&#…

QImage 的图片可以直接显示吗

QImage 对象本身并不直接显示在屏幕上,但你可以很容易地将它转换为 QPixmap,然后使用 QLabel 或其他支持 pixmap 的 Qt 控件来显示它。QPixmap 是为屏幕显示而优化的图像表示,而 QImage 则提供了更多的图像处理能力,如像素访问、转…

Java PKI Programmer‘s Guide

一、PKI程序员指南概述 PKI Programmer’s Guide Overview Java认证路径API由一系列类和接口组成,用于创建、构建和验证认证路径。这些路径也被称作认证链。实现可以通过基于提供者的接口插入。 这个API基于密码服务提供者架构,这在《Java密码架构参考指…

硬件:CPU和GPU

一、CPU与GPU 二、提升CPU利用率:计组学过的 1、超线程一般是给不一样的任务的计算使用,而非在计算密集型工作中 2、Cpu一次可以计算一个线程,而gpu有多少个绿点一次就能计算多少个线程,Gpu比cpu快是因为gpu它的核多,…

LCD EMC 辐射 测试随想

最近做几个产品过认证。 有带2.8寸 MCU8080接口的小屏(320 X 240),也有RGB接口的10.1寸的大屏(800*600). 以下为个人随想,不知道是否正确,仅作记录。 测试发现辐射的核心问题还是在于时钟及其倍频所产生的尖峰。 记得读…

electron src build

编译文档: 构建说明 | Electron 1 下载depot_tools (1)安装depot_tools用于获取 Chromium 及其依赖项的工具集:地址 WINDOWS Download the depot_tools bundle and extract it somewhere. (2)在 Windows 上,您需要…

【Windows】记录一次C盘爆红的经历

记录一次C盘爆红的经历 作为一个IT从业人员一个电脑爱好者,在拿到电脑的时候我都会先将下载、文档、桌面等内容移动到D盘(桌面可以放在C盘),我的软件全都安装在D盘,然后给了C-120G/D-250G/E-100G,就在前两…

linux高级编程(TCP)(传输控制协议)

TCP与UDP: TCP: TCP优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统…

小试牛刀--对称矩阵压缩存储

学习贺利坚老师对称矩阵压缩存储 数据结构实践——压缩存储的对称矩阵的运算_计算压缩存储对称矩阵 a 与向量 b 的乘积-CSDN博客 本人解析博客 矩阵存储和特殊矩阵的压缩存储_n阶对称矩阵压缩-CSDN博客 版本更新日志 V1.0: 对老师代码进行模仿 , 我进行名字优化, 思路代码注释 …

【正点原子i.MX93开发板试用连载体验】AI程序的验证

本文最早发表于电子发烧友论坛:【新提醒】【正点原子i.MX93开发板试用连载体验】基于深度学习的语音本地控制 - 正点原子学习小组 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com) 这次的主要目标就是学习NXP的AI程序开发。首先阅读了《05【正点原子】ATK…

扩展任务1:完成页面的布局设计和美化

任务指导 1、参照下图,完成页面的布局和美化设计: 2、实现思路 例如可以通过修改Style样式的方式完成布局调整,具体页面显示样式,需要学生根据自己的喜好和设计自行完成,建议每个学生的页面尽量个性化设计&#xff0…

锅总反驳李彦宏说的“不要卷模型,要卷应用”

李彦宏的观点是大家不要卷模型,要卷应用,但我认为这种看法是荒谬的。以下是24条反驳李彦宏观点的论点和论据: 模型的准确性直接决定应用的质量和用户体验: 论据:在自然语言处理、计算机视觉等领域,模型的准…

【HTML入门】第六课 - 上标字、下标字和删除字

这一小节,我们说3个比较特殊的,用到的场景不多,但需要的时候绝对是有用处的。他们分别是上标字,下标字和删除字。 目录 1 上标字 2 下标字 3 删除字 4 学习HTML的一些问题 1 上标字 什么是上标字呢?你是否记得多少…

线程并发库复习

1.进行和线程 什么是进程:进程是内存分配的基本单位,它是程序执行时的一个实例,会被放到进程就绪队列,等进程调度器选择它,给它时间片,它才会运行。在java中启动进程,main,test&…

uniapp移动端实现商品拖拽集合,一行多个商品左滑删除功能!

许久未见,最近遇到一个产品,他是第一次做产品。总是有一些反人类的设计。没错,就是标题上的拖拽集合,以及商品的左滑删除。这种功能放眼各大app我都没找到有用这种设计的,他口口声声说他用过会找给我看,我等…

MySQL GROUP_CONCAT 函数详解与实战应用

提示:在需要将多个值组合成一个列表时,GROUP_CONCAT() 函数为 MySQL 提供了一种强大的方式来处理数据 文章目录 前言什么是 GROUP_CONCAT()基本语法 示例使用 GROUP_CONCAT()去除重复值排序结果 前言 提示:这里可以添加本文要记录的大概内容…