Dual-Stage Viewpoint Planner 包含两个阶段:探索阶段用于扩展地图边界,重定位阶段用于 explicitly 把机器人传到环境中不同的子区域。探索阶段采用RRT,并动态地扩展RRT over replanning steps. 重定位阶段维护一个graph结构 through the mapped environment. 在探索过程中,算法在两个阶段来回切换,以探索整个环境。
然后是Matterport3D环境的配置,先跳过:To run DSV Planner in a Matterport3D environment, follow instructions to setup the development environment to use the Matterport3D environment. Then, use the command lines below to launch the system and DSV Planner.
避障: 由local_planner实现. 程序一启动就先预生成 Motion primitives. The motion primitives are modeled as Monte Carlo samples and organized in groups 现实中快遇到障碍物时,local planner可以在几毫秒内判断出哪些 motion primitives 会和障碍相撞,然后从motion primitives中选出最可能朝向目标的一组。
Sending waypoints, navigation boundary, and speed: 一收到waypoint, navigation boundary, and speed 的消息, the system will navigate the vehicle inside the navigation boundary to the waypoint. 发送的navigation boundary和速度是可设置的,默认速度2m/s. 可以参考waypoint_example如何发送这些消息
cyp@cyp:~$ python Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license"for more information. >>> import cv2 as cv >>> cv.__version__ '4.1.0'
# Provide the include directories to the caller set(OpenCV_INCLUDE_DIRS "/home/ubuntu/src/opencv-3.1.0/build""/home/ubuntu/src/opencv-3.1.0/include""/home/ubuntu/src/opencv-3.1.0/include/opencv")