从零开始配置ROS机器人系统环境-总结版
本文目的:拿到一台新的工控机,如何给新机器配置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机器人系统环境-总结版相关推荐
- ROS机器人程序设计(原书第2版)学习镜像分享及使用说明
2018 ROS Melodic的迷失与救赎::https://blog.csdn.net/column/details/28058.html 2018 GitChat::沉迷机器人操作系统的一个理由 ...
- ROS机器人程序设计(原书第2版).
机器人设计与制作系列 ROS机器人程序设计 (原书第2版) Learning ROS for Robotics Programming,Second Edition 恩里克·费尔南德斯(Enrique ...
- ROS机器人高效编程(原书第3版)勘误、问题及资料汇总
ROS机器人高效编程(原书第3版)勘误.问题及资料汇总--持续更新 如果小伙伴发现书中错误,恳请批评指正,非常感谢.勘误在文末. 补充一行代码装ROS,适用于14.04LTS(indigo)和16.0 ...
- ROS机器人程序设计(原书第2版)补充资料 教学大纲
ROS机器人程序设计(原书第2版) 补充资料 教学大纲 针对该书稍后会补充教学大纲.教案.多媒体课件以及练习题等. <ROS机器人程序设计>课程简介 课程编号:XXXXXX 课程名称:RO ...
- ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse
ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...
- ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse...
ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方.直接替换为indigo或ja ...
- 【安装】安装ros机器人系统和无人机环境配置常见问题总结
安装ros机器人系统和无人机环境配置常见问题总结 一.安装ROS 二.无人机环境配置 更多安装 Ubuntu16.04安装ros:http://wiki.ros.org/cn/kinetic/Inst ...
- ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年02月22日更新
ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 ROS官网 |易科 |虞坤林 |古月居 |ROSClub |创客智造 ROS机器人操作系统在线练习课程正在逐步完善中,目前以ROS官网中文 ...
- ROS机器人从零开始——ROS的认识与理解
ROS机器人从零开始--ROS的认识与理解 **说明:博客的主要目的是帮助想要学习ROS的朋友建立一套系统的ROS学习流程,快速的掌握基于ROS的开发过程,避免走弯路.本系列博客记录了ROS的仿真学习 ...
最新文章
- 编写高度可维护javascript代码的几点关键性原则
- 【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
- MacOS option键-常用数学符号
- 宠物商店(pet-shop) 学习笔记
- [九度][何海涛] 跳台阶
- C# 转繁体转简体转拼音,超级文本大转换
- 广义线性模型_广义线性模型(第六章补充)
- PathCopyCopy一键复制文件路径
- 【Kafka】kafka Java api 获取 kafka topic 或者 partition 占用的磁盘大小
- 空窗2年,中文系萌妹拿下39W测试岗,还和面试官约上了烧烤?!
- STM32入门教程第一讲
- linux软件版本管理命令update-alternatives使用详解
- selenium 模拟浏览器刷新
- Layui数据表格监听单元格编辑恢复原值
- 充分利用计算机在教学中的作用,浅谈多媒体在教学中的作用
- 论文管理工具:Zotero使用心得
- 基于VHDL的FPGA简易电子琴(实现三音阶切换与弹奏)
- 深度学习环境配置之windows下的torch-gpu=1.7.1(亲测有效)
- STM32F429内部FLASH读写擦除操作流程和寄存器配置要点
- (二十四)优秀员工 - 2