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)https://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 documentationhttps://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)https://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