MS Robotics Studio - вопросы установки и настройки

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 03 дек 2008, 00:32

SMT писал(а):поздравляю :beer: ты в начале большого, но веселого пути!

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение blindman » 03 дек 2008, 02:56

А что неясного то? Это тебе недвусмысленно сообщается, что Свердловская область захвачена :ROFL:
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение SMT » 03 дек 2008, 08:58

=DeaD= писал(а):Только не вкурил откуда "This is my State!" берётся, в исходном проекте такого вроде нету?


<?xml version="1.0" encoding="utf-8" ?>
- <ServiceTutorial1State xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:d="http://schemas.microsoft.com/xw/2004/10/dssp.html" xmlns="http://schemas.tempuri.org/2006/06/servicetutorial1.html">
<Member>This is my State!</Member>
</ServiceTutorial1State>

Код: Выделить всё
private string _member = "This is my State!";
[DataMember]
public string Member
{
    get { return _member; }
    set { _member = value; }
}

выдержка из "Service Tutorial 1 (C#) - Creating a Service"
Атрибут DataContract определяет, что класс ServiceTutorial1State является XML-сериализуемым (кто не знает о сериализации - см.ниже). Вместе с тем, что тип (класс) отмечен атрибутом DataContract, требуется обязательно отметить отдельные свойства и поля класса как XML-сериализуемые используя атрибут DataMember. Только публичные свойства и поля класса объявленные с таким атрибутом будут сериализоваться. Также, для того, чтобы разрешить сериализациюсвойств класса, для них должны быть реализованы оба - set и get методы.


Сериализация - это способ передать состояние экземпляра класса по каналу связи (например - http) или сохранить его на диске. Затем такой экземпляр можно восстановить. Фактически это сделано так (например XML-сериализация): значения всех разрешенных для сериализации свойств и поля класса экземпляра, который нужно сохранить или передать, записываются в текстовом виде в файл или поток между текстовыми-же метками.
В примере наверху значение "This is my State!" свойства Member сохраняется в текст "<Member>This is my State!</Member>". Для нестроковых типов - производится конвертация - например, бинарное (boolean) true конвертируется в строку "True".
Также в файле (или потоке) присутствует информация о самом типе (классе), которая позволяет при получении/восстановлении полученных сериализованных данных:
создать новый экземпляр такого типа (класса), а затем его свойствам и полям, указанным в полученном xml файле/потоке присвоить значения, взятые от-туда же. Числовые, логические (boolean) и прочие типы, отличные от строкового - конвертируются назад.
Так программы (и сервисы) могут обмениваться экземплярами сложных типов данных.
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 03 дек 2008, 09:24

2blindman: Чорт, и правда! :ROFL: :crazy:

2SMT: Погоди, мы же только что с нуля якобы создали новый сервис с названием "ServiceTutorial1", никаких буков в него не вводили:
Step 1: Create a Service
Begin by creating a new service.

Open the Start menu and choose the DSS Command Prompt command. If the command does not appear in the Start menu, choose All Programs, Microsoft Robotics Developer Studio, and then DSS Command Prompt. This opens a special Command Prompt window in the root directory of the installation path.

Change to the Samples directory and run the DssNewService tool using the parameters shown in the sample below to create your first service. Then change to the ServiceTutorial1 (ServiceTutorial<Number One>) directory. This procedure automatically creates a template to help you get started.

Console
cd Samples
dssnewservice /namespace:Robotics /service:ServiceTutorial1
cd ServiceTutorial1
At this time, a Microsoft Visual Studio solution named ServiceTutorial1.sln is created in ServiceTutorial1 directory. Load this solution using your C# editor.

Console
start ServiceTutorial1.sln
Next, build the solution. In Visual Studio you can build the solution by clicking Build menu and then choosing Build Solution (or pressing F6). You can also compile from the DSS Command Prompt:

Console
msbuild ServiceTutorial1.sln


Откуда взялась строка "This is my State!" ? :)

Или каждый новый сервис созданный с помощью dss содержит такую строку?

Такое ощущение, что запустился не мой сервис, а тот который там где-то в примерах лежит с тем же названием "ServiceTutorial1".

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение SMT » 03 дек 2008, 10:20

возможно в сэмплах действительно лежит готовый сервис - я создавал сразу свой и со свом имением и namespace-ом, чтобы небыло шанса что-то пропустить мимо :o
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 04 дек 2008, 00:18

Так, в общем если свой сервис создавать (XServiceTutorial1), то вот чего видно по адресу http://localhost:50000/XServiceTutorial1

Добавлено спустя 33 секунды:
Короче я в шоке от мелкософта :)

Добавлено спустя 1 минуту 8 секунд:
Это нифига не похоже на
An XML serialization (representation) of the newly created service, ServiceTutorial1State encapsulated in a SOAP envelope appears in the browser window.


Добавлено спустя 2 минуты 13 секунд:
А нужный нам XML лежит по адресу "http://localhost:50000/xservicetutorial1/7964c7d3-fe26-45c3-99f1-b4a6b2e3edd6",
который можно узнать тыкнув по XML-иконке нашего сервиса:
Код: Выделить всё
<s:Envelope>

<s:Header>
<wsa:To>http://127.0.0.1:2826/</wsa:To>

<wsa:Action>
http://schemas.microsoft.com/xw/2004/10/dssp.html:GetResponse
</wsa:Action>

<d:Timestamp>
<d:Value>2008-12-03T17:55:50.270625Z</d:Value>
</d:Timestamp>
<wsa:RelatesTo>uuid:ec836548-acaf-4bce-8a42-01bf36f88794</wsa:RelatesTo>
</s:Header>

