Мне нравится создавать робота, на котором есть компьютер на базе ARM (например, raspberry pi) и ОС Linux. Мне нравится, когда пользователь включает робота, робот запускает его специальную программу (которую я написал на языке C), а не запускает Linux общего назначения для настольных компьютеров!

Например, когда робот включается, он показывает «Привет!"на дисплее, говорит привет пользователю, двигает руками и т. д. (я имею в виду, что запускает только мою программу)

Как я могу это сделать?

2 ответа2

1

ROS (Robot Operating System) - это набор программных библиотек и инструментов, которые помогают разработчикам создавать приложения для роботов из другой операционной системы, такой как Ubuntu. ROS предоставляет аппаратную абстракцию, драйверы устройств, библиотеки, визуализаторы, передачу сообщений, управление пакетами и многое другое.

В мае каждый год выходит релиз ROS. Каждый выпуск ROS будет поддерживаться только на одном Ubuntu LTS. Выпуски ROS прекратят поддержку дистрибутивов EOL (End Of Life) Ubuntu, даже если выпуск ROS все еще поддерживается. Релиз ROS Kinetic в настоящее время поддерживается только в Ubuntu 16.04.

Вам необходимо установить полный рабочий стол Ubuntu на компьютер, на котором вы разрабатываете, а на компьютере на базе ARM (Raspberry Pi) вы должны установить гораздо меньшую операционную систему, такую как Ubuntu Core. Для Raspberry Pi 2 и Raspberry Pi 3 доступны официальные сборки Ubuntu Core.


Кинетическая установка ROS в Ubuntu 16.04

  1. Сконфигурируйте свои репозитории Ubuntu, чтобы разрешить "ограниченный", "вселенная" и "мультивселенная".

  2. Запустите эти команды:

    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 0xB01FA116  
    sudo apt update  
    
  3. Выберите одну из четырех конфигураций ROS по умолчанию.

    sudo apt install ros-kinetic-desktop-full # full desktop
    sudo apt install ros-kinetic-desktop # desktop install
    sudo apt install ros-kinetic-ros-base # no GUI
    sudo apt install ros-kinetic-PACKAGE # individual package installation
    

    Чтобы найти доступные пакеты, используйте: apt-cache search ros-kinetic а затем замените PACKAGE в ros-kinetic-PACKAGE одним из доступных пакетов, найденных с помощью apt-cache search ros-kinetic

  4. Инициализировать rosdep . rosdep позволяет вам легко устанавливать системные зависимости для источника, который вы хотите скомпилировать, и необходим для запуска некоторых основных компонентов в ROS.

    sudo rosdep init
    rosdep update  
    
  5. Настройка среды

    echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc  
    source ~/.bashrc  
    
  6. Получить rosinstall . rosinstall позволяет вам легко загружать множество деревьев исходных кодов для пакетов ROS с помощью одной команды.

    sudo apt install python-rosinstall  
    
  7. Чтобы проверить вашу установку, посетите официальные учебники ROS .


ROS Мелодическая установка в Ubuntu 18.04

  1. Сконфигурируйте свои репозитории Ubuntu, чтобы разрешить "ограниченный", "вселенная" и "мультивселенная".

  2. Запустите эти команды:

    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 421C365BD9FF1F717815A3895523BAEEB01FA116
    sudo apt update  
    
  3. Выберите одну из четырех конфигураций ROS по умолчанию.

    sudo apt install ros-melodic-desktop-full # full desktop
    sudo apt install ros-melodic-desktop # desktop install
    sudo apt install ros-melodic-ros-base # no GUI
    sudo apt install ros-melodic-PACKAGE # individual package installation
    

    Чтобы найти доступные пакеты, используйте: apt-cache search ros-melodic а затем замените PACKAGE в ros-melodic-PACKAGE одним из доступных пакетов, найденных apt-cache search ros-melodic

  4. Инициализировать rosdep . rosdep позволяет вам легко устанавливать системные зависимости для источника, который вы хотите скомпилировать, и необходим для запуска некоторых основных компонентов в ROS.

    sudo rosdep init
    rosdep update  
    
  5. Настройка среды

    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc  
    source ~/.bashrc  
    
  6. Получить rosinstall . rosinstall позволяет вам легко загружать множество деревьев исходных кодов для пакетов ROS с помощью одной команды.

    sudo apt install python-rosinstall-generator python-wstool build-essential  
    
  7. Чтобы проверить вашу установку, посетите официальные учебники ROS .

Источник: Ubuntu установка ROS Kinetic, Ubuntu установка ROS Melodic

0

Если вам просто нужна легкая операционная система на Raspberry Pi (без окружения рабочего стола), просто используйте "Raspbian Jessie Lite" вместо полной.

Если вы достаточно уверены в своих навыках программирования и вам ничего не нужно из операционной системы и вы можете покрыть все свои потребности в одной написанной вами программе, то вы можете заменить первую программу, которая запускается ядром Linux, изменив строку инициализации GRUB init=/path/to/init_program (убедитесь, что вы прочитали инициализацию системы)

Если вы просто хотите (я думаю, это именно то, что вы хотите), просто скажите операционной системе, чтобы она автоматически запускала вашу программу на Raspberry Pi, затем создайте или отредактируйте свой rc.local

   sudo nano /etc/rc.local

и добавьте свою программу туда. (убедитесь, что вы прочитали все в официальной документации, как это сделать правильно https://www.raspberrypi.org/documentation/linux/usage/rc-local.md)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .