Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Лекция 8. Введение в ROS, базовые концепции, первый запуск

Лекция 8. Введение в ROS, базовые концепции, первый запуск

1. Зачем роботам операционная система?
2. Что такое ROS?
3. Место ROS в программировании роботов
4. История создания и существующие дистрибутивы ROS
5. Установка ROS
a. ROS из контейнера
6. Первый запуск ROS
a. source...
b. roscore
b.1. rosmaster
b.2. Parameter Server
b.3. rosout
7. Демонстрация запуска готовых модулей на примере модуля turtlesim

Oleg Shipitko

April 14, 2020
Tweet

More Decks by Oleg Shipitko

Other Decks in Science

Transcript

  1. ROS 2 Почему ROS 2? ❏ ❏ ❏ ❏ ❏

    ❏ ❏ ❏ ❏ ❏ ❏ https://design.ros2.org/articles/why_ros2.html
  2. УСТАНОВКА ROS https://www.ros.org/ http://wiki.ros.org/melodic/Installation/Ubuntu 1. 2. 3. ❏ Desktop-Full Install:

    ❏ $ sudo apt install ros-<имя дистрибутива>-desktop-full ❏ Desktop Install: ❏ $ sudo apt install ros-<имя дистрибутива>-desktop ❏ ROS-Base: ❏ $ sudo apt install ros-<имя дистрибутива>-base ❏ Отдельный пакет ❏ $ sudo apt install ros-<имя дистрибутива>-<имя пакета>
  3. ЗАПУСК DOCKER КОНТЕЙНЕРА С ROS http://wiki.ros.org/docker/Tutorials/Docker https://hub.docker.com/_/ros 1. Создаем Dockerfile

    2. Создаем образ ❏ $ docker build --tag <имя образа> . 3. Запускаем контейнер ❏ $ docker run -it <имя образа> Чтобы получить доступ к экрану из контейнера $ docker run -e DISPLAY=unix$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -it <имя образа> ❏ No protocol specified Error: cannot open display: unix:0.0 ❏ $ xhost +local:
  4. SOURCE A.K.A СТРАШНЫЙ СОН НОВИЧКА ❏ каждым $ source /opt/ros/<имя

    дистрибутива>/setup.bash ❏ $ source … ❏ ❏ $ echo "source /opt/ros/<имя дистрибутива>/setup.bash" >> ~/.bashrc
  5. ЗАПУСК ROSCORE roscore Roscore Roscore ❏ $ roscore master ❏

    $ roscore -p 1234 roscore ❏ rosmaster ❏ Parameter Server ❏ rosout roscore roslaunch roscore roscore roslaunch/roscore.xml внимание http://wiki.ros.org/roscore
  6. ROS MASTER ❏ ❏ Parameter Server http://wiki.ros.org/Master ROS master Локализа

    ция Планиро вание пути ROS master Локализа ция Планиро вание пути ROS master Локализа ция Планиро вание пути Данные (положение робота)
  7. PARAMETER SERVER Parameter Server rosmaster http://wiki.ros.org/Parameter%20Server /camera/left/name: leftcamera /camera/left/exposure: 1

    /camera/right/name: rightcamera /camera/right/exposure: 1.1 Параметры на сервере: name: leftcamera exposure: 1 Запрос: /camera/left Ответ: left: { name: leftcamera, exposure: 1 } right: { name: rightcamera, exposure: 1.1 } Запрос: /camera Ответ: leftcamera Запрос: /camera/left/name Ответ:
  8. PARAMETER SERVER Parameter Server ❏ ❏ ❏ ❏ ❏ ❏

    ❏ roscpp rospy rosparam http://wiki.ros.org/Parameter%20Server
  9. ROSOUT rosout Нод rosout Топик /rosout Топик /rosout_agg Тип сообщения

    rosgraph_msgs/Log API клиентских библиотек http://wiki.ros.org/rosout
  10. ROS “HELLO (TURTLE) WORLD!” ❏ $ source /opt/ros/<дистрибутив>/setup.bash ❏ roscore

    $ roscore & ❏ turtlesim_node turtlesim $ rosrun turtlesim turtlesim_node ❏ ROS граф $ rqt_graph ❏ turtle_teleop_key $ rosrun turtlesim turtle_teleop_key ❏ ROS граф http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes
  11. ROS “HELLO (TURTLE) WORLD!” ❏ $ rostopic list $ rosnode

    list ❏ /turtle1/pose $ rostopic info /turtle1/pose $ rosmsg info turtlesim/Pose ❏ /turtle1/pose $ rostopic echo /turtle1/pose http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes