ROS Installation (ROS安装与运行)
## Synoposis
- Install ROS, refer http://wiki.ros.org/ROS/Installation
- Install ROS within docker
---
本文将介绍:
- 如何安装ROS?
- 如何在Docker中安装ROS?
---
## Preparation
- Check system version using ``uname -a``
- Ubuntu 18.04: Melodic
- Ubuntu 16.04: Kinetic
# Installation
## Melodic
### Method 1
```sh
$ sudo apt update
$ sudo apt upgrade
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_melodic.sh
$ chmod 755 ./install_ros_melodic.sh
$ bash ./install_ros_melodic.sh
```
### Method 2
```sh
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full
```
## Setup Environment
bash:
```sh
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
```
zsh:
```sh
echo "source /opt/ros/melodic/setup.zsh" >> ~/.zshrc
source ~/.zshrc
```
- Install Dependencies for building packages
```sh
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
```
- Initialize rosdep
```sh
sudo apt install python-rosdep
sudo rosdep init
rosdep update
```
To find available packages, use:
```sh
apt search ros-melodic
```
# Docker
```sh
# Install packages to add ROS repository
RUN apt-get install -y dirmngr gnupg2
# Add ROS repository
RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros-latest.list'
# Keys for ROS repository
RUN apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
## Install ROS-Base packages
RUN apt-get update && apt-get install -y ros-melodic-desktop-full
# Install ROS bootstrap tools
RUN apt-get update && apt-get install --no-install-recommends -y \
python-rosdep \
python-rosinstall \
python-vcstools
# Set up rosdep
RUN rosdep init
RUN rosdep update
```
# Possible Errors
## ros-melodic-desktop-full
```sh
The following packages have unmet dependencies:
ros-melodic-desktop-full : Depends: ros-melodic-desktop but it is not going to be installed
Depends: ros-melodic-perception but it is not going to be installed
Depends: ros-melodic-simulators but it is not going to be installed
Depends: ros-melodic-urdf-sim-tutorial but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
```
Solution
```sh
sudo apt-get remove gazebo9* catkin python-rospkg python-rospkg-modules
```
Refer: https://answers.ros.org/question/299260/unmet-dependencies-when-installing-melodic-on-ubuntu-1804/
No comments