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

文章目录

  • 1. 工控机安装新的ubuntu系统
  • 2. 配置ubuntu系统环境
    • 2.1 ubuntu系统配置
    • 2.2 ubuntu设置中文输入法
    • 2.3 安装gcc\g++
    • 2.4 安装cmake
    • 2.5 安装ROS环境
    • 2.6 测试建图导航
    • 2.7 安装cartographer(个人定制版)
    • 2.8 安装Navigation(个人定制版)
    • 2.9 配置激光雷达
    • 2.10 配置底盘
    • 2.11 配置主从机
    • 2.12安装双目相机
      • 2.12.1 安装D435i SDK
      • 2.12.2 安装realsense-ros
    • 2.13 Ubuntu下FileZilla的安装

准备工具:
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 stowmkdir carto_ws
cd carto_ws
wstool init srcsudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=melodic -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博客_安装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 ~/.bashrcsudo 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.gitcd realsense-rosgit clone https://github.com/pal-robotics/ddynamic_reconfigure.git

(2)编译安装

cd catkin_ws
catkin_make cleancatkin_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 filezillasudo 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的安装步骤及问题总结

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

  1. ROS机器人程序设计(原书第2版)学习镜像分享及使用说明

    2018 ROS Melodic的迷失与救赎::https://blog.csdn.net/column/details/28058.html 2018 GitChat::沉迷机器人操作系统的一个理由 ...

  2. ROS机器人程序设计(原书第2版).

    机器人设计与制作系列 ROS机器人程序设计 (原书第2版) Learning ROS for Robotics Programming,Second Edition 恩里克·费尔南德斯(Enrique ...

  3. ROS机器人高效编程(原书第3版)勘误、问题及资料汇总

    ROS机器人高效编程(原书第3版)勘误.问题及资料汇总--持续更新 如果小伙伴发现书中错误,恳请批评指正,非常感谢.勘误在文末. 补充一行代码装ROS,适用于14.04LTS(indigo)和16.0 ...

  4. ROS机器人程序设计(原书第2版)补充资料 教学大纲

    ROS机器人程序设计(原书第2版) 补充资料 教学大纲 针对该书稍后会补充教学大纲.教案.多媒体课件以及练习题等. <ROS机器人程序设计>课程简介 课程编号:XXXXXX 课程名称:RO ...

  5. ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...

  6. ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse...

    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方.直接替换为indigo或ja ...

  7. 【安装】安装ros机器人系统和无人机环境配置常见问题总结

    安装ros机器人系统和无人机环境配置常见问题总结 一.安装ROS 二.无人机环境配置 更多安装 Ubuntu16.04安装ros:http://wiki.ros.org/cn/kinetic/Inst ...

  8. ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年02月22日更新

    ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 ROS官网 |易科 |虞坤林 |古月居 |ROSClub |创客智造 ROS机器人操作系统在线练习课程正在逐步完善中,目前以ROS官网中文 ...

  9. ROS机器人从零开始——ROS的认识与理解

    ROS机器人从零开始--ROS的认识与理解 **说明:博客的主要目的是帮助想要学习ROS的朋友建立一套系统的ROS学习流程,快速的掌握基于ROS的开发过程,避免走弯路.本系列博客记录了ROS的仿真学习 ...

最新文章

  1. 编写高度可维护javascript代码的几点关键性原则
  2. 【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
  3. MacOS option键-常用数学符号
  4. 宠物商店(pet-shop) 学习笔记
  5. [九度][何海涛] 跳台阶
  6. C# 转繁体转简体转拼音,超级文本大转换
  7. 广义线性模型_广义线性模型(第六章补充)
  8. PathCopyCopy一键复制文件路径
  9. 【Kafka】kafka Java api 获取 kafka topic 或者 partition 占用的磁盘大小
  10. 空窗2年,中文系萌妹拿下39W测试岗,还和面试官约上了烧烤?!
  11. STM32入门教程第一讲
  12. linux软件版本管理命令update-alternatives使用详解
  13. selenium 模拟浏览器刷新
  14. Layui数据表格监听单元格编辑恢复原值
  15. 充分利用计算机在教学中的作用,浅谈多媒体在教学中的作用
  16. 论文管理工具:Zotero使用心得
  17. 基于VHDL的FPGA简易电子琴(实现三音阶切换与弹奏)
  18. 深度学习环境配置之windows下的torch-gpu=1.7.1(亲测有效)
  19. STM32F429内部FLASH读写擦除操作流程和寄存器配置要点
  20. (二十四)优秀员工 - 2

热门文章

  1. 网页布局的兼容性问题汇总
  2. MFC开发过程中,自定义的类中做分割窗口的图像显示,GetDC出现问题:function does not take 0 parameters?
  3. html5卷轴动画制作,使用纯CSS3构建的3D卷轴动画特效
  4. 城市生活污水自动采样器——致力于新冠病毒监测
  5. WORD 文档中的艺术字
  6. 混合开发jsBridge介绍
  7. 自行车保险市场现状研究分析-
  8. BigDecimal 使用详细说明
  9. 教你用响应式设计的H5网站模板,快速实现自适应
  10. 实现mysql全连接的方法