ROS 环境配置

2022-10-18
3分钟阅读时长

Ubuntu Configuration

Ubuntu Install

虚拟机平台不限,推荐使用:

  1. VMWare
  2. Virtualbox
  3. Qemu

Ubuntu 版本需要选择 Ubuntu 20.04 安装。发行版代码应该为 focal 。 请使用 lsb_release -alsb_release -c 验证。

Additional Function

虚拟机工具之增强功能可以使得虚拟操作系统的屏幕自适应窗口大小。

  1. 点击 Virualbox 菜单栏中的安装增强功能。
  2. 如果没有启动安装,可打开文件管理器,在挂载的逻辑设备中手动运行安装文件。
  3. 为使增强工具生效,需要重启操作系统,在 Virubalbox 中可以设置缩放模式。

Files Exchange

虚拟机交换文件可以实现与宿主机的文件交换。

  1. 点击 Virualbox 工具栏中的设置
  2. 依次点击 常规,高级 ,将共享剪贴板和拖放均改为双向。

VirualBox Extension

  1. 在 VirualBox 官网下载 Extension Pack
  2. 在 VirualBox 中点击 管理,扩展,添加扩展包

Input Method

安装 fcitx5

  sudo apt install fcitx5 fcitx5-*
  im-config #配置输入法为fcitx5

特别地,尽管有多种方法配置环境变量,仍然建议将环境变量配置到 ~/.xprofile 中。

  export GTK_IM_MODULE=fcitx5
  export QT_IM_MODULE=fcitx5
  export XMODIFIERS=@im=fcitx

如果输入法有问题,尝试执行 fcitx5-dignose 进行问题诊断。

New Template

Ubuntu 操作系统右键菜单中没有新建文档的选项,需要到 ~/Templates 下新建各种文档用作新建的模板。 比如,至少新建一个 .txt 文件。

ROS Install

Ubuntu Software Settings

配置 Ubuntu 的软件和更新,允许安装不经认证的软件。

  1. 在 ubuntu 中搜索应用程序 软件和更新 ,打开软件和更新对话框
  2. 依次勾选:

    1. main
    2. universe
    3. restricted
    4. multiverse

Ubuntu Mirror

按照 Ubuntu 镜像使用帮助 操作,编辑 /etc/apt/sources.list 文件。

  # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

  # 预发布软件源,不建议启用
  # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

Ubuntu Software Source

配置 Ubuntu 的软件源。主要介绍从官方源和国内镜像源两种方法。特别地,官方源由于需要访问 github 网站,需要科学上网工具。

Install From Offical

官方源的安装方法如下:

Setup sources.list

允许操作系统从 packages.ros.org 上接受 ROS 软件。

  sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  # 有关源的选择可以使用国内镜像源
Setup keys

如果从官方源接受 ROS 软件,则需要执行下面的操作以安装密钥。

  sudo apt install curl # if you haven't already installed curl
  curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

Install From China

国内源的安装方法如下:

Ubuntu Install ROS

建议使用 apt 而不是 apt-get 进行安装。

  1. 安装 ROS 本体

      sudo apt update
      sudo apt install ros-noetic-desktop-full # recommand
  2. 安装 ROS 相关的软件

      sudo apt install ros-noetic-ackermann-msgs
      sudo apt install ros-noetic-controller-manager
      sudo apt install ros-noetic-driver-base
      sudo apt install ros-noetic-effort-controllers
      sudo apt install ros-noetic-geographic-info
      sudo apt install ros-noetic-gazebo-ros-control
      sudo apt install ros-noetic-gmapping
      sudo apt install ros-noetic-joint-state-controller
      sudo apt install ros-noetic-navigation
      sudo apt install ros-noetic-rtabmap-ros
      sudo apt install ros-noetic-teb-local-planner
      sudo apt install ros-noetic-openslam-gmapping
  3. 安装其他插件

      sudo apt install tcl-dev tk-dev python3-tk
  4. 安装依赖 其中 build-essential 包括了 gcc , g++ , make , dpkg-dev 等工具。 由于 catkin_make 命令依赖 cmake ,因此 cmakeextra-cmake-modules 是必须的。

      sudo apt install git build-essential cmake extra-cmake-modules python3 python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool
  5. 下载 gazebo 模型 如果从 github 下载慢,可以尝试从 gitee 导入模型。

      git clone https://github.com/osrf/gazebo_models.git ~/.gazebo/models
      sudo chmod 777 -R ~/.gazebo/models/*
  6. 如果有其他包需要安装,可以直接指定包名。

      sudo apt install ros-noetic-PACKAGE
  7. 如果需要搜索包,可以指定搜索关键词

      apt search ros-noetic

Environment

ros-noeticgazebo 均加入 PATH 中,编辑 ~/.bashrc

  source /opt/ros/noetic/setup.bash # change bash to zsh if you need
  source /usr/share/gazebo/setup.bash # check if it is setup.sh

Dependencies

  sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

初始化 rosdep 以使用部分 ROS 工具。

  sudo apt install python3-rosdep
  sudo rosdep init
  rosdep update

Test ROS Installation

可以设置终端的新建方式为新建标签,然后新建三个终端标签,依次输入下面的命令用以测试 ROS 是否顺利安装。

  roscore
  rosrun turtlesim turtlesim_node
  rosrun turtlasim turtle_teleop_key

Compile

一切就绪后,~Ctrl+C~ 结束运行的测试程序,编译项目。

  catkin_make