SLAM环境配置

一、安装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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值