本文主要介绍Windows环境下,在Vscode中运行zhm-real发布的开源运动规划库PathPlanning的实现方法,包括环境配置及运行开源包时常见错误解决方法。
一、环境配置
(1)VScode 下载及安装,官网如下:
https://code.visualstudio.com/
为方便后续使用,建议安装时全选附加任务,如下图所示:
(2)Python解释器下载及安装,官网如下:
https://www.python.org/downloads/windows/
我安装的是目前最新的python3.11.1版,点击如下图蓝框所示的链接进行下载
在安装时一定要记得勾选Add Python 3.xx to PATH,我安装时忘记截图了,从网络上找了一个,如下图所示:
(3)在VScode中安装python扩展,如下图所示:(当然Chinese扩展相信是大家安装完Vscode后下载的第一个扩展):
二、运行PathPlanning库时常见报错及解决方法
(1)Import “xxx” could not be resolved from sourcePylanc
如果打大家之前没有专门安装过python的扩展库,运行这个PathPlanning开源库所需要的numpy 、matplotlib、scipy等扩展库是缺失的,在运行下面的语句时就会报错
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from scipy.spatial.transform import Rotation as Rot
解决方案如下:在电脑的cmd中分别输入以下语句,然后回车进行安装即可
pip install numpy
pip install matplotlib
pip install scipy
(2)ModuleNotFoundError: No module named ‘Sampling_based_Planning’
导致以上报错的相关语句如下:
sys.path.append(os.path.dirname(os.path.abspath(__file__)) +
"/../../Sampling_based_Planning/")
from Sampling_based_Planning.rrt_2D import env, plotting, utils
解决方法如下:只需要将你所运行的文件,及其需要调用的文件中的from Sampling_based_Planning.rrt_2D import env, plotting, utils改成from rrt_2D import env, plotting, utils即可,即删除其中的Sampling_based_Planning,
举个例子,假如我要运行PathPlanning库的RRT算法,那么我需要将rrt.py、及其调用的utils.py和plotting.py中的相关语句进行修改,修改后的相关语句如下所示:
1、rrt.py:
from rrt_2D import env, plotting, utils
2、utils.py:
from rrt_2D import env
from rrt_2D.rrt import Node
3、plotting.py:
from rrt_2D import env
修改后即可成功运行RRT算法,如下所示:
其他同类报错的解决方法以此类推。
(3)AttributeError: 'scipy.spatial.transform. rotation.Rotation’object has no attribute ‘as_dcm’
我在运行BIT*算法过程中出现了以上错误,报错原因是scipy 版本更新导致的错误,导致以上报错的相关语句如下:
rot = Rot.from_euler('z', -angle).as_dcm()[0:2, 0:2]
解决方法如下:只需要相关语句中的as_dcm改成as_matrix即可
rot = Rot.from_euler('z', -angle).as_matrix()[0:2, 0:2]
修改后即可成功运行BIT*算法,如下所示: