Установка
Поскольку ROS — это мета-операционная система, вам необходимо выбрать ОС для использования. ROS поддерживает Debian, Ubuntu, Linux Mint, OS X, Fedora, Gentoo, openSUSE, Arch Linux и Windows (через виртуализацию Linux), но самыми популярными операционными системами являются Debian, Ubuntu и Linux Mint. В нашем учебнике мы будем использовать ОС Ubuntu. Для слабых компьютеров, рекомендуем использовать ОС Lubuntu (совместима с Ubuntu)
На сегодняшний день, актуальным дистрибутивом ROS является ROS Noetic Ninjemys http://wiki.ros.org/noetic этот дистрибутив мы и установим.
Оригинальная инструкция по установке ROS находится на сайте ROS https://www.ros.org/install/. За основу дальнейшей инструкции будет взята страница http://wiki.ros.org/melodic/Installation/Ubuntu.
Для установки ROS на Ubuntu существуют готовые пакеты, нам достаточно добавить репозиторий, содержащий пакеты ROS и установить их обычным для Linux способом.
Если на вашей платформе не существует подготовленных пакетов, то прийдется «собирать» все пакеты из исходного кода, что не сложно, но займет куда более продолжительное время.
Установка пакетов
Добавление репозитория пакетов ROS
Открываем окно терминала (программа terminal) (возможно Ctrl-Alt-T)
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
Обратите внимание, что ключ может измениться, поэтому уточните его на официальной Wiki странице http://wiki.ros.org/melodic/Installation/Ubuntu.
Обновление списка пакетов
Когда мы добавили и настроили репозиторий с пакетами ROS, мы должны обновить список пакетов доступных системе для установки. Также рекомендуется обновить все установленные пакеты Ubuntu до установки ROS.
sudo apt-get update && sudo apt-get upgrade -y
Установка пакетов ROS
На этапе знакомства с ROS, проще всего установить самую полную версию системы. Данный пакет автоматический установит все основные пакеты ROS, rqt, rviz, библиотеки 2D/3D симуляции, навигации и тп.
sudo apt install ros-noetic-desktop-full
Установка дополнительных пакетов
Если необходимо установить дополнительный пакет, то это можно сделать обычной утилитой установщиком apt-get . Например добавить пакет slam-gmapping можно командой.
sudo apt install ros-noetic-slam-gmapping
Поиск пакетов выполняется командой
apt search ros-noetic
Настройка после установки
Установка rosdep
Прежде чем использовать ROS, вам необходимо инициализировать rosdep . rosdep позволяет устанавливать системные зависимости для исходных кодов, который вы хотите скомпилировать и требуется для запуска некоторых основных компонентов в ROS.
sudo rosdep init rosdep update
Настройка рабочего окружения
Настройка рабочих параметров ROS, происходит через установку переменных окружения (например пути библиотек, адреса серверов и тд). Эту операцию можно делать руками, но проще настроить их автоматический экспорт при запуске интерактивной оболочки bash.
Добавим переменные окружения ROS, для их автоматической установки при запуске bash:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc
Если вы просто хотите загрузить переменные ROS в текущем сеансе, то вы можете ввести:
source /opt/ros/melodic/setup.bash
Если вы используете zsh вместо bash, то необходимо выполнить команду.
echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc source ~/.zshrc
Установка дополнительных пакетов для разработчиков
Если вы собираетесь самостоятельно разрабатывать или вносить изменения в пакеты, вам необходимо установить дополнительные пакеты.
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
Создание рабочего пространства
ROS использует специальную систему сборки под названием catkin . Чтобы использовать ее, вам необходимо создать и инициализировать папку рабочего пространства.
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace
Первый запуск
Установка для ROS завершена, следующая команда запустит сервер (главную ноду) ROS. Закройте все окна терминала и откройте новое окно терминала.
roscore
Если ROS установлена верно, то мы увидим приблизительно такое сообщение при запуске:

Для остановки roscore необходимо нажать Ctrl+C
Если вы хотите чтобы roscore запустился в фоновом режиме, то запустите его командой
roscore &
Как установить ROS NOETIC на UBUNTU 20.04
Вы конечно же можете посмотреть оригинальную инструкцию по установке ROS Noetic на сайте ROS Wiki , однако там все на английском и объясняется весьма туманно, я же постараюсь объяснить вам как можно понятнее. Итак, начнем.
Что такое ROS?
ROS — Операционная система для роботов, остов для программирования роботов, предоставляющий функциональность для распределённой работы. ROS был первоначально разработан в 2007 году под названием switchyard в Лаборатории Искусственного Интеллекта Стэнфордского Университета.
Можно ли установить ROS Noetic на другие версии Ubuntu?
Правильного ответа на этот вопрос нет. Отдельные пакеты Noetic вроде как можно установить на другие версии операционной системы, однако стабильность их работы не гарантируется. Поэтому скорее все нет. Итак, давайте все-таки перейдем к самой установке.
Что делать если я использую другую версию Ububntu
ROS разрабатывался в разных версиях, которые устанавливаются на разные версии Ubuntu.
Версия Ubuntu
Версия ROS
Ubuntu 15.04 & 16.04
Как установить ROS если вы использует другую версию Ubuntu? Легко! Просто во всех примерах кода заменяйте слово noetic на название той версии, которая удовлетворяет вашем характеристикам например вместо ros-noetic , вы можете написать ros-melodic
Подготовка к установке. Настройка репозиториев
Начнем с того, что существуют четыре основных репозитория:
- Main — бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое Canonical.
- Universe — бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое сообществом.
- Restricted — проприетарные драйверы для устройств.
- Multiverse — Программное обеспечение, ограниченное авторским правом или юридическими вопросами.
Итак, начинаем настройку. Сначала открываем вкладку «Программное обеспечение Ubuntu» и в настройках «Ubuntu Software» ставим галочки так, как показано на картинке

Далее переходим во вкладку «Other sowtware» и ставим галочки на пунктах Canonical Parthners и Canonical Parthners(source code)

Установка этих параметров поможет корректно установить пакеты ROS
Установка ROS Noetic
Шаг 1
После настройки репозиториев можем приступать к самой установке. Для начала настраиваем систему на прием пакетов программного обеспечения с packages.ros.org . Вставляем в терминал следующую команду:
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
В качестве альтернативы мы можем использовать curl вместо команды apt-key, что может быть полезно, если вы находитесь за прокси-сервером:
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
Шаг 2
Во-первых обновляем пакеты с помощью команды
sudo apt-get update
Шаг 3
Начинаем установку. Для этого надо решить, какой ROS вы хотите себе установить:
- Desktop Full — та сборка, которую я вам рекомендую ставить. Эта версия устанавливает все, что только можно: 2D/3D симуляторы и программы восприятия. Для того, чтобы установить эту версию пишем в терминале:
sudo apt install ros-noetic-desktop-full
2. Desktop Instal — этот пакет содержит в себе все компоненты на базе ROS, а также и такие элементы как rqt и rviz. Для установки этой версии пишем в терминале следующую команду
sudo apt install ros-noetic-desktop
3. ROS-Base: (Bare Bones) — это просто голые библиотеки и пакеты ROS. Это тот вариант, который подойдет для продвинутых специалистов. Для установки этого варианта пишем в терминале:
sudo apt install ros-noetic-ros-base
Также вы можете установить какой-либо конкретный пакет ROS воспользовавшись командой:
sudo apt install ros-noetic-ИМЯ_ПАКЕТА
Шаг 4
Устанавливаем пакет bash, в котором мы будем использовать ROS. пишем в терминале:
source /opt/ros/noetic/setup.bash
Шаг 5
До сих пор вы устанавливали все, что нужно для запуска основных пакетов ROS. Для создания и управления собственными рабочими пространствами ROS существуют различные инструменты и требования, которые распространяются отдельно. Например, rosinstall — часто используемый инструмент командной строки, который позволяет легко загружать множество исходных кодов для пакетов ROS с помощью одной команды. Для его установки пишем в терминале:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
Шаг 6
Прежде чем вы сможете использовать многие инструменты ROS, вам нужно будет инициализировать rosdep. Он позволяет легко устанавливать системные зависимости для исходного кода, который вы хотите скомпилировать, и требуется для запуска некоторых основных компонентов в ROS. Если вы еще не установили rosdep, то самое время его установить. Для этого пишем в терминале:
sudo apt установить python3-rosdep
Шаг 7
Для инициализации rosdep пишем в терминале:
sudo rosdep init
И потом пишем следующее:
rosdep update
ИТОГ
Поздравляю вас с установкой ROS Noetic. Теперь вы можете начать программировать собственных роботов с помощью ROS.
Установка и настройка пакета ROS Melodic
Для работы с такими инструментами как: rqt, rviz и т. д., а также для запуска симулятора (SITL) вам потребуется установленный и настроенный пакет ROS.
Более подробную инструкцию по установке смотрите в основной статье.
Установка ROS Melodic на Ubuntu
Для того, чтобы загрузить и установить правильную версию пакета требуется сделать настройки репозиториев, для этого откройте «Программы и обновления» и разрешите restricted , universe и multiverse .
Настройте свою систему, для того что бы вы могли принимать программное обеспечение с packages.ros.org , выполнив команду:
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://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Убедитесь в том, что вы имеете последние версии индексов пакетов:
sudo apt-get update
Теперь установите сам пакет ROS.
-
Если вы планируете использовать ROS вместе с симуляцией (также содержит инструменты: rqt, rviz и т. д):
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-desktop
После установки пакета вам нужно инициализировать rosdep . Пакет rosdep позволит вам легко устанавливать системные зависимости для источника, который вы хотите скомпилировать, а также необходим для запуска некоторых основных компонентов в ROS:
sudo rosdep init rosdep update
Если вам не удобно запускать переменное окружение вручную каждый раз, вы можете настроить его так, чтобы оно добавлялось в ваш сеанс bash при каждом запуске новой оболочки:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
Если вы хотите установить какие-либо дополнительные пакеты для вашего ROS Melodic просто используйте:
sudo apt-get install ros-melodic-PACKAGE
ROS — установка

Начинаем знакомство с Операционной Системой для Роботов — ROS.
UPD установка и принципы работы новых версий ROS существенно не отличаются, но строка команды установки будет зависить от устанавливаемой версии ROS
http://www.ros.org/wiki/ROS/Installation
UPD 2011-11-27 ROS Electric — обзор и установка
Установка ROS — версия C turtle
Итак, шаг первый — установка.
Для первых экспериментов вполне подойдёт установленная OC Ubuntu Linux под виртуальной машиной.
Как и в экспериментах над роутером — я буду использовать VirtualBox.
Как помним, установка Ubuntu Linux на виртуальную машину особых вопросов не вызывает. Устанавливаем Ubuntu 10.10, но необходимо учесть, что для ROS потребуется не менее 6Гб свободного места на жёстком диске, так что выбирайте динамически-расширяемый образ и задайте размер не менее 20Gb.
Установка ROS под Ubuntu расписана здесь и никаких трудностей не представляет!
Итак, нам потребуются:
1. ПК(сойдёт и виртуальная машина) под управлением OC Ubuntu Linux 10.10,
2. безлимитный интернет (во время установки потребуется загрузить около полутора Гигабайт пакетов, которые займут около 5 Гигабайт жёсткого диска)
Для установки ROS, нужно выполнить следующие пять простых шагов:
1. нужно настроить sources.list , добавив туда адрес сервера ROS, чтобы менеджер пакетов знал откуда брать пакеты
под Ubuntu 10.10 (Maverick) команда:
sudo sh -c 'echo "deb http://code.ros.org/packages/ros/ubuntu maverick main" > /etc/apt/sources.list.d/ros-latest.list'
2. получить ключи
wget http://code.ros.org/packages/ros.key -O - | sudo apt-key add -
3. убедиться, что сервер ROS.org проиндексирован
sudo apt-get update
4. установить ROS (параметр команды может отличаться в зависимости от типа установки)
только ROS:
sudo apt-get install ros-cturtle-ros
sudo apt-get install ros-cturtle-base
ROS + специфичный стек для робота PR2
sudo apt-get install ros-cturtle-pr2
Для начала попробуем базовый ROS

