基本上把所有遇到的报错情况都列出来了~祝安装顺利
前言
论文:https://arxiv.org/abs/2110.05113
代码:https://github.com/uzh-rpg/agile_autonomy
os:Ubuntu20.04
cuda:11.0
cudnn:v8.1.1
一、部署
1、requirement
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
2、create a new catkin workspace and a virtual environment with all the required dependencies.
使用以下命令创建新的 catkin 工作区和具有所有必需依赖项的虚拟环境。
export ROS_VERSION=noetic
mkdir agile_autonomy_ws
cd agile_autonomy_ws
export CATKIN_WS=./catkin_aa
mkdir -p $CATKIN_WS/src
cd $CATKIN_WS
catkin init
catkin config --extend /opt/ros/$ROS_VERSION
catkin config --merge-devel
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-fdiagnostics-color
cd src
git clone git@github.com:uzh-rpg/agile_autonomy.git
vcs-import < agile_autonomy/dependencies.yaml
报错:Permission denied (publickey).
解决:https://blog.csdn.net/qq_43768946/article/details/90411154
下面安装的包安装在了默认环境,官方教程后续安装的anaconda环境里也需要这些包,但是我嫌麻烦,没有在anaconda环境里装,后面要用conda环境的时候我直接用了默认环境。
cd rpg_mpl_ros
git submodule update --init --recursive
#install extra dependencies (might need more depending on your OS)
sudo apt-get install libqglviewer-dev-qt5
# Install external libraries for rpg_flightmare
sudo apt install -y libzmqpp-dev libeigen3-dev libglfw3-dev libglm-dev
# Install dependencies for rpg_flightmare renderer
sudo apt install -y libvulkan1 vulkan-utils gdb
# Add environment variables (!!更换好自己的路径)
echo 'export RPGQ_PARAM_DIR=/home/<path/to/>catkin_aa/src/rpg_flightmare' >> ~/.bashrc
3、编译
# 指定python环境
sudo catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3
报错:找不到Open3D
解决:重新编译Open3D,并且修改路径。我跟着下面两篇教程,这两个教程我单独弄都不行,两片结合起来就通了。
Learning High-Speed Flight in the Wild (Ubuntu20.04)代码复现-CSDN博客
Learning High-Speed Flight in the Wild 环境安装_sudo apt install gcc-7.5.0-CSDN博客
总结为以下:
安装make以及cmake
sudo apt install cmake
sudo pip install --upgrade cmake==3.21.0
// make 如果先安装的显卡部分,会提示需要安装make
sudo apt install make
安装open3d
// 若没有git,则需要安装
git clone --recursive https://github.com/intel-isl/Open3D
// 在open3d文件夹内,输入下方指令,切换到指定版本
git checkout v0.9.0
// 在open3d文件夹内,输入如下指令,进行自动下载第三方支持库,这一步不要自己去下载第三方支持库,很容易出错,虽然速度有点慢,并且可能会失败,但多尝试几次,总会成功的。
git submodule update --init --recursive
// 安装相关库
util/scripts/install-deps-ubuntu.sh
// 安装
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/open3d_install ..
# On Ubuntu
make -j$(nproc)
make install
将程序中的搜索open3d路径修改:
- mpl_test_node/CMakeLists.txt
- open3d_conversions/CMakeLists.txt
- agile_autonomy/data_generation/traj_sampler/CMakeLists.txt
在3个CMakeLists里,修改open3d的搜索路径程序:
find_package(Open3D HINTS /home/yourname/open3d_install/lib/cmake/)
agile_automomy_ws/devel/share/open3d_conversions/cmake/open3d_conversionsConfig.cmake 的第157行增加如下路径:
foreach(path *;/home/yourname/open3d_install/lib)
- catkin_aa/src/rpg_mpl_ros/open3d_conversions/CMakeLists.txt替换13行为find_package(Open3D HINTS
- /usr/local/bin/cmake/)catkin_aa/src/rpg_mpl_ros/planning_ros_utils/src/planning_rviz_plugins/map_display.cpp注释line 39
- catkin_aa/src/agile_autonomy/data_generation/traj_sampler/CMakeLists.txt 替换12行 为 find_package(Open3D HINTS /usr/local/bin/cmake/)
- /home/llj/agile_autonomy_ws/catkin_aa/src/agile_autonomy/data_generation/agile_autonomy/CMakeLists.txt 第20行增加 -gencode=arch=compute_86,code=sm_86
- 在.bashrc增加 export TORCH_CUDA_ARCH_LIST="8.0"
-
<你自己的路径>/agile_autonomy_ws/catkin_aa/devel/share/open3d_conversions/cmake/open3d_conversionsConfig.cmake
add line 157 with foreach(path **;/usr/local/bin/cmake/lib)
// 修改完后
sudo catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3
. catkin_aa/devel/setup.bash
编译成功界面:
4、conda环境
上文提到我没有用conda环境,我直接装在了默认环境,下面是安装conda环境的官方教程,需要自己把缺少的包装在conda环境里。
source catkin_aa/devel/setup.bash
roscd planner_learning
conda create --name tf_24 python=3.7
conda activate tf_24
pip install tensorflow-gpu==2.4
pip install rospkg==1.2.3 pyquaternion open3d opencv-python
5、试飞
cd agile_autonomy_ws
source catkin_aa/devel/setup.bash
roslaunch agile_autonomy simulation.launch
报错1:no module rospkg
解决:sudo pip install --target=/opt/ros/noetic/lib/python3/dist-packages rospkg
报错2:ERROR: cannot launch node of type [joy/joy_node]: joy
解决:sudo apt-get install ros-noetic-joy
另一个终端
cd agile_autonomy_ws
source catkin_aa/devel/setup.bash
roscd planner_learning
conda activate tf_24
python test_trajectories.py --settings_file=config/test_settings.yaml
总结
祝大家打败报错!