WSL2 ROS2 控制Issac sim中机器人
·
环境搭建
在WSL2中安装ROS2 Humble
配置WSL2镜像模式(mirrored)
- 打开 Windows 文件资源管理器。
- 在地址栏输入 %UserProfile% 并回车,这会打开你的用户文件夹(例如 C:\Users\你的用户名)
- 在此文件夹下,新建或编辑一个名为 .wslconfig 的文件。
- 将以下内容粘贴或添加到文件中:
[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
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)