!Обратите внимание, что для установки всех нужных пакетов менеджеру пакетов придётся загрузить 1.65 GB архивов, которые после установки займут 4.67 Gb на вашем жёстком диске О_о!
.
.
$ sudo apt-get install ros-cturtle-base
и вот какоооооооой длиииииииинный список устанавливаемых пакетов получаем на свою голову
Reading package lists. Done Building dependency tree Reading state information. Done The following extra packages will be installed: alsa-oss autoconf automake autotools-dev bison blt build-essential cl-asdf cmake cmake-data comerr-dev common-lisp-controller debhelper doxygen dpkg-dev emacsen-common esound-clients esound-common evtest fakeroot festival festlex-cmu festlex-poslex festvox-kallpc16k flex freeglut3 freeglut3-dev g++ g++-4.4 gccxml gettext gforth gforth-common graphviz html2text intltool-debian joystick krb5-multidev lacheck latex-beamer latex-xcolor libaa1-dev libalgorithm-diff-perl libalgorithm-merge-perl libapr1 libapr1-dev libaprutil1 libaprutil1-dev libasound2-dev libatk1.0-dev libaudio-dev libaudio2 libaudiofile-dev libaudiofile0 libavahi-client-dev libavahi-common-dev libavcodec-dev libavcodec52 libavformat-dev libavformat52 libavutil-dev libavutil50 libblas3gf libbluetooth-dev libboost-date-time1.42-dev libboost-date-time1.42.0 libboost-filesystem1.42-dev libboost-filesystem1.42.0 libboost-graph1.42-dev libboost-graph1.42.0 libboost-iostreams1.42-dev libboost-iostreams1.42.0 libboost-math1.42-dev libboost-math1.42.0 libboost-program-options1.42-dev libboost-program-options1.42.0 libboost-python1.42-dev libboost-python1.42.0 libboost-regex1.42-dev libboost-regex1.42.0 libboost-serialization1.42-dev libboost-serialization1.42.0 libboost-signals1.42-dev libboost-signals1.42.0 libboost-system1.42-dev libboost-system1.42.0 libboost-test1.42-dev libboost-test1.42.0 libboost-thread1.42-dev libboost-thread1.42.0 libboost-wave1.42-dev libboost-wave1.42.0 libboost1.42-all-dev libboost1.42-dev libbz2-dev libcaca-dev libcairo-gobject2 libcairo2-dev libcdt4 libcgraph5 libcppunit-1.12-1 libcppunit-dev libcurl4-openssl-dev libdb4.8-dev libdbus-1-dev libdc1394-22 libdc1394-22-dev libdpkg-perl libdrm-dev libesd0 libesd0-dev libestools2.0 libexif-dev libexpat1-dev libffcall1 libfltk1.1 libfltk1.1-dev libfontconfig1-dev libfreeimage-dev libfreeimage3 libfreetype6-dev libgdk-pixbuf2.0-dev libgfortran3 libgl1-mesa-dev libglib2.0-bin libglib2.0-dev libglu1-mesa-dev libglut3-dev libgraph4 libgraphicsmagick++1-dev libgraphicsmagick++3 libgraphicsmagick1-dev libgraphicsmagick3 libgsm1 libgssrpc4 libgtk2.0-dev libgvc5 libgvpr1 libice-dev libicu-dev libidn11-dev libjasper-dev libjpeg62-dev libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4 libkms1 libkrb5-dev liblapack3gf liblcms1-dev libldap2-dev liblog4cxx10 liblog4cxx10-dev libltdl-dev libmail-sendmail-perl libmikmod2 libmysqlclient-dev libmysqlclient16 libncurses5-dev libnetpbm10 libnetpbm10-dev libogg-dev libpango1.0-dev libpathplan4 libpcre3-dev libpcrecpp0 libpixman-1-dev libpng12-dev libportmidi0 libpq-dev libpq5 libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libraw1394-dev libschroedinger-1.0-0 libsdl-image1.2 libsdl-image1.2-dev libsdl-mixer1.2 libsdl-ttf2.0-0 libsdl1.2-dev libslang2-dev libsm-dev libsmpeg0 libsqlite3-dev libssl-dev libstdc++6-4.4-dev libsvn1 libswscale-dev libswscale0 libsys-hostname-long-perl libtiff4-dev libtiffxx0c2 libtool libunistring0 libusb-dev libva1 libvpx0 libwmf-dev libwxbase2.8-0 libwxbase2.8-dev libwxgtk2.8-0 libwxgtk2.8-dev libx11-dev libxau-dev libxaw7-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxdot4 libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml2-dev libxmlrpc-core-c3 libxmu-dev libxmu-headers libxpm-dev libxrandr-dev libxrender-dev libxt-dev libxxf86vm-dev libyaml-0-2 libyaml-dev libzzip-0-13 libzzip-dev lmodern luatex m4 mesa-common-dev mysql-common nvidia-cg-toolkit oss-compat patch pgf po-debconf preview-latex-style prosper ps2eps python-bluez python-dateutil python-dev python-docutils python-epydoc python-lxml python-matplotlib python-matplotlib-data python-numpy python-paramiko python-pygame python-pygments python-pyparsing python-roman python-sip python-sip-dev python-sip4-dev python-tk python-tz python-wxgtk2.8 python-wxversion python-yaml python2.6-dev realpath ros-cturtle-camera-drivers ros-cturtle-common ros-cturtle-common-msgs ros-cturtle-common-tutorials ros-cturtle-diagnostics ros-cturtle-driver-common ros-cturtle-geometry ros-cturtle-geometry-tutorials ros-cturtle-image-common ros-cturtle-image-pipeline ros-cturtle-image-transport-plugins ros-cturtle-imu-drivers ros-cturtle-joystick-drivers ros-cturtle-joystick-drivers-tutorials ros-cturtle-laser-drivers ros-cturtle-laser-pipeline ros-cturtle-navigation ros-cturtle-physics-ode ros-cturtle-robot-model ros-cturtle-ros ros-cturtle-ros-comm ros-cturtle-ros-tutorials ros-cturtle-roslisp-support ros-cturtle-rx ros-cturtle-simulator-gazebo ros-cturtle-simulator-stage ros-cturtle-slam-gmapping ros-cturtle-sound-drivers ros-cturtle-vision-opencv ros-cturtle-visualization ros-cturtle-visualization-common ros-cturtle-visualization-tutorials sbcl subversion tcl8.5 tex-common texlive-base texlive-binaries texlive-common texlive-doc-base texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base texlive-latex-base-doc texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-luatex texlive-pictures texlive-pictures-doc texlive-pstricks texlive-pstricks-doc tipa tk8.5 ttf-lyx uuid-dev wx2.8-headers x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev zlib1g-dev Suggested packages: autoconf2.13 autoconf-archive gnu-standards autoconf-doc bison-doc blt-demo dh-make doxygen-doc doxygen-gui debian-keyring pidgin-festival festival-freebsoft-utils g++-multilib g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg gettext-doc graphviz-doc krb5-doc auctex libasound2-doc nas libfaad-dev libgsm1-dev libschroedinger-dev libspeex-dev libtheora-dev libvorbis-dev libboost1.42-doc docbook-xsl default-jdk fop libcairo2-doc libcairo-script-interpreter2 libqttestrunner1c2a libcppunit-doc libcurl3-dbg db4.8-doc fltk1.1-doc fluid libpng12-0-dev libglib2.0-doc python-subunit graphicsmagick graphicsmagick-dbg krb5-user libgtk2.0-doc icu-doc liblog4cxx10-doc libtool-doc libpango1.0-doc imagemagick postgresql-doc-8.4 libraw1394-doc sqlite3-doc libstdc++6-4.4-doc automaken gfortran fortran95-compiler gcj libwmf-doc wx2.8-doc libgnomeprintui2.2-0 wx-common libstdc++-dev xlibmesa-glu-dev libglu-dev diffutils-doc libmail-box-perl texlive-lang-french epydoc-doc python-profiler python-lxml-dbg dvipng ipython python-configobj python-excelerator python-matplotlib-doc python-scipy python-traits python-qt4 python-numpy-doc python-numpy-dbg python-nose python-chardet ttf-bitstream-vera tix python-tk-dbg wx2.8-examples python-wxtools ruby tcsh csh octave3.0 mksh pdksh python-xml editra sbcl-doc sbcl-source slime subversion-tools db4.8-util tclreadline perl-tk dvidvi fragmaster latexmk purifyeps xindy psutils t1utils texpower The following NEW packages will be installed: alsa-oss autoconf automake autotools-dev bison blt build-essential cl-asdf cmake cmake-data comerr-dev common-lisp-controller debhelper doxygen dpkg-dev emacsen-common esound-clients esound-common evtest fakeroot festival festlex-cmu festlex-poslex festvox-kallpc16k flex freeglut3 freeglut3-dev g++ g++-4.4 gccxml gettext gforth gforth-common graphviz html2text intltool-debian joystick krb5-multidev lacheck latex-beamer latex-xcolor libaa1-dev libalgorithm-diff-perl libalgorithm-merge-perl libapr1 libapr1-dev libaprutil1 libaprutil1-dev libasound2-dev libatk1.0-dev libaudio-dev libaudio2 libaudiofile-dev libaudiofile0 libavahi-client-dev libavahi-common-dev libavcodec-dev libavcodec52 libavformat-dev libavformat52 libavutil-dev libavutil50 libblas3gf libbluetooth-dev libboost-date-time1.42-dev libboost-date-time1.42.0 libboost-filesystem1.42-dev libboost-filesystem1.42.0 libboost-graph1.42-dev libboost-graph1.42.0 libboost-iostreams1.42-dev libboost-iostreams1.42.0 libboost-math1.42-dev libboost-math1.42.0 libboost-program-options1.42-dev libboost-program-options1.42.0 libboost-python1.42-dev libboost-python1.42.0 libboost-regex1.42-dev libboost-regex1.42.0 libboost-serialization1.42-dev libboost-serialization1.42.0 libboost-signals1.42-dev libboost-signals1.42.0 libboost-system1.42-dev libboost-system1.42.0 libboost-test1.42-dev libboost-test1.42.0 libboost-thread1.42-dev libboost-thread1.42.0 libboost-wave1.42-dev libboost-wave1.42.0 libboost1.42-all-dev libboost1.42-dev libbz2-dev libcaca-dev libcairo-gobject2 libcairo2-dev libcdt4 libcgraph5 libcppunit-1.12-1 libcppunit-dev libcurl4-openssl-dev libdb4.8-dev libdbus-1-dev libdc1394-22 libdc1394-22-dev libdpkg-perl libdrm-dev libesd0 libesd0-dev libestools2.0 libexif-dev libexpat1-dev libffcall1 libfltk1.1 libfltk1.1-dev libfontconfig1-dev libfreeimage-dev libfreeimage3 libfreetype6-dev libgdk-pixbuf2.0-dev libgfortran3 libgl1-mesa-dev libglib2.0-bin libglib2.0-dev libglu1-mesa-dev libglut3-dev libgraph4 libgraphicsmagick++1-dev libgraphicsmagick++3 libgraphicsmagick1-dev libgraphicsmagick3 libgsm1 libgssrpc4 libgtk2.0-dev libgvc5 libgvpr1 libice-dev libicu-dev libidn11-dev libjasper-dev libjpeg62-dev libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4 libkms1 libkrb5-dev liblapack3gf liblcms1-dev libldap2-dev liblog4cxx10 liblog4cxx10-dev libltdl-dev libmail-sendmail-perl libmikmod2 libmysqlclient-dev libmysqlclient16 libncurses5-dev libnetpbm10 libnetpbm10-dev libogg-dev libpango1.0-dev libpathplan4 libpcre3-dev libpcrecpp0 libpixman-1-dev libpng12-dev libportmidi0 libpq-dev libpq5 libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libraw1394-dev libschroedinger-1.0-0 libsdl-image1.2 libsdl-image1.2-dev libsdl-mixer1.2 libsdl-ttf2.0-0 libsdl1.2-dev libslang2-dev libsm-dev libsmpeg0 libsqlite3-dev libssl-dev libstdc++6-4.4-dev libsvn1 libswscale-dev libswscale0 libsys-hostname-long-perl libtiff4-dev libtiffxx0c2 libtool libunistring0 libusb-dev libva1 libvpx0 libwmf-dev libwxbase2.8-0 libwxbase2.8-dev libwxgtk2.8-0 libwxgtk2.8-dev libx11-dev libxau-dev libxaw7-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxdot4 libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml2-dev libxmlrpc-core-c3 libxmu-dev libxmu-headers libxpm-dev libxrandr-dev libxrender-dev libxt-dev libxxf86vm-dev libyaml-0-2 libyaml-dev libzzip-0-13 libzzip-dev lmodern luatex m4 mesa-common-dev mysql-common nvidia-cg-toolkit oss-compat patch pgf po-debconf preview-latex-style prosper ps2eps python-bluez python-dateutil python-dev python-docutils python-epydoc python-lxml python-matplotlib python-matplotlib-data python-numpy python-paramiko python-pygame python-pygments python-pyparsing python-roman python-sip python-sip-dev python-sip4-dev python-tk python-tz python-wxgtk2.8 python-wxversion python-yaml python2.6-dev realpath ros-cturtle-base ros-cturtle-camera-drivers ros-cturtle-common ros-cturtle-common-msgs ros-cturtle-common-tutorials ros-cturtle-diagnostics ros-cturtle-driver-common ros-cturtle-geometry ros-cturtle-geometry-tutorials ros-cturtle-image-common ros-cturtle-image-pipeline ros-cturtle-image-transport-plugins ros-cturtle-imu-drivers ros-cturtle-joystick-drivers ros-cturtle-joystick-drivers-tutorials ros-cturtle-laser-drivers ros-cturtle-laser-pipeline ros-cturtle-navigation ros-cturtle-physics-ode ros-cturtle-robot-model ros-cturtle-ros ros-cturtle-ros-comm ros-cturtle-ros-tutorials ros-cturtle-roslisp-support ros-cturtle-rx ros-cturtle-simulator-gazebo ros-cturtle-simulator-stage ros-cturtle-slam-gmapping ros-cturtle-sound-drivers ros-cturtle-vision-opencv ros-cturtle-visualization ros-cturtle-visualization-common ros-cturtle-visualization-tutorials sbcl subversion tcl8.5 tex-common texlive-base texlive-binaries texlive-common texlive-doc-base texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base texlive-latex-base-doc texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-luatex texlive-pictures texlive-pictures-doc texlive-pstricks texlive-pstricks-doc tipa tk8.5 ttf-lyx uuid-dev wx2.8-headers x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev zlib1g-dev 0 upgraded, 344 newly installed, 0 to remove and 5 not upgraded. Need to get 927MB/1,650MB of archives. After this operation, 4,674MB of additional disk space will be used. Do you want to continue [Y/n]?
жмём Y и отправляемся спать или пить цистерны кофе.
Уффф через N-цать часов (в зависимости от скорости вашего интернета) — пакеты закачались и установились
Установленную программу нужно искать в каталоге /opt
Там, соответственно, появится директория ros:
/opt/ros
$ cd /opt/ros/cturtle/
модули(стеки) ROS находятся в директории stacks
, например, стек библиотеки OpenCV — vision_opencv
используемая версия библитеки — 2.1
Но с этим будем разбираться позднее.
5. Завершающий штрих установки — это настройка переменных окружения. Для того чтобы переменные окружения устанавливались каждый раз при начале новой сессии bash нужно выполнить команду:
echo "source /opt/ros/cturtle/setup.bash" >> ~/.bashrc . ~/.bashrc
Если же вы хотите установить переменные окружения только для текущей сессии — можно выполнить команду
source /opt/ros/cturtle/setup.bash
из setup.bash вызывается setup.sh, который прописывает переменные окружения:
ROS_ROOT=/opt/ros/cturtle/ros PYTHONPATH ROS_PACKAGE_PATH=/opt/ros/cturtle/stacks ROS_MASTER_URI=http://localhost:11311
добавляет $/bin в $PATH
проверить текущее значение переменных окружения можно очень просто:
$ echo $ROS_ROOT /opt/ros/cturtle/ros
Обратите внимание, что переменные окружения устанавливаются для текущего пользователя и для другого пользователя данную команду нужно повторить.
Остаётся проверить, что всё установило нормально — для этого можно выполнить команду:
$ roscore . logging to /home/noonv/.ros/log/8475245a-3845-11e0-93cf-0800279d16a6/roslaunch-noonv-2280.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage isостановить выполнение можно нажав Ctrl+C.
roscore - набор узлов и программ составляющих базу ROSИтак, базовая версия ROS установилась и даже совсем не сложно!
Теперь пора познакомиться - что же мы установили?