运行环境Ubuntu20.04+Unity3d

1.下载运行

(1)项目下载地址:
Robotics-Nav2-SLAM-Example

最好执行下面命令能将子模块也下载

git clone --recurse-submodule git@github.com:Unity-Technologies/Robotics-Nav2-SLAM-Example.git

git submodule update --init --recursive

以上两个都失败,直接进入github界面
https://github.com/Unity-Technologies/Robotics-Nav2-SLAM-Example
然后点ROS-TCP-Endpoint目录。
手动下载解压

(2)配置好unity3d环境
Ubuntu20.04+Unity3d环境配置

Unity3d中选择Nav2SLAMExampleProject路径打开工程

打开后点下面的Scenens,选择SimpleWarehouseScene
如图请添加图片描述

2.启动ros2端

进入colcon_ws目录编译

cd colcon_ws
colcon build
source install/setup.bash
source /opt/ros/foxy/setup.bash
ros2 launch unity_slam_example unity_slam_example.py

执行出现错误
LookupError: Could not find the resource ‘nav2_bringup’ of type ‘packages’
解决方法:

sudo apt install ros-foxy-navigation2 ros-foxy-nav2-bringup

再次运行成功后在unity3d中点击play按钮就可以控制机器人运动了。
请添加图片描述

给机器人设置目标位置方法如
run_example.md中介绍

其他错误解决:
(1)导入错误NavMeshSurface’ does not contain a definition for ‘IsPartOfPrefab’

解决方法:
更新到官方 com.unity.ai.navigation 包:
移除旧版 NavMeshComponents 文件(Assets 中的 NavMeshComponents 文件夹)。
通过 Unity Package Manager 安装官方包:
菜单栏 → Window > Package Manager
点击 + → Add package by name
输入:com.unity.ai.navigation
版本选择 1.1.5 或更高(兼容 Unity 2019.4+)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