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

从零开始配置ROS机器人系统环境-总结版 本文目的拿到一台新的工控机如何给新机器配置ROS、安装cartographer、gmapping、Navigation等安装测试包。最终实现建图-定位-导航的一套流程。文章目录1. 工控机安装新的ubuntu系统2. 配置ubuntu系统环境2.1 ubuntu系统配置2.2 ubuntu设置中文输入法2.3 安装gcc\g2.4 安装cmake2.5 安装ROS环境2.6 测试建图导航2.7 安装cartographer个人定制版2.8 安装Navigation个人定制版2.9 配置激光雷达2.10 配置底盘2.11 配置主从机2.12安装双目相机2.12.1 安装D435i SDK2.12.2 安装realsense-ros2.13 Ubuntu下FileZilla的安装准备工具1、显示器2、网线3、鼠标、键盘4、ubuntu18.04镜像1. 工控机安装新的ubuntu系统1U盘制作linux系统盘2进入BIOS安装ubuntu系统时选择最小系统安装即可选择擦出C盘重新安装。然后还要选择更新。。。不然会装一些ubuntu16.04的系统文件后续使用时会与18.04冲突。。。已踩过坑参考链接[1] 安装Ubuntu系统时的BIOS操作方法2. 配置ubuntu系统环境2.1 ubuntu系统配置1更换阿里源2sudo apt update3sudo apt upgrade4设置屏幕常亮防止屏幕会自动锁屏setting - Privacy - Screen Lock - OFF5开启ssh服务sudo apt-get install openssh-server6安装net-toolssudo apt install net-tools7查看IPifconfig8安装vimsudo apt install vim9安装terminatorsudo apt install terminator参考链接[1] Ubuntu如何开启SSH服务 - Mr.chris - 博客园2.2 ubuntu设置中文输入法sudoaptinstallfcitxsudoaptinstallfcitx-googlepinyin进入setting - Region Language修改为fictx然后重启电脑最后进入fictx_configuration添加googlepinyinCtrl 空格可以切换中英文参考链接[1] Ubuntu 安装中文输入法_Chamico的博客-CSDN博客_ubuntu安装中文输入法2.3 安装gcc\gsudoaptinstallgcc-7sudoaptinstallg-7cd/usr/binsudoln-sgcc-7 gccsudoln-sg-7 g# 查看gcc/g版本gcc-vg-v参考链接[1] ubuntu更换gcc/g版本2.4 安装cmakesudoaptinstallcmake# 安装的不是最新的版本参考链接Ubuntu中安装Cmake - 燕清扬 - 博客园2.5 安装ROS环境1添加ros清华源。首先新建ros下载源的配置文件类似apt的下载源配置文件/etc/apt/sources.listsudovim/etc/apt/sources.list.d/ros-latest.list添加以下内容deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ bionic main2然后再输入如下命令信任ROS的GPG Key并更新索引sudoapt-key adv--keyserverhkp://keyserver.ubuntu.com:80--recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654sudoaptupdate参考链接[1] ros | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror3安装Melodicsudoaptinstallros-melodic-desktop-full4初始化rosdepsudorosdep init rosdep update在这里需要注意/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py添加urlhttps://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_URLhttps://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml6用户环境设置echosource /opt/ros/melodic/setup.bash~/.bashrcsource~/.bashrc在basrc中添加修改成自己的IPexportROS_HOSTNAME192.168.50.114exportROS_MASTER_URIhttp://192.168.50.114:11311然后再source~/.bashrc7安装包编译依赖sudoaptinstallpython-rosinstall python-rosinstall-generator python-wstool build-essential8验证安装ROSrosversion-d参考链接[1] Ubuntu18.04安装ROS Melodic - 知乎[2] ROS初始化 sudo rosdep init失败_航天·轻舟机器人-CSDN博客[3] 解决ROS系统 rosdep update超时问题的新方法_leida_wt的博客-CSDN博客_rosdep update 超时2.6 测试建图导航sudoapt-getinstallros-melodic-gmappingsudoapt-getinstallros-melodic-navigationsudoapt-getinstallros-melodic-teleop-twist-keyboard参考链接[1] 树莓派学习笔记二软件包安装_敏而好学,不耻下问-CSDN博客_teleop_twist_keyboard安装2.7 安装cartographer个人定制版1拷贝源码注意先拷贝源码然后再拷贝编译文件夹share中的文件覆盖源文件。至于原因是因为编译文件中有些是自己已经配置过的文件与源文件有所不同所以也需要拷贝进去。2记得安装编译absl在步骤4只也提到此步骤。sudoapt-getinstallstowsudochmodx ~/carto_ws/src/cartographer/scripts/install_abseil.shcd~/carto_ws/src/cartographer/scripts ./install_abseil.sh3如果已经安装完ros,就不要在执行这条命名,因为ros里面已经安装了不然会冲突亲测大坑。4安装编译cartographersudoapt-getupdatesudoapt-getinstall-ypython-wstool python-rosdep ninja-build stowmkdircarto_wscdcarto_ws wstool init srcsudorosdep init rosdep update rosdepinstall--from-paths src --ignore-src--rosdistromelodic-ysrc/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博客_安装cartographer2.8 安装Navigation个人定制版拷贝navigation包移除src文件夹下的某些插件功能包插件中可能含有绝对路径在本机不适用需修改然后直接编译。其中在编译catkin_make过程中还可能提示缺少一些依赖包按要求安装即可。sudoaptinstallros-melodic-****2.9 配置激光雷达这里以星秒某款雷达为例1配置主机IP与雷达IP网段一致。2注意修改launch文件中的frame_id、距离范围、帧率、topic名称、tf坐标转换等等2.10 配置底盘1底盘修改为有限网卡IP与工控机通讯。2获得底盘的尺寸信息半径、雷达距离底盘中心的距离2.11 配置主从机sudovim~/.bashrcsource~/.bashrcsudovim/etc/hosts参考链接[1] ROS主从机配置2.12安装双目相机2.12.1 安装D435i SDK1注册公匙sudoapt-key adv--keyserverkeys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE||sudoapt-key adv--keyserverhkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE2添加包仓库echodeb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main|sudotee/etc/apt/sources.list.d/realsense-public.list3下载源码使用github代理下载gitclone https://ghproxy.com/https://github.com/IntelRealSense/librealsense4安装依赖环境## 构建librealsense二进制文件和核心模块的核心软件包sudoapt-getinstallgitlibssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev## Distribution-specific packages:sudoapt-getinstalllibglfw3-dev libgl1-mesa-dev libglu1-mesa-dev5从librealsense目录运行intel realsense 脚本cd librealsense ./scripts/setup_udev_rules.sh6编译安装mkdirbuildcdbuild cmake../-DBUILD_EXAMPLEStruemakesudomakeinstallmake的时候可能会下载一些文件网络问题可能会失败。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 viewer2.12.2 安装realsense-ros1下载ros安装包gitclone https://github.com/IntelRealSense/realsense-ros.gitcdrealsense-rosgitclone https://github.com/pal-robotics/ddynamic_reconfigure.git2编译安装cdcatkin_ws catkin_make clean catkin_make-DCATKIN_ENABLE_TESTINGFalse-DCMAKE_BUILD_TYPERelease catkin_makeinstall## 这一步非常重要如果编译失败要先查看一下realsense_ros中参数realsense2的版本和realsense-viewer版本是否一致。如果不一致修改一致。2.13 Ubuntu下FileZilla的安装FileZilla是一个免费而且开源的FTP客户端软件共有两种版本客户端版本、服务器版本。FileZilla有条理的界面和管理多站点的简化方式使得FileZilla Client成为一个方便高效的FTP客户端工具。sudoapt-getinstallfilezillasudoapt-getinstallfilezilla-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的安装步骤及问题总结