Образ Docker ROS непригоден для использования? - PullRequest
1 голос
/ 04 августа 2020

Итак, я вытащил контейнер ros из docker хаба, используя

docker pull ros

, который дал мне последнюю версию docker 'foxy'.

Я продолжил с учебник по запуску docker контейнера ROS. Я смог успешно запустить контейнер и подключиться к нему. Это небольшой небольшой учебник. Ничего длинного и сложного.

Предпоследний шаг в этом руководстве запрашивает источник gthe setup. bash файл, который я сделал и не получил ошибок. (На самом деле вообще ничего. Ни успеха, ни неудач не было).

source /opt/ros/<distro>/setup.bash

И после этого, чтобы вкусить сладкий плод моего тяжелого труда, я ввел последнюю команду (как упоминалось в руководстве),

rostopic list

, который, к моему удивлению, вернул ,

rostopi c команда не найдена

Затем я приступил к введите в терминале roscore, roscd, et c и ни один из них не работал. Все они не были найдены.

Я пытался просто запустить этот сценарий установки сам с терминала, не используя source, например:

$ /opt/ros/foxy/setup.bash

(после изменения разрешений конечно), что мало изменило ситуацию.

Я заглянул на страницу docker для ros и не нашел там ничего полезного. Там множество инструкций о том, как создать свой собственный образ docker для ROS, но я думаю, что это не то, что я хочу делать прямо сейчас.

Я погуглил, и результаты на первой странице были:

  1. this (исходное руководство, которому я все равно следую),
  2. this (что-то общее о docker) и
  3. это (о том, как запускать GUI с Docker - пока честно говоря, не было),

что вызывает вопрос, что хорошего в контейнере если мне все равно придется все установить самому, следуя их другому руководству?

Или я что-то здесь не понимаю? Если бы кто-то мог пролить свет на это, был бы очень признателен.

1 Ответ

1 голос
/ 10 августа 2020

В вашем контейнере стоит ROS2, а не ROS1. Попробуйте

ros2 topic list

. Если вы хотите получить версию ROS1, попробуйте вместо этого получить и запустить другое изображение:

docker pull ros:noetic-robot
docker run ros:noetic-robot

Context

Учебное пособие, которому вы следуете когда-то было написано go, когда контейнер по умолчанию использовал ROS1. Новый контейнер latest использует ROS2 (в вашем случае Foxy). У ROS2 разные имена команд. rostopic не работает, и нет даже мастера, поэтому roscore не имеет смысла!

Хорошая новость в том, что обучающая страница - это вики, поэтому я уже обновил ее чтобы было (хоть чуть-чуть) понятнее. Если у вас есть идеи, как его улучшить, вы также можете создать учетную запись и сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...