基本依赖项
pip install \
pandas \
jinja2 \
pyserial \
cerberus \
pyulog \
numpy \
toml \
pyquaternion
Q1:程序“pip”尚未安装。 您可以使用以下命令安装: sudo apt install python-pip Q2: Traceback (most recent call last): File “/usr/bin/pip”, line 9, in from pip import main ImportError: cannot import name main 解决: sudo gedit /usr/bin/pip 将
from pip import main
if __name__ == '__main__':
sys.exit(main())
修改为:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
安装依赖的包
sudo apt install -y \
ninja-build \
exiftool \
python-argparse \
python-empy \
python-toml \
python-numpy \
python-yaml \
python-dev \
python-pip \
ninja-build \
protobuf-compiler \
libeigen3-dev \
genromfs
安装ros系统:安装 ROS Kinetic
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get update
Q1:W: GPG 错误:http://packages.ros.org/ros/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654 W: 仓库 “http://packages.ros.org/ros/ubuntu xenial InRelease” 没有数字签名。 N: 无法认证来自该源的数据,所以使用它会带来潜在风险。 N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。 解决: sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys F42ED6FBAB17C654 Executing: /tmp/tmp.0ahh2pNlMq/gpg.1.sh –keyserver keyserver.ubuntu.com –recv-keys F42ED6FBAB17C654
sudo apt-get install ros-kinetic-desktop-full
Q1: W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915 W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915 解决: 首先去到这个网址,你会看到很多固件的选择项,你选择自己缺的那个点击进去。 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 进去以后呢,点击plain就会下载了。 把缺的几个固件都下载好以后,把它们复制到/lib/firmware/i915下。
sudo rosdep init
rosdep update
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosinstall python-catkin-tools python-rosinstall-generator python-wstool build-essential
install ros-gazebo plugins
sudo apt install ros-kinetic-gazebo-*
完成上列步骤后,你可以通过下面的命令来测试是否成功安装
roscore
source:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录 接下来,需要生成catkin工作空间,你所有的基于ROS的库都可以存放在此。
mkdir -p ~/catkin_ws/src
安装MAVROS
sudo apt-get install ros-kinetic-mavros ros-kinetic-mavros-extras
安装geographic lib :
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo chmod a+x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
PX4 Firmware配置
cd ~/catkin_ws/src
git clone https://github.com/PX4/Firmware.git
cd Firmware
git checkout v1.8.0
make posix_sitl_default gazebo
仿真运行:
roslaunch px4 mavros_posix_sitl.launch
检查连接
rostopic echo /mavros/state
git配置
sudo apt-get update
sudo apt install git
git config --global user.name "(这里填写你github上注册的名字)" git config --global user.email “(这里填写你注册邮箱的名字)”
git config --list 回车就会显示你的注册名字和注册邮箱
ssh-keygen -t rsa -C ”(注册邮箱名)”
之后连续按三次回车就行了。
cat ~/.ssh/id_rsa.pub
把显示出来的代码全都复制下来 从终端的复制的代码,粘贴在key表单中
下载GAAS 包
git clone git@github.com:generalized-intelligence/GAAS.git
模型文件所在地址更新到环境变量中:
echo "export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:/home/yyl/catkin_ws/GAAS/simulator/models" >> ~/.bashrc
将模型以及配置文件拷贝到对应文件夹中:
cp -r /home/yyl/catkin_ws/GAAS/simulator/models* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/models/
cp -r /home/yyl/catkin_ws/GAAS/simulator/worlds/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/worlds/
cp -r /home/yyl/catkin_ws/GAAS/simulator/posix-config/* ~/catkin_ws/src/Firmware/posix-configs/SITL/init/ekf2/
打开无人机仿真模型:
roslaunch px4 mavros_posix_sitl.launch
检查MAVROS连接情况:
rostopic echo /mavros/state
初始化无人机并启动:
cd /home/yyl/catkin_ws/GAAS/demo/tutorial_1/1_px4_mavros_offboard_controller
python px4_mavros_run.py
无人机自动驾驶软件系列 E02 : 通过无人机机载摄像头构建建筑物 3D 模型
更新文件“
cd /home/yyl/catkin_ws/GAAS
git pull origin master
将 Gazebo 仿真用到的文件拷贝到 PX4 文件所在目录中:
cp -r /home/yyl/catkin_ws/GAAS/simulator/launch/* ~/catkin_ws/src/Firmware/launch/
cp -r /home/yyl/catkin_ws/GAAS/simulator/models/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/models/
cp -r /home/yyl/catkin_ws/GAAS/simulator/worlds/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/worlds/
cp -r /home/yyl/catkin_ws/GAAS/simulator/posix-config/* ~/catkin_ws/src/Firmware/posix-configs/SITL/init/ekf2/
启动仿真
roslaunch px4 sfm.launch
检查 MAVROS 的连接情况:
# 确保 "connected" 为 "True"
rostopic echo /mavros/state
通过 Rviz 来查看发布出来的摄像头图片:
rviz
选择 “Add”->“by topic”->”/gi/simulation/left/image_raw“, 之后你可以看到当前的左目摄像头信息 订阅并存储左目摄像头的信息:
rosbag record /gi/simulation/left/image_raw -O sfm.bag
起飞无人机:
python /home/yyl/catkin_ws/GAAS/demo/tutoal_2/2_Struction_from_Motion/px4_mavros_run.py
控制无人机圆型飞行:
python /home/yyl/catkin_ws/GAAS/demo/tutorial_2/2_Struction_from_Motion/fly_circle.py
处理 Rosbag:
python bag2image.py --bag /home/yyl/sfm.bag --output_path /home/yyl/piture --image_topic /gi/simulation/left/image_raw
无人机自动驾驶软件系列 E03: 在无GPS环境下通过SLAM实现位置估
更新GAAS : cd /home/yyl/catkin_ws/GAAS git pull origin master 将ROS的launch文件拷贝到PX4相应文件夹内:
cp -r /home/yyl/catkin_ws/GAAS/simulator/launch/* ~/catkin_ws/src/Firmware/launch
将“(PX4_FIRMWARE_PATH)/Firmware/Tools/sitl_gazebo/models” 中的对应模型删除,并重新拷贝:
cp -r /home/yyl/catkin_ws/GAAS/simulator/models/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/models/
If you are using ubuntu, just type “./install_dep.sh” to install all the dependencies except pangolin.
sudo chmod +x ./install_dep.sh
./install_dep.sh
安装Pangolin:
(参考https://www.cnblogs.com/newneul/p/8270137.html) 1、下载安装包:
git clone https://github.com/stevenlovegrove/Pangolin.git
2、安装依赖和编译软件
sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
3、编译安装 cd [path-to-pangolin(Pangolin路径)]//打开解压后的Pangolin文件夹 我的:
cd /home/yyl/catkin_ws/GAAS/software/SLAM/ygz_slam_ros/Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
安装Dbow3:
git clone https://github.com/rmsalinas/DBow3.git
cd DBow3
cmake ..
make
sudo make install
安装PCL:
(参考:https://blog.csdn.net/zkj126521/article/details/80157351) 1、下载源码:
git clone https://github.com/PointCloudLibrary/pcl
2、安装依赖包:
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre
3、编译源码:
cd pcl
cmake -D CMAKE_BUILD_TYPE=None -D BUILD_GPU=ON -D BUILD_apps=ON -D BUILD_examples=ON .
make
sudo make instal
安装OpenNI、OpenNI2
sudo apt-get install libopenni-dev
sudo apt-get install libopenni2-dev
安装g2o:
(参考https://blog.csdn.net/slzlincent/article/details/86555166)
git clone https://github.com/RainerKuemmerle/g2o.git
sudo apt-get install libeigen3-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install qtdeclarative5-dev
sudo apt-get install qt5-qmake
sudo apt-get install libqglviewer-dev
cd g2o
mkdir build
cd build
cmake ..
make
sudo make install
安装opencv4.1.1:
sudo apt-get install build-essential
sudo apt-get install cmake git g++
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install checkinstall yasm libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev libavresample-dev x264 v4l-utils
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install libxvidcore-dev libx264-dev ffmpeg
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install libopencv-dev libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.4 libcholmod3.0.6
sudo apt-get install python-dev python-numpy
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
cd /home/yyl/catkin_ws/GAAS/software/SLAM/ygz_slam_ros/opencv-4.1.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D OPENCV_EXTRA_MODULES_PATH=/home/yyl/catkin_ws/GAAS/software/SLAM/ygz_slam_ros/opencv-4.1.1/opencv_contrib-4.1.1/modules -D PYTHON_EXECUTABLE=/usr/bin/python -D BUILD_EXAMPLES=ON ..
make
sudo make install
编译openc出现的问题和解决:
Q1:– Checking for module ‘tesseract’ – No package ‘tesseract’ found – Tesseract: NO 解决:有两种方法,我测试第一种通过 1、
sudo apt-get install -y tesseract-ocr libtesseract-dev liblepto nica-dev
sudo pip3 install tesserocr pillow
2、安装Tesseract(来源https://blog.csdn.net/tintinetmilou/article/details/80212305)
安装依赖包:
sudo apt-get install autoconf automake libtool autoconf-archive pkg-config libpng12-dev libjpeg8-dev libtiff5-dev zlib1g-dev -y
sudo apt-get install libicu-dev libpango1.0-dev libcairo2-dev
leptonica安装
sudo apt install git (如果没有下载git 需要执行去下载安装git) git clone https://github.com/DanBloomberg/leptonica cd leptonica autoreconf -vi ./autobuild ./configure make -j8 sudo make install
安装tesseract
git clone --depth 1 https://github.com/tesseract-ocr/tesseract.git
cd tesseract
./autogen.sh
./configure --enable-debug
LDFLAGS="-L/usr/local/lib" CFLAGS="-I/usr/local/include" make -j8
sudo make install
sudo ldconfig
检测安装成与否
tesseract -v Q2: Failed to find gflags – Failed to find an installed/exported CMake configuration for gflags, will perform search for installed gflags components. 解决:安装gflags(来源https://blog.csdn.net/weixin_44354586/article/details/89399763) 下载源码:
git clone https://github.com/gflags/gflags
cd gflags
mkdir build
cd build
cmake ..
make
sudo make install
Q3:The imported target “vtkRenderingPythonTkWidgets” references the file “/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so” but this file does not exist. Possible reasons include:
- The file was deleted, renamed, or moved to another location.
- An install or uninstall procedure did not complete successfully.
- The installation package was faulty and contained “/usr/lib/cmake/vtk-6.2/VTKTargets.cmake” but not all the files it references. 解决:(来源https://www.cnblogs.com/sincere-diligence/p/9336045.html)sudo ln -s /usr/lib/python2.7/dist-packages/vtk/libvtkRenderingPythonTkWidgets.x86_64-linux-gnu.so /usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so
Q4:没有安装flake8 解决: 有两种方式: 1、# 安装到特定版本
sudo python<version> -m pip install flake8
我的是 sudo python2.7 -m pip install flake8 2、安装到默认python
python -m install flake8
未完,接下是GAAS 学习二…
阶段总结
(1)配置环境务必保证每一步是正确的,否则越到后面错误就越,因为包包依赖,包包关联。 (2)缺少那个包有4种解决的方法: 1)sudo apt-get install (包名称) 2)sudo pip/pip3 install (包名字) 3)源码编译 4)百度 install (包名字) (3)编译软件要看对应软件的安装说明(readme) (4)对于出现找不到XX .XX版的问题,修改CmakeList文件,去掉版本的要求 (5)对于找不到XX的问题多半是依赖包没装全或者安装完没有sudo make install (6)源码编译的步骤: 1)cd 文件夹 2)mkdir build 3)cd build 4)cmake … 5)make 6)sudo make install (7)有时下载或编译的速度慢了,可以取消在重新来