В предыдущем посте я рассказывал о том, как установить систему Ubilinux на Intel Edison. Нужна она мне для того, чтобы появилась возможность использования ROS (Robotic Operation System). От этой системы мне также понадобятся следующие функции, которые не входят в стандартный набор:
- взаимодействие посредством последовательного порта с Arduino Mega
- получение изображения с USB-камеры с использованием OpenCV
- получение команд с геймпада (XBox или DualShock)
- создание собственных типов сообщений
Устанговка OpenCV.
Первым делом установим GIT:
1 |
sudo apt-get -y install git |
Предварительно установим поддержку компресси веб-камеры:
1 |
sudo apt-get install v4l-utils libv4l-dev |
А затем и сам OpenCV.
1 2 3 4 5 6 7 8 9 10 |
mkdir ~/opencv git clone https://github.com/Itseez/opencv.git cd ~/opencv mkdir ~/opencv/build cd ~/opencv/build cmake -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_LIBV4L=ON -D WITH_V4L=ON -D CMAKE_INSTALL_PREFIX=/usr/local .. make j-2 sudo make install sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' sudo ldconfig |
Я также удалил папку git, т.к. она занимает большой объём дискового пространства.
Установка ROS.
Сначала устанавливаем репозитории ROS:
1 2 |
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu wheezy main" > /etc/apt/sources.list.d/ros-latest.list' wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add - |
Убеждаемся, что репозитории обновлены:
1 2 |
sudo apt-get -y update sudo apt-get -y upgrade |
Устанавливаем необходимые пакеты Bootstrap зависимости:
1 2 |
sudo apt-get install python-pip python-setuptools python-yaml python-argparse python-distribute python-docutils python-dateutil python-six libeigen3-dev libcppunit-dev python-sip-dev python-serial sudo pip install rosdep rosinstall_generator wstool rosinstall |
Инициализируем rosdep:
1 2 |
sudo rosdep init rosdep update |
Установка
Создаём catkin Workspace
1 2 |
mkdir ~/ros_catkin_ws cd ~/ros_catkin_ws |
Теперь с помощью wstool получаем ros. Не забываем добавить ros_control и joystick_drivers для поддержки контроллеров, а также cv_bridge и image_transport для получения и передачи изображения с камеры.
1 |
rosinstall_generator ros_comm cv_bridge image_transport ros_control joystick_drivers --rosdistro jade --deps --wet-only --exclude roslisp --tar > jade-ros_comm-wet.rosinstall |
Далее инициализируем wstool
1 |
wstool init src jade-ros_comm-wet.rosinstall |
Устанавливаем cmake и обновляем sourcer.list
1 2 3 4 5 |
mkdir ~/ros_catkin_ws/external_src sudo apt-get -y install checkinstall cmake sudo sh -c 'echo "deb-src http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi" >> /etc/apt/sources.list' sudo sh -c 'echo "deb http://http.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list' sudo apt-get -y update |
Если ошибка, то перейти в режим SU и ввести
1 2 |
gpg --keyserver keys.gnupg.net --recv-key 9165938D90FDDD2E gpg -a --export 9165938D90FDDD2E | apt-key add - |
Установка console bridge
1 2 3 4 |
cd ~/ros_catkin_ws/external_src sudo apt-get -y build-dep console-bridge apt-get -y source -b console-bridge sudo dpkg -i libconsole-bridge0.2v5_*.deb libconsole-bridge-dev_*.deb |
Установка liblz4b-dev
1 |
sudo apt-get -y install liblz4-dev |
liburdfdom-headers-dev
1 2 3 |
cd ~/ros_catkin_ws/external_src sudo apt-get -y source -b liburdfdom-headers-dev sudo dpkg -i liburdfdom-headers-dev_*.deb |
liburdfdom-dev
1 2 3 4 5 |
sudo apt-get install libboost-dev libboost-system-dev libboost-thread-dev python-mock cd ~/ros_catkin_ws/external_src sudo apt-get -y install libboost-test-dev libtinyxml-dev sudo apt-get -y source -b liburdfdom-dev sudo dpkg -i liburdfdom*.deb |
Установка ROSDEP
1 2 |
cd ~/ros_catkin_ws rosdep install --from-paths src --ignore-src --rosdistro jade -y -r --os=debian:wheezy |
1 2 3 |
cd ~/ros_catkin_ws/src rm -r common_msgs git clone https://github.com/ros/common_msgs.git |
1 |
cd ~/ros_catkin_ws/src |
1 2 |
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /home/ros/jade sudo ln -sf /home/ros /opt/ |
1 2 |
echo "source /home/ros/jade/setup.bash" >> ~/.profile source ~/.profile |
1 2 |
echo "source ~/ros_catkin_ws/devel_isolated/setup.bash" >> ~/.bashrc source ~/.bashrc |
1 |
cd ~/ros_catkin_ws |