从零开始配置ROS机器人系统环境-总结版

本文目的:拿到一台新的工控机,如何给新机器配置ROS、安装cartographer、gmapping、Navigation等安装测试包。最终实现建图-定位-导航的一套流程。

准备工具:
1、显示器
2、网线
3、鼠标、键盘
4、ubuntu18.04镜像

1. 工控机安装新的ubuntu系统

(1)U盘制作linux系统盘
(2)进入BIOS
在这里插入图片描述
安装ubuntu系统时,选择最小系统安装即可,选择擦出C盘重新安装。然后还要选择更新。。。不然会装一些ubuntu16.04的系统文件,后续使用时会与18.04冲突。。。(已踩过坑~)

参考链接:
[1] 安装Ubuntu系统时的BIOS操作方法

2. 配置ubuntu系统环境

2.1 ubuntu系统配置

(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 - 博客园

2.2 ubuntu设置中文输入法

sudo apt install fcitx
sudo apt install fcitx-googlepinyin
  • 进入setting -> Region & Language修改为fictx
  • 然后重启电脑
  • 最后进入fictx_configuration添加googlepinyin
  • Ctrl + 空格`可以切换中英文

参考链接:
[1] Ubuntu 安装中文输入法_Chamico的博客-CSDN博客_ubuntu安装中文输入法

2.3 安装gcc\g++

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++版本

2.4 安装cmake

sudo apt install cmake  # 安装的不是最新的版本

参考链接:Ubuntu中安装Cmake - 燕清扬 - 博客园

2.5 安装ROS环境

(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 超时

2.6 测试建图导航

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安装

2.7 安装cartographer(个人定制版)

(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

2.8 安装Navigation(个人定制版)

拷贝navigation包;移除src文件夹下的某些插件功能包(插件中可能含有绝对路径,在本机不适用,需修改),然后直接编译。其中,在编译catkin_make过程中还可能提示缺少一些依赖包,按要求安装即可。

sudo apt install ros-melodic-****

2.9 配置激光雷达

这里以星秒某款雷达为例:
(1)配置主机IP,与雷达IP网段一致。
(2)注意修改launch文件中的frame_id、距离范围、帧率、topic名称、tf坐标转换等等

2.10 配置底盘

(1)底盘修改为有限网卡IP,与工控机通讯。
(2)获得底盘的尺寸信息,半径、雷达距离底盘中心的距离

2.11 配置主从机

sudo vim ~/.bashrc
source ~/.bashrc

sudo vim /etc/hosts 

参考链接:
[1] ROS主从机配置

2.12安装双目相机

2.12.1 安装D435i SDK

(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

2.12.2 安装realsense-ros

(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版本是否一致。如果不一致,修改一致。

2.13 Ubuntu下FileZilla的安装

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的安装步骤及问题总结

猜你喜欢

转载自blog.csdn.net/qq_41821678/article/details/120214306