一、安装ROS
见官网
#============================================================================
二、安装turtlebot
sudo apt-get install ros-kinetic-turtlebot
#============================================================================
三、安装vslam
1、git clone http://10.108.235.88/Visual_SLAM/vSLAM-lib.git
1、改cmakelist文件里面的参数,v8 OFF,V7 OFF,VIEW OFF;
2、重新编译第三方库(生成ARM内核库),替换第三方库中的.a库,sophus中的库在build中
第三方库中的DBoW,g2o,Sophus分别从服务器下载下来,分别独立编译,生成.a库,进行替换
git clone http://10.108.235.88/Mr.jio/DBoW2.git
git clone http://10.108.235.88/Mr.jio/g2o.git
git clone http://10.108.235.88/Mr.jio/Sophus.git
3、
sudo apt-get install libopencv-dev
cmake -DCMAKE_INSTALL_PREFIX=/usr …
sudo make install
#============================================================================
四、安装cartographer
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
cd ~/
mkdir cartographer
cd cartographer
mkdir src
cd src
catkin_init_workspace #初始化工作空间
git clone http://10.108.235.88/cartographer/cartographer.git
git clone http://10.108.235.88/cartographer/cartographer_ros.git
git clone http://10.108.235.88/cartographer/cartographer_turtlebot.git #请先配置turtlebot环境
git clone http://10.108.235.88/cartographer/ceres_solver.git
cd ../
# Install proto3.
./ src/cartographer/scripts/install_proto3.sh
# Install deb dependencies.
rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
# Build and install.
catkin_make_isolated --install --use-ninja
#为了能够被其他软件包使用请将其安装到ROS系统目录下
su root
source /opt/ros/kinetic/setup.bash
catkin_make_isolated --install --use-ninja -DCMAKE_INSTALL_PREFIX=/opt/ros/kinetic
or
catkin_make_isolated -j16 --install --install-space=/opt/ros/kinetic
cartographer用于实现二维栅格地图构建,为后续导航定位提供地图。
解决“gmock”编译报错问题,需修改catkin cmake文件
文件位于“/opt/ros/kinetic/share/catkin/cmake/test/gtest.cmake”
endif()
else()
message(STATUS "Found gmock: gmock and gtests will be built")
- add_library(gmock UNKNOWN IMPORTED)
- set_target_properties(gmock PROPERTIES IMPORTED_LOCATION "${GMOCK_LIBRARIES}")
- add_library(gmock_main UNKNOWN IMPORTEcmake安装到制定目录
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make installD)
- set_target_properties(gmock_main PROPERTIES IMPORTED_LOCATION "${GMOCK_MAIN_LIBRARIES}")
+ if(NOT TARGET gmock)
+ add_library(gmock UNKNOWN IMPORTED)
+ set_target_properties(gmock PROPERTIES IMPORTED_LOCATION "${GMOCK_LIBRARIES}")
+ endif()
+ if(NOT TARGET gmock_main)
+ add_library(gmock_main UNKNOWN IMPORTED)
+ set_target_properties(gmock_main PROPERTIES IMPORTED_LOCATION "${GMOCK_MAIN_LIBRARIES}")
+ endif()
set(GMOCK_FOUND ${GMOCK_FOUND} CACHE INTERNAL "")
set(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIRS} CACHE INTERNAL "")
set(GMOCK_LIBRARIES ${GMOCK_LIBRARIES} CACHE INTERNAL "")
更新:
src/cartographer/scripts/install_proto3.sh 脚本默认将protobuf安装在/usr/local/目录,而catkin build 命令环境变量为
Extending: [cached] /opt/ros/kinetic
这两者路径不同,会导致prorotobu版本不一致。解决办法可以指定protobuf安装目录,将其安装在/opt/ros/kinetic/目录
catkin build 安装cartographer到指定目录
catkin config -i /opt/ros/kinetic --install
sudo su
catkin clean -b
catkin build
#=========================================================================================================
五、安装grpc,grpc 依赖 protobuf
//====================================================================================================
git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
cd grpc
git submodule update --init
注:arm板第三方库因为google的问题可能下载不下来,可以将PC端的第三方库移植过来,但可能需要修改文件权限
make
sudo make install
or //====================================================================================================
git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
cd grpc
git submodule update --init
注:arm板第三方库因为google的问题可能下载不下来,可以将PC端的第三方库移植过来,但可能需要修改文件权限
cd grpc/third_party/protobuf
./autogen.sh
./configure --prefix=/opt/ros/kinetic
make
sudo make install
cd /grpc/
make
sudo make install
#===========================================================================================================
六、安装protobuf
sudo apt-get install autoconf automake libtool
访问 https://github.com/google/protobuf/releases
下载 Source code(tar.gz)
./autogen.sh
./configure --prefix=/opt/ros/kinetic
make
sudo make install
#================================================================================================
七、安装urg_node
git clone http://10.108.235.88/ros_common/urg_node
catkin_make
sudo su
source /opt/ros/kinetic/setup.bash
catkin_make -DCMAKE_INSTALL_PREFIX=/opt/ros/kinetic install
#============================================================================================================
八、添加工程环境变量
gedit ~/.bashrc
export AGV_SYSTEM_PATH=/home/cjn/ros_agv_param
将ros_agv_param文加夹复制到对应目录
#===========================================================================================================
九、修改权限
1、串口
在 /etc/udev/rules.d 目录下,自己再添加一个 20-usb-serial.rules文件,内容如下:
sudo gedit 20-usb-serial.rules
添加内容:
KERNEL=="ttyUSB*" MODE="0777"
KERNEL=="ttyS*" MODE="0777"
保存
重启电脑,或者拔掉由串口过来的USB线,重新连接
查看权限:ls /dev/ttyS0 -l
2、雷达
sudo cp 20-urglidar.rules /etc/udev/rules.d/
sudo /etc/init.d/udev restart
#===========================================================================================================
十、安装qt
最新
sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt update && sudo apt install qt57creator
sudo apt install qt57creator-plugin-ros
<1>安装
chmod +x qt-opensource-linux-x64-5.7.0.run
./qt-opensource-linux-x64-5.7.0.run
<2>配置环境变量
cd ~/.local/share/applications/
ls
gedit DigiaQtOpenSource-qtcreator.desktop
修改 Exec 变量一行,在中间添加 bash -i -c 即改为
Exec=bash -i -c /home/cjn/Qt5.7.0/Tools/QtCreator/bin/qtcreator
<3>设置qt
tools–>options–>Environment–>Dark
tools–>options–>Text Editor–>Dark
安装qt插件
Installation Procedure for Ubuntu 16.04
sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt update && sudo apt install qt57creator
sudo apt install qt57creator-plugin-ros
May need to remove old PPA:
sudo add-apt-repository --remove ppa:beineri/opt-qt57-xenial
sudo add-apt-repository --remove ppa:beineri/opt-qt571-xenial
If you receive an error, then manually remove it.
sudo rm /etc/apt/sources.list.d/beineri-opt-qt57-xenial-xenial.list
sudo rm /etc/apt/sources.list.d/beineri-opt-qt571-xenial-xenia## 标题 ##l.list
十一、ssh-key上传到git服务器上
ssh-keygen -t rsa -C 邮箱
ssh-keygen -t rsa -C 767025231@qq.com
将.ssh中的id_rsa.pub内容复制到gitlab Profile Settings 中的SSH Keys里
十二、设置开机自启动
sudo gnome-session-properties
十三、cmake安装到制定目录
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make install