roboforum.ru

Технический форум по робототехнике.

Player/Stage/Gazebo - вопросы установки и настройки

Обсуждаем рождающиеся мысли и результаты экспериментов.

Player/Stage/Gazebo - вопросы установки и настройки

Сообщение Vooon » 18 окт 2008, 18:13

Блин, под опенсузю я пакетов не нашел, а изучать rpm spec мне не очень охото. Пробовал просто собрать - не собралось.
Для арча в AUR нашелся pkgbuild для player'а. Пока еще не пробовал собрать.

UPD:

Готовый образ диска для VirtualBox'а моей сборки (Torrent, архив в 7z) archlinux.7z.torrent
Позже будет статья в вике как самостоятельно установить систему на vbox и собрать Player/Stage/Gazebo, основные шаги на страницах 3, 4 этого топика.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Player/Stage

Сообщение Vooon » 18 окт 2008, 20:10

Такс. Плеер используя пкгбилд собрался нирмально. За что +1 контрибутору.
Теперь пойду писать пкгбилд для стейджа...

Код: Выделить всёРазвернуть
Название                 : player                                                    
Версия                   : 2.1.1-1                                                   
URL                      : http://playerstage.sf.net                                 
Лицензия                 : GPL
Группы                   : None
Предоставляет            : player
Зависит от               : None
Опциональные зависимости : None
Конфликтует с            : None
Заменяет                 : None
Размер архива           : 3453,31 K
Размер установленного    : 12140,00 K
Сборщик                  : Unknown Packager
Архитектура              : i686
Дата сборки              : Сбт 18 Окт 2008 20:05:44
Установочный скрипт      : No
Description    : Robotic systems environment
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Player/Stage

Сообщение Vooon » 18 окт 2008, 21:40

Сделал PKGBUILD для Stage.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Player/Stage

Сообщение =DeaD= » 18 окт 2008, 22:32

2Vooon: А можешь сделать Tutorial - как под виндой поставить виртуальную машинку, под ней загнать какой-нить дистрибутив линукса или BSD и под ним запустить этого Player'а или Stage? Виртуальную машину с линуксом наверное можно для кучи целей юзать, поэтому наверное можно в отдельной ветке. Кстати если одновременно 2 операционки живы - они как девайсы делят? Скажем веб-камера под линуксом виртуальным будет жить?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Player/Stage

Сообщение Vooon » 18 окт 2008, 23:19

Понятия не имею что там будет жить под вирт. машиной, но поэкспериментирую с виртуалбоксом.
Ставить буду арч, т.к. для него я уже есть спеки сборки пакетов Player/Stage.

А вот нахал gazebo пока не собирается, вот что пишет:
Код: Выделить всёРазвернуть
g++ -o server/rendering/OgreCreator.o -c -ggdb -g2 -Wall -Wno-deprecated -mmmx -msse -msse2 -march=i686 -mtune=generic -O2 -pipe -DOGRE_GUI_gtk -DOGRE_CONFIG_LITTLE_ENDIAN -DdSINGLE -D_THREAD_SAFE -D_REENTRANT -I. -Iserver -Iserver/models -Iserver/gui -Iserver/gui/fltk -Ilibgazebo -Iserver/rendering -Iserver/sensors -Iserver/sensors/camera -Iserver/sensors/ray -Iserver/physics -Iserver/physics/ode -Iserver/controllers -Iserver/controllers/position2d -Iserver/controllers/position2d/pioneer2dx -I/usr/include/OGRE -I/usr/include/libxml2 -I/usr/include -I/usr/include/freetype2 server/rendering/OgreCreator.cc
server/rendering/OgreCreator.cc: In static member function 'static void gazebo::OgreCreator::DrawGrid()':
server/rendering/OgreCreator.cc:460: error: cannot allocate an object of abstract type 'MovableText'
server/rendering/MovableText.hh:36: note:   because the following virtual functions are pure within 'MovableText':
/usr/include/OGRE/OgreMovableObject.h:485: note:        virtual void Ogre::MovableObject::visitRenderables(Ogre::Renderable::Visitor*, bool)
server/rendering/OgreCreator.cc:508: error: cannot allocate an object of abstract type 'MovableText'
server/rendering/MovableText.hh:36: note:   since type 'MovableText' has pure virtual functions
scons: *** [server/rendering/OgreCreator.o] Error 1
scons: building terminated because of errors.
zsh: exit 2     scons prefix=/usr


Ах да, что меня больше всего порадовало, так это разная система сборки у каждой программы.
  • Player - autotools
  • Stage - cmake
  • Gazebo - scons
:crazy:
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Player/Stage

Сообщение boez » 18 окт 2008, 23:39

