[导航赛道][分享]基于Habitat的导航寻物环境仿真器

Tipriest_ 队员 2026-01-21 15:21:24

[代码链接](https://github.com/Tipriest/vln_simulator)

 分享一下我们所使用的室内导航寻物的仿真环境,环境基于Meta AI的Habitat-sim,在[habitat-data-collector](https://github.com/Eku127/habitat-data-collector)的基础上进行了一定的更改,可以加载不同的数据集,如上图所示加载了HM3D数据集的00829环境,还可以加载MP3D和Replica数据集的仿真场景,可以在场景中自由加载一些指定的零散物体,零散物体使用Google的YCB数据集,有如下所示的大致70+的常见物体

仿真器的整体功能如下所示:

用于作为一个简单的室内环境的仿真器平台

  • 加载环境
    • 加载指定的几个数据集的某几个室内环境
    • [MANUAL CONTROL] 加载室内环境带有可能随机出生的物体
  • ROS2消息发送/接收/录制ROS bag:
    • 消息发送:
      • 机器人位姿
      • 机器人传感器这一帧的RGBD信息
      • 机器人传感器这一帧的深度信息
      • [TODO] 机器人传感器这一帧的语义分割的ground_truth信息
    • [TODO]生成文件,但是没有以ROS消息的形式发送出来
      • 所有类别物体的检测框(class_bbox.json)
      • 所有类别物体的数量(class_num.json)
    • 消息接收:
      • 接收ROS2的轨迹指令,视角按照轨迹进行移动
      • 接收ROS2的odom指令,直接控制机器人在habitat-sim环境中的位置
    • 录制ROS bag
      • 录制对应的ROS2 bag用于建图等方面的测试

 如下图所示,可以加载小地图,查看一个整个环境的Map信息以及自己所处的位置,

可以在地图上随机选一点,机器人生成通行路径到达指定位置

 

 仿真环境本身可以发布ROS话题:

 

也可以自主录制ROS数据包

 

 录制好的数据包在正常结束项目后会生成在代码的根目录下。

 

如下所示,可以在床上和沙发上放置一些YCB物体,可以用来作为导航寻物的目标:

...全文
60 6 打赏 收藏 转发到动态 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
7k1k 队员 01-23 17:18
  • 打赏
  • 举报
回复

感谢分享

Adnachiel03 队员 01-22 20:14
  • 打赏
  • 举报
回复

感谢分享

thucyx 队员 01-22 17:20
  • 打赏
  • 举报
回复

很有帮助!

fanna123123 队员 01-22 15:23
  • 打赏
  • 举报
回复

牛的

温清在此 队员 01-21 21:45
  • 打赏
  • 举报
回复

很有帮助!

2301_80744354 助教 01-21 19:42
  • 打赏
  • 举报
回复

感谢分享!

92

社区成员

发帖
与我相关
我的任务
社区描述
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地
机器人人工智能 高校
社区管理员
  • CSDN产品汪
  • Zachary_86
  • NO.2社区助手
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地