<s:Body>
<XServiceTutorial1State/>
</s:Body>
</s:Envelope>


Добавлено спустя 2 часа 22 минуты 48 секунд:
Step 3: Support HTTP GET - пройден без проблем, учитывая что теперь-то мы знаем где смотреть наш XML :)

Step 4: Using Control Panel
Step 5: Stop the Service
тут тоже никаких затруднений.

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение SMT » 04 дек 2008, 00:49

если посмотреть на исходник страницы на скриншоте - можно увидеть xml, в первой строчке которого
<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="/resources/dss/Microsoft.Dss.Services.Common.DefaultTarget.DefaultTarget.xslt"?>
насколько я понимаю этот интерфейс - результат преобразования xml-потока xslt-трансформацией (принменением файла стиля Microsoft.Dss.Services.Common.DefaultTarget.DefaultTarget.xslt)
я лет 5-назад сделал подобное web-приложение с использованием этих технологий (asp и xml/xslt). Это очень удобно при необходимости обработки структурированных данных типа xml потоков.

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

еще xml сервиса можно посмотреть кликнув по линку в http://localhost:50000/controlpanel
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 05 дек 2008, 08:02

Service Tutorial 1 (C#) - Creating a Service - пройден
Service Tutorial 2 (C#) - Updating State - пройден

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 09 дек 2008, 22:38

Service Tutorial 3 (C#) - Persisting State - прочитан.
Service Tutorial 4 (C#) - Supporting Subscriptions - пройден
Service Tutorial 5 (C#) - Subscribing - пройден только с подсмотром в готовый пример, потому как из описания плохо понятно куда чего цеплять. Видимо сказывается общий низкий уровень понимания C#.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 10 дек 2008, 23:39

2SMT: Чего-то я не вкуриваю как запускается пакет - симулятор + окружение + модель робота + управляющая программа. Я так понял из VPL можно коннектиться к готовому симулятору + окружению + модели робота, а как их запускать?

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение SMT » 10 дек 2008, 23:56

в смысле "погонять" робота в симуляторе? я трайбота пробовал, только как-то до бампера не достучаться было - стукал им об конус - нифига. тогда переключился на сервисы :)
как успехи?
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 11 дек 2008, 09:17

2SMT: Ну я имею в виду под симуляцией - запустить среду симуляции со своим роботом к которой подцепить управляющую программу, чтобы она рулила там этим роботом.

Но вроде на примерах из туториала по симулятору всё ясно будет.

Кстати, вопрос такой - а зачем ты тогда делал свой симулятор, может проще для MSRS обёртку накатать? Вроде в их Express Edition не такие уж зверские ограничения, чтобы её не юзать - 64 объекта на поле для симуляции - вроде не совсем мало, врядли что-то более грандиозное самописное получится.

Ну или на крайняк делать совместимое с их платформой, так сказать свой модуль симуляции без этих ограничений, но с какими-нибудь другими?

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение SMT » 11 дек 2008, 16:32

=DeaD= писал(а):Кстати, вопрос такой - а зачем ты тогда делал свой симулятор, может проще для MSRS обёртку накатать?

мне 2 вещи показались неудобными для применения в школах/кружках (да и дома) -
1. Нужна довольно значительная мощь для запуска окружения сервисов - MSRS, студия, авторизация. Каждый запуск - это довольно продолжительная процедура для "быстрого старта" детьми. Хотя, для разработки - это все приемлимо.
2. Интерфейс и подсказки не локализованы.

в своей программе:
1. постарался сделать только самое необходимое и доступное - любой элемент сразу работает (посылает/получает сигналы, производит вычисления и т.п.), то есть "пуска" как такового не требуется.
2. Уже с консольной версии поддерживается локализация - просто указывется языковой набор терминов (сейчас - английский и русский)

Подчеркиваю - это не альтернатива MSRS - это скорее "песочница", где можно ознакомиться с принципами работы с элементами программирования роботов, попробовать свои силы, получить первый (или второй) опыт программирования роботов на более высоком уровне абстракции, чем порты контроллера и прерывания. Именно по этому делал программу похожей на VPL из MSRS. Повторюсь - если бы нашел именно такую готовую, не стал бы делать сам, хотя и интересно - предпочел-бы MSRS.
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение =DeaD= » 11 дек 2008, 16:39

2SMT: А что из этого нельзя реализовать обвязкой? Скажем разработку можно вроде сделать обвязкой правильной, а на выходе просто генерить нужный C# код и его компилить и запускать уже в MSRS?

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

Re: MS Robotics Studio - вопросы установки и настройки

Сообщение SMT » 11 дек 2008, 21:07

2SMT: А что из этого нельзя реализовать обвязкой? Скажем разработку можно вроде сделать обвязкой правильной, а на выходе просто генерить нужный C# код и его компилить и запускать уже в MSRS?

не хочется для простых совсем задач MSRS и Visual Studio устанавливать и запускать. Попробуй убедить преподавателя это дело освоить, после Logo :x
Собственно в процессе симуляции вывод всех инструментов на русском что ли нужен был критически?

для детей - чем понятнее начало, тем привлекательней. дальше они сами почти сколь угодно сложно освоят (судя по играм). Посмотри какие жаркие споры о кодировании стандартных задач в MSRS - это на одном экране моей (не законченной) программы решается :x
Вот сервы закодировать у гуманоида или фубол - это да, это в языках высокого уровня лучше наверное описывать (с OOP и рефакторингом) - для дальнейшей отработки/улучшения алгоритмов.
SMT
 
Сообщения: 1158
Зарегистрирован: 23 авг 2008, 22:28
Откуда: Санкт-Петербург
ФИО: Сергей

Пред.След.

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

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

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