WSL2 ROS2 控制Issac sim中机器人

环境搭建

在WSL2中安装ROS2 Humble

Ubuntu-Install-Debs

配置WSL2镜像模式(mirrored)

  1. 打开 Windows 文件资源管理器。
  2. 在地址栏输入 %UserProfile% 并回车,这会打开你的用户文件夹(例如 C:\Users\你的用户名)
  3. 在此文件夹下,新建或编辑一个名为 .wslconfig 的文件。
  4. 将以下内容粘贴或添加到文件中:
ini 复制代码
[wsl2]
networkingMode=mirrored
# 可选,但强烈推荐同时开启以下设置,以获得更完整的体验
dnsTunneling=true          # 让 WSL2 使用 Windows 的 DNS 解析[reference:11]
firewall=true              # 让 WSL2 遵循 Windows 防火墙规则[reference:12]
autoProxy=true             # 让 WSL2 自动同步 Windows 的系统代理设置[reference:13][reference:14]

[experimental]
# 以下为进阶优化选项,可根据需要添加
hostAddressLoopback=true   # 允许容器等通过主机 IP 回环连接[reference:15]
# ignoredPorts=3000,9000   # 示例:让 Linux 下的这些端口不绑定到 Windows[reference:16]

配置fastdds_wsl2_profile

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Fast DDS profile for Isaac Sim (Windows) <-> ROS 2 (WSL2).
  Disables multicast discovery and uses localhost unicast peers.
  Use on BOTH sides via FASTRTPS_DEFAULT_PROFILES_FILE.

  Mirrored mode (same LAN IP on Windows and WSL): use your WLAN IP, e.g. 192.168.31.9.
  Update both addresses below if your IP changes (check: ip -4 addr show eth2 in WSL).
-->
<profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
    <transport_descriptors>
        <transport_descriptor>
            <transport_id>CustomUdpTransport</transport_id>
            <type>UDPv4</type>
        </transport_descriptor>
    </transport_descriptors>

    <participant profile_name="default_participant_profile" is_default_profile="true">
        <rtps>
            <userTransports>
                <transport_id>CustomUdpTransport</transport_id>
            </userTransports>
            <useBuiltinTransports>false</useBuiltinTransports>
            <builtin>
                <metatrafficUnicastLocatorList>
                    <locator>
                        <udpv4>
                            <address>192.168.31.9</address>
                        </udpv4>
                    </locator>
                </metatrafficUnicastLocatorList>
                <initialPeersList>
                    <locator>
                        <udpv4>
                            <address>192.168.31.9</address>
                        </udpv4>
                    </locator>
                </initialPeersList>
            </builtin>
        </rtps>
    </participant>
</profiles>

重新启动WSL2

shell 复制代码
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export ROS_DOMAIN_ID=0
export FASTRTPS_DEFAULT_PROFILES_FILE=/mnt/d/robot/isaac-sim-standalone-6.0.1-windows-x86_64/docs/fastdds_wsl2_profile.xml

# 清 daemon 缓存后重试
ros2 daemon stop
ros2 daemon start

ros2 topic list
ros2 topic list --no-daemon

Issac Sim环境搭建

启动Issac Sim

bat 复制代码
$ .\isaac-sim.bat

enable ROS2 bridge

创建机器人

点击play

ROS2中控制机器人

shell 复制代码
$ ros2 topic list --no-daemon
sequence size exceeds remaining buffer
/chassis/odom
/clock
/cmd_vel
/left_stereo_imu/imu
/parameter_events
/rosout
/tf
控制机器人原地转圈
shell 复制代码
$ ros2 topic pub /cmd_vel geometry_msgs/msg/Twist   "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.5}}" -r 10

Nova Carter

相关推荐
rosemary5122 小时前
SO-101 Robot From Sim-to-Real With NVIDIA Isaac
issac sim·so-101
2601_963671683 小时前
机器人产业演进逻辑与商业化落地全景攻略
机器人
陈天伟教授15 小时前
FreeCAD 启动后小窗口闪现即退的解决思路
人工智能·机器人·工业设计
workflower15 小时前
设备单元级(L1)实施路径
人工智能·线性代数·矩阵·机器人·开源
瓶中怪21 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
iPad协议个微协议1 天前
企业微信文件上传下载在自动化系统中的处理方式
java·运维·人工智能·机器人·自动化·企业微信
沫儿笙1 天前
克鲁斯弧焊机器人混合气智能节气装置
机器人
辰尘_星启1 天前
【三维重建】概述
计算机视觉·机器人·slam·控制·三维重建·sfm
硅谷秋水1 天前
FATE:面向物理落地机器人课程学习具备主动修复功能且考虑可行性-觉察的闭环任务生成方法
人工智能·深度学习·语言模型·机器人