CMU-自主探索导航系统(TARE & FAR Planner)部署

去年CMU机器人实验室团队开源了整套的自主探索导航系统,相关文章还荣获IROS2022 最佳学生论文。因此想在实验室的设备上试一下,先跑个官方demo试试。但中文互联网搜索结果的文章质量果然不出我所料,全都是互相抄,下载下来的源码CmakeList文件都是错的😅,最后还是去CMU这个项目的官网才把demo跑起来了。下面记录一下部署过程,我的系统环境是Ubuntu20.04、ROS1 Noetic。

一、安装仿真环境

先安装CMU团队制作的仿真环境,仿真环境包含多楼层停车场、隧道、森林、校园等多种复杂环境,能把这些环境跑好说明这个自主探索导航系统还是很有普适性的。

先安装依赖环境

sudo apt update
sudo apt install libusb-dev

克隆开源存储库

git clone https://github.com/HongbiaoZ/autonomous_exploration_development_environment.git

更换分支,并编译。

cd autonomous_exploration_development_environment
git checkout noetic #如果是melodic 将noetic更换为melodic
catkin_make

如果可以科学上网,运行脚本下载模拟环境,由于网络环境不同,下载可能需要一会。

./src/vehicle_simulator/mesh/download_environments.sh

当然也可以下载官方整理的百度网盘:

链接:https://pan.baidu.com/share/init?surl=7PFWGbQGLLfPy1mHNiiS4A
提取码:qm45

将在百度网盘下载的”autonomous_exploration_environments.zip”解压之后放在src/vehicle_simulator/mesh文件夹下。最终的mesh文件夹结构应该和下面的一致:

mesh
  campus
  indoor
  garage
  tunnel
  forest
  download_environments.sh 

然后运行仿真环境

source devel/setup.sh
roslaunch vehicle_simulator system_garage.launch

现在,可以通过点击RVIZ中的“waypoint”按钮发送航路点,然后点击一个点来设置航路点。车辆将导航到航路点,避开沿途的障碍物。请注意,航路点应该是可到达的,并且在车辆附近。

或者,可以运行ROS节点来发送一系列路点。在另一个终端中,转到文件夹并获取ROS工作区,然后使用下面的命令行运行ROS节点。:

roslaunch waypoint_example waypoint_example_garage.launch
导航至航路点

存储库包含一组不同类型和规模的模拟环境。要在特定环境下启动系统,请使用下面的命令行。将“environment”替换为环境名称,即’campus’,、’indoor’,、’garage’、 ‘tunnel’和’forest’。现在,用户可以使用RVIZ中的“Waypoint”按钮来导航车辆。要在Gazebo GUI中查看环境中的车辆,在启动文件中设置’gazebo_gui = true’,该文件位于’src/vehicle_simulator/launch’中。

roslaunch vehicle_simulator system_environment.launch

二、TARE Exploration Planner部署

同样的,先克隆仓库:

git clone https://github.com/caochao39/tare_planner.git

编译后就可以运行了

cd tare_planner

catkin_make

去上一步的工作空间下运行仿真环境:

source devel/setup.sh
roslaunch vehicle_simulator system_garage.launch

然后在现在的工作空间下运行TARE自主探索算法:

source devel/setup.sh
roslaunch tare_planner explore_garage.launch

现在,应该看到自主探索的行动。同样的,要在不同的环境中启动,使用下面的命令行,并将“environment”替换为开发环境中的一个环境名称,即’campus’, ‘indoor’, ‘garage’, ‘tunnel’, 和 ‘forest’。

roslaunch vehicle_simulator system_environment.launch

roslaunch tare_planner explore_environment.launch
TARE自主探索

三、FAR Planner部署

克隆仓库

git clone https://github.com/MichaelFYang/far_planner

编译

cd far_planner
catkin_make

同样的,去第一个工作空间下运行仿真环境:

source devel/setup.sh
roslaunch vehicle_simulator system_indoor.launch

然后在现在的工作空间下运行FAR-Planner算法

source devel/setup.sh
roslaunch far_planner far_planner.launch

现在,我们可以发送一个目标,通过单击在RVIZ的“Goalpoint”按钮,然后点击一个点设置的目标。车辆将导航到目标,并在沿途建立一个可见性图表(青色)。可见性图所覆盖的区域变成了自由空间。当在自由空间中导航时,计划者使用构建的可见性图,当在未知空间中导航时,计划者试图发现通往目标的方法。通过点击“Reset Visibility Graph”按钮,规划器将重新初始化可见性图。通过取消选中“Planning Attemptable”复选框,规划器将首先尝试在空闲空间中找到一条路径。这条路将以绿色显示。如果不存在这样的路径,规划器会一起考虑未知空间。路径将以蓝色显示。通过取消选中”Update Visibility Graph“复选框,规划器将停止更新可见性图。

Far-Planner 导航

如果是实车可以用手柄遥控,这里是仿真环境,Rviz右下角有一个虚拟遥控器,可以遥控车辆移动,并且移动过程中会自动调用局部路径规划自动避开障碍物。

虚拟遥控器与真实遥控器

四、实物部署(待更新)

如果觉得本文对您有所帮助,可以支持下博主,一分也是缘😊
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