本文目的:拿到一台新的工控机,如何给新机器配置ROS、安装cartographer、gmapping、Navigation等安装测试包。最终实现建图-定位-导航的一套流程。
准备工具:
1、显示器
2、网线
3、鼠标、键盘
4、ubuntu18.04镜像
(1)U盘制作linux系统盘
(2)进入BIOS
安装ubuntu系统时,选择最小系统安装即可,选择擦出C盘重新安装。然后还要选择更新。。。不然会装一些ubuntu16.04的系统文件,后续使用时会与18.04冲突。。。(已踩过坑~)
参考链接:
[1] 安装Ubuntu系统时的BIOS操作方法
(1)更换阿里源
(2)sudo apt update
(3)sudo apt upgrade
(4)设置屏幕常亮(防止屏幕会自动锁屏) setting -> Privacy -> Screen Lock -> OFF
(5)开启ssh服务 sudo apt-get install openssh-server
(6)安装net-tools sudo apt install net-tools
(7)查看IP ifconfig
(8)安装vim sudo apt install vim
(9)安装terminator sudo apt install terminator
参考链接:
[1] Ubuntu如何开启SSH服务 - Mr.chris - 博客园
sudo apt install fcitx
sudo apt install fcitx-googlepinyin
setting -> Region & Language
修改为fictx
fictx_configuration
添加googlepinyin
参考链接:
[1] Ubuntu 安装中文输入法_Chamico的博客-CSDN博客_ubuntu安装中文输入法
sudo apt install gcc-7
sudo apt install g++-7
cd /usr/bin
sudo ln -s gcc-7 gcc
sudo ln -s g++-7 g++
# 查看gcc/g++版本
gcc -v
g++ -v
参考链接:
[1] ubuntu更换gcc/g++版本
sudo apt install cmake # 安装的不是最新的版本
参考链接:Ubuntu中安装Cmake - 燕清扬 - 博客园
(1)添加ros清华源。首先新建ros下载源的配置文件,类似apt的下载源配置文件/etc/apt/sources.list:
sudo vim /etc/apt/sources.list.d/ros-latest.list
添加以下内容:
deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ bionic main
(2)然后再输入如下命令,信任ROS的GPG Key,并更新索引:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
参考链接:
[1] ros | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
(3)安装Melodic
sudo apt install ros-melodic-desktop-full
(4)初始化rosdep
sudo rosdep init
rosdep update
在这里需要注意:
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py添加url="https://ghproxy.com/"+url
/usr/lib/python2.7/dist-packages/rosdistro/init.py
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行
/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68行 119行
以上5个文件中的https://raw.githubusercontent.com/
的前面均添加https://ghproxy.com/
在/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 第204行添加
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
(6)用户环境设置
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
在basrc中添加(修改成自己的IP)
export ROS_HOSTNAME=192.168.50.114
export ROS_MASTER_URI=http://192.168.50.114:11311
然后再
source ~/.bashrc
(7)安装包编译依赖
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
(8)验证安装ROS
rosversion -d
参考链接:
[1] Ubuntu18.04安装ROS Melodic - 知乎
[2] ROS初始化 sudo rosdep init失败_航天·轻舟机器人-CSDN博客
[3] 解决ROS系统 rosdep update超时问题的新方法_leida_wt的博客-CSDN博客_rosdep update 超时
sudo apt-get install ros-melodic-gmapping
sudo apt-get install ros-melodic-navigation
sudo apt-get install ros-melodic-teleop-twist-keyboard
参考链接:
[1] 树莓派学习笔记二:软件包安装_敏而好学,不耻下问-CSDN博客_teleop_twist_keyboard安装
(1)拷贝源码,注意先拷贝源码,然后再拷贝编译文件夹share中的文件,覆盖源文件。至于原因,是因为编译文件中有些是自己已经配置过的文件,与源文件有所不同,所以也需要拷贝进去。
(2)记得安装编译absl,在步骤(4)只也提到此步骤。
sudo apt-get install stow
sudo chmod +x ~/carto_ws/src/cartographer/scripts/install_abseil.sh
cd ~/carto_ws/src/cartographer/scripts
./install_abseil.sh
(3)如果已经安装完ros,就不要在执行这条命名,因为ros里面已经安装了,不然会冲突,亲测大坑。
(4)安装编译cartographer
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build stow
mkdir carto_ws
cd carto_ws
wstool init src
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=melodic -y
src/cartographer/scripts/install_abseil.sh
catkin_make_isolated --install --use-ninja
参考链接:
[1] 安装cartographer,找不到 “absl” 解决方法 - 知乎
[2] cartographer官方文档
[3] ubuntu18.04 源码安装cartorgrapher详细步骤(2021.5.16亲测有效)_guconggucong的博客-CSDN博客
[4] cartographer超详尽安装教程!_strive_kai的博客-CSDN博客_安装cartographer
拷贝navigation包;移除src文件夹下的某些插件功能包(插件中可能含有绝对路径,在本机不适用,需修改),然后直接编译。其中,在编译catkin_make过程中还可能提示缺少一些依赖包,按要求安装即可。
sudo apt install ros-melodic-****
这里以星秒某款雷达为例:
(1)配置主机IP,与雷达IP网段一致。
(2)注意修改launch文件中的frame_id
、距离范围、帧率、topic名称、tf坐标转换等等
(1)底盘修改为有限网卡IP,与工控机通讯。
(2)获得底盘的尺寸信息,半径、雷达距离底盘中心的距离
sudo vim ~/.bashrc
source ~/.bashrc
sudo vim /etc/hosts
参考链接:
[1] ROS主从机配置
(1)注册公匙
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
(2)添加包仓库
echo 'deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main' | sudo tee /etc/apt/sources.list.d/realsense-public.list
(3)下载源码(使用github代理下载)
git clone https://ghproxy.com/https://github.com/IntelRealSense/librealsense
(4)安装依赖环境
## 构建librealsense二进制文件和核心模块的核心软件包
sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
## Distribution-specific packages:
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
(5)从librealsense目录运行intel realsense 脚本
cd librealsense
./scripts/setup_udev_rules.sh
(6)编译安装
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install
make的时候可能会下载一些文件,网络问题,可能会失败。
sudo vim /home/lanpu/librealsense/CMake/external_libcurl.cmake
改为:GIT_REPOSITORY “git://github.com/curl/curl.git”
或者改为:“https://ghproxy.com/https://github.com/curl/curl.git”
(7)接显示器验证
cd ~/librealsense/build/examples/capture
./rs-capture
## 或者
realsense viewer
(1)下载ros安装包
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
(2)编译安装
cd catkin_ws
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install ## 这一步非常重要
如果编译失败,要先查看一下realsense_ros中参数realsense2的版本和
realsense-viewer
版本是否一致。如果不一致,修改一致。
FileZilla是一个免费而且开源的FTP客户端软件,共有两种版本:客户端版本、服务器版本。FileZilla有条理的界面和管理多站点的简化方式使得FileZilla Client成为一个方便高效的FTP客户端工具。
sudo apt-get install filezilla
sudo apt-get install filezilla-common
参考链接:
[1] Ubuntu18.04 安装D435i ROS
[2] Ubuntu下Realsense SDK的安装
[3] Realsense D435i 在ubuntu上安装SDK与ROS Wrapper 运行ORB-SLAM2、RTAB和VINS-Mono
[4] 关于realsense d435i的安装步骤及问题总结