Ну думаю что про Gazebo тоже можно писать сюда. Я до сборки Player/Stage пока не дошел, поскольку очень хочется именно Gazebo, начал с него. Пытался собрать под разными (но постоянно под какими-то левыми) платформами. Поэтому пока ничего не получается. Были испробованы платформы: msys, cygwin, ubuntu под virtualbox. Под мсис там что-то пошло совсем плохо, щас уже не помню. Под cygwin не собрался ogre 3d. Попытка собрать газебо с виндовой версией огра тоже не удалась, хотя наверное при должном упорстве этот вариант (или собственая сборка огра под цыгвин - на сайте написано что это возможно) может привести к успеху, просто некогда было. Помню что там вылазила какая-то ерунда с сигналами и еще оно постоянно пыталось инклудить линуховые варианты функций огра вместо виндовых.

А вот в убунту под виртуалкой все собралось, процесс достаточно прямолинейный - запускается сборка газебо, она ругается на нехватку чего-то, доставляется это что-то и снова запускается сборка. Ну собсно первое на что он ругается - это Ogre3D, огра нужно обязательно брать 1.4.х, а не последний 1.6- бо там были изменения, из-за которых газебо перестал собираться. Огру самому нужно кучу всего - но это все есть в репозитории убунты готовое. Так что на каждое ругательство при сборке огра отвечаем apt-get install то-на-что-он-ругался и все ОК. Потом после огра (или перед ним - не помню) ODE (Open Dynamics Engine) еще надо собрать и поставить. Ну и потом собрать сам газебо. Думаю если проделать все это на нормальном линухе - то должно заработать. А под этой дурной виртуалкой оказалось не работает OpenGL - причем не просто не работает, а выпадает с Segmentation Fault. Причем и на экране виртуалки, и по сети через Х-сервер виндовый (Xming).

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

Добавлено спустя 5 минут 51 секунду:
Vooon писал(а):Понятия не имею что там будет жить под вирт. машиной, но поэкспериментирую с виртуалбоксом.
Ставить буду арч, т.к. для него я уже есть спеки сборки пакетов Player/Stage.

А вот нахал gazebo пока не собирается,...

Ах да, что меня больше всего порадовало, так это разная система сборки у каждой программы.
  • Player - autotools
  • Stage - cmake
  • Gazebo - scons
:crazy:


Welcome to the world of software freedom :)

Про газебу - это однозначно проблемы версии огра, там 2 или 3 несоответствия есть, в принципе если очень хочется - могу написать как устранять или могу сгенерить патч для газебы чтоб собиралось с огром 1.6. Хотя не уверен в правильности моих коррекций, так что рекомендую все же огра 1.4.не_помню, с их же сайта - собирается газебо бегом.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Player/Stage

Сообщение Vooon » 18 окт 2008, 23:40

Хороше что сказали что 1.4.х нужен, т.к. об этом я не предполагал и поставил:
Код: Выделить всёРазвернуть
aur/ogre 1.6.0rc1-1 [installed]
    A scene-oriented, flexible 3D engine written in C++
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Player/Stage

Сообщение boez » 18 окт 2008, 23:45

=DeaD= писал(а):2Vooon: А можешь сделать Tutorial - как под виндой поставить виртуальную машинку, под ней загнать какой-нить дистрибутив линукса или BSD и под ним запустить этого Player'а или Stage? Виртуальную машину с линуксом наверное можно для кучи целей юзать, поэтому наверное можно в отдельной ветке. Кстати если одновременно 2 операционки живы - они как девайсы делят? Скажем веб-камера под линуксом виртуальным будет жить?


В виртуалбоксе есть интерфейс, позволяющий разруливать - какие усб девайсы он у винды отберет. По умолчанию - никаких.

А также есть виртуальные сетки, в винду ставится дополнительная "виртуальная" сетевуха и винда с виртуальной машиной соединяются как бы отдельным виртуальным кабелем - это нужно если хочется в линух заходить с винды по ssh (текстовый терминал) или X (графика). После чего все это настраивается точно так же как обычная сетка комп-комп. Есть там и более простой вариант, с расшариванием адреса основой системы (винды) - но он не позволяет входящих соединений к виртуальной машине.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Player/Stage

Сообщение =DeaD= » 18 окт 2008, 23:50

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

По хорошему надо сделать темы:
1. Общее описание Player/Stage;
2. Порядок установки виртуальной машины и линукса на неё;
3. Порядок установки Player/Stage/Gazebo под линуксом;
4 (если останется время и будет нужда). Порядок установки реального линукса.

Что скажете?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Player/Stage

Сообщение boez » 19 окт 2008, 00:08

=DeaD= писал(а):А можно я отделю по поводу установки этого софта тему? А то тут намечается много работы, а я хотел бы еще общеобразовательную ветку сделать по этой системе, чтобы можно было про концепцию почитать, ознакомиться? А если вперемешку сообщения кидать - застрелимся потом разбирать.

По хорошему надо сделать темы:
1. Общее описание Player/Stage;
2. Порядок установки виртуальной машины и линукса на неё;
3. Порядок установки Player/Stage/Gazebo под линуксом;
4 (если останется время и будет нужда). Порядок установки реального линукса.

Что скажете?


Я вот думаю что темы 2 и 4 можно как-то очень кратенько осветить в теме 3, например в виде ссылок куда-нибудь на руководства в инете - думаю таких должно быть полно. А вот тема 3 по поводу сборки/установки Player/Stage/Gazebo и проблем с этой затеей связанных думаю нужна, отдельно от темы по использованию.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Вопросы установки и настройки Player/Stage/Gazebo

Сообщение =DeaD= » 19 окт 2008, 00:35

Ок, будем тогда считать, что в эту тему выделены вопросы 2-3-4 :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Player/Stage/Gazebo - вопросы установки и настройки

Сообщение Vooon » 19 окт 2008, 03:04

Откатил ogre до 1.4.9.
Но все равно без патча не обошлось :)

Код: Выделить всёРазвернуть
--- server/gui/StatusBar.cc.orig        2008-08-22 23:02:17.000000000 +0400
+++ server/gui/StatusBar.cc     2008-10-19 01:10:40.000000000 +0400
@@ -25,6 +25,7 @@
  */

#include <stdio.h>
+#include <string.h>
#include <FL/Fl_Value_Output.H>
#include <FL/Fl_Output.H>
#include <FL/Fl_Button.H>


С ним собралось.
Осталось вспомнить что в PKGBUILD пишут в таких случаях :)

(хе, здесь еще не поддерживается diff подсветкой)

Добавлено спустя 1 час 40 минут 44 секунды:
Вобщем долго и нудно собирал эту газебу, то ей не понравился слишком новый огр, собирай старый...
А собравшись она мне вот что выкинула:
Код: Выделить всёРазвернуть
vovan@vovan-pc:~/local/build/gazebo/src/gazebo-0.8-pre3/worlds$ gazebo test.world
Gazebo multi-robot simulator, version 0.8-pre3

Part of the Player/Stage Project [http://playerstage.sourceforge.net].
Copyright (C) 2003 Nate Koenig, Andrew Howard, and contributors.
Released under the GNU General Public License.

[server/GazeboConfig.cc:84]
  Gazebo Path[/usr/local/share/gazebo]
[server/GazeboConfig.cc:92]
  Ogre Path[/usr/lib/OGRE]
terminate called after throwing an instance of 'Ogre::InvalidParametersException'
  what():  OGRE EXCEPTION(2:InvalidParametersException): Sky dome material 'Gazebo/CloudySky' not found. in SceneManager::setSkyDome at OgreSceneManager.cpp (line 1547)
zsh: abort (core dumped)  gazebo test.world


Собирающийся пкгбилд выложил http://aur.archlinux.org/packages.php?ID=20839 .
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Player/Stage/Gazebo - вопросы установки и настройки

Сообщение =DeaD= » 19 окт 2008, 09:56

2Vooon: Я правильно понимаю что ты сейчас собираешь пакет для сборки этого софта под конкретный линух, под тот под который такого пакета еще нет, но который у тебя установлен и в котором ты разбираешься - так? Если так - не будет ли проще освоить версию линуха под который сборка этого пакета предусмотрена изначально? Или там всё просто и никаких непреодолимых трудностей не бывает на таком пути?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Player/Stage/Gazebo - вопросы установки и настройки

Сообщение boez » 19 окт 2008, 12:59

Для просветления в теме gazebo есть смысл читать его мейллист, вот архив:

http://sourceforge.net/mailarchive/foru ... age-gazebo

И похоже мое первое впечатление насчет того что продукт малость заброшен - неверно. Идет там девелопмент, к примеру SVN версия газебы уже перешла на огр 1.6, так что следующий релиз навреняка будет заточен под 1.6 (кстати это означает что он не будет собираться с 1.4 - на это в листе уже жалуются).
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Player/Stage/Gazebo - вопросы установки и настройки

Сообщение Vooon » 19 окт 2008, 16:35

Тогда нужно будет потом наверное сделать пакет gazebo-svn.
Сейчас разбираюсь что сия ошибка значит.

Готовые пакеты я видел только для дебиана и генту, старые (плеер версии 1.6).
А пишу я для того дистра, которым сам пользуюсь, к тому же у него написать инструкции для сборки ИМХО проще всего.

Добавлено спустя 21 минуту 46 секунд:
Так, кажется проблема в том, что я не обратил внимание на
Код: Выделить всёРазвернуть
Gazebo Path[/usr/local/share/gazebo]


В арче ни что в /usr/local не ставится, все в /usr.
Но интересно почему же газебо ищет там, ведь собирался он с указанием prefix=/usr.

Код: Выделить всёРазвернуть
  scons prefix=/usr destdir="$startdir/pkg" install || return 1

  # workaround "scons: *** [install] /usr/share/gazebo/Media: Is a directory"
  mkdir "$startdir/pkg/usr/share"
  mkdir "$startdir/pkg/usr/share/$pkgname"
  cp -R ./Media "$startdir/pkg/usr/share/$pkgname"
  cp -R ./worlds "$startdir/pkg/usr/share/$pkgname"
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33