环境搭建

在WSL2中安装ROS2 Humble

Ubuntu-Install-Debs

配置WSL2镜像模式(mirrored)

  1. 打开 Windows 文件资源管理器。
  2. 在地址栏输入 %UserProfile% 并回车,这会打开你的用户文件夹(例如 C:\Users\你的用户名)
  3. 在此文件夹下,新建或编辑一个名为 .wslconfig 的文件。
  4. 将以下内容粘贴或添加到文件中:
[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 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

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

$ .\isaac-sim.bat

enable ROS2 bridge

在这里插入图片描述
在这里插入图片描述

创建机器人

在这里插入图片描述
在这里插入图片描述

点击play

在这里插入图片描述

ROS2中控制机器人

$ ros2 topic list --no-daemon
sequence size exceeds remaining buffer
/chassis/odom
/clock
/cmd_vel
/left_stereo_imu/imu
/parameter_events
/rosout
/tf
控制机器人原地转圈
$ 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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