Isaac Lab(isaac sim)中使用python ros

ROS(Robot Operating System)为机器人技术提供了标准化的开发框架和中间件,通过定义接口和约定,简化了硬件与软件的集成,提高了开发效率。它拥有强大的工具集和生态系统,支持从算法开发到系统集成的全过程,促进了技术创新与合作。

Isaac Lab是机器人训练平台,那么做数据驱动的机器人工作时,就很有必要与ROS打通,尤其在Sim2Real领域,很多Real的机器人环境都是基于ROS的。总之,ROS在机器人技术的全链条中,包括Sim2Real过程,都扮演着至关重要的角色。

经过实践我发现,在isaac lab里使用python ros似乎不是一个好的事情,官方目前还没有例程,找到一个相关issue,官方回答使用python ros似乎非常的慢,他们打算使用c++方法,实践也似乎证明了这一点,好在配置不复杂,加两个环境变量即可;

首先在isaac lab代码里添加启用ros2_bridge插件:

import omni
ext_manager = omni.kit.app.get_app().get_extension_manager()
ext_manager.set_extension_enabled_immediate("omni.isaac.ros2_bridge", True)

然后运行isaac lab 程序,会看到没有配置环境变量错误,主要为 RMW_IMPLEMENTATION PTAH这两个

[110.973s] Isaac Sim Python App is loaded.
[112.605s] Simulation App Startup Complete
[112.640s] [ext: omni.isaac.ros2_bridge-2.26.4] startup
2024-07-15 06:26:01 [112,595ms] [Warning] [omni.isaac.ros2_bridge.scripts.extension] ROS_DISTRO env var not found, Please source ROS2 Foxy, or Humble, before enabling this extension
[112.645s] Using backup internal ROS2 humble distro

[116.239s] To use the internal libraries included with the extension please set:
RMW_IMPLEMENTATION=rmw_fastrtps_cpp
PATH=%PATH%;d:/omniverse/pkg/isaac_lab/isaaclab/_isaac_sim/exts/omni.isaac.ros2_bridge/humble/lib
Before starting Isaac Sim

2024-07-15 06:26:05 [116,189ms] [Error] [omni.isaac.ros2_bridge.scripts.extension] ROS2 Bridge startup failed
import rclpy failed

根据错误,设置环境变量即可 

该方法应该在isaac sim相关的python程序中也适用;

 打开WLS2 ubuntu,即可看到发布出来的 ros2 topic

isaac sim 与 WLS2 ros2实现通信可以看这篇文章: 

http://t.csdnimg.cn/hXkWZicon-default.png?t=N7T8http://t.csdnimg.cn/hXkWZ

相关推荐

  1. C++使用汇编

    2024-07-16 14:20:04       42 阅读
  2. Express使用Swagger

    2024-07-16 14:20:04       58 阅读
  3. ElasticSeach--springboot使用

    2024-07-16 14:20:04       56 阅读
  4. Linuxsystemctl使用

    2024-07-16 14:20:04       57 阅读
  5. React使用WebRTC

    2024-07-16 14:20:04       57 阅读
  6. typescript使用 ?. ?? ??= 运算符

    2024-07-16 14:20:04       50 阅读
  7. gin使用JWT

    2024-07-16 14:20:04       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 14:20:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 14:20:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 14:20:04       62 阅读
  4. Python语言-面向对象

    2024-07-16 14:20:04       72 阅读

热门阅读

  1. 语法基础部分

    2024-07-16 14:20:04       27 阅读
  2. gradio构建webui

    2024-07-16 14:20:04       26 阅读
  3. C++中const关键字的深度探索与应用实践

    2024-07-16 14:20:04       22 阅读
  4. ChatGPT对话:如何把Html文件转换为Markdown文件

    2024-07-16 14:20:04       18 阅读
  5. 第2部分:物联网模式在行动

    2024-07-16 14:20:04       21 阅读
  6. c# 在线程中访问ui元素

    2024-07-16 14:20:04       23 阅读
  7. C语言入门-7.结构体与C++引用

    2024-07-16 14:20:04       24 阅读
  8. Python3 第二十二课 -- 装饰器

    2024-07-16 14:20:04       29 阅读