Назначение и возможности пакета RDS

  1. Лекция . Назначение и возможности пакета RDS

Часть 1 - Службы

На службах основана модель программирования Decentralized Software Services (DSS). В этой части рассматривается получение доступа к службе определённого датчика.

Часть 2 - Взаимодействие служб

Урок основан на предыдущем и показывает, как использовать входные данные от простого датчика для управления службой "Мотор".

Часть 3 – Использование абстрактных многоразовых служб

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

Часть 4 – Управление роботом

В этом уроке рассматривается построение простого приложения с традиционным пользовательским интерфейсом на основе Windows Forms  для управления моторами робота.

Приступая к работе

Перед установкой RDS убедитесь, что у вас установлен Visual C#. Поддерживаются все редакции Visual Studio 2008 и 2010, включающие C#. В случае отсутствия Visual C# мастер создания новых служб установлен не будет.

Следующим шагом после установки RDS является запуск команды "Build All Samples" из стартового меню. Она скомпилирует примеры и уроки. Без этого в дальнейшем вы можете столкнуться с проблемами при выполнении заданий из уроков (все компоненты RDS в стартовом меню будут работать без этого шага, но его всё равно лучше выполнить вначале).

Первые шаги

Описание процесса начала работы в RDS зависит от того, какая операционная система вами используется, как сконфигурирована система безопасности, располагаете ли вы правами администратора системы, была ли установлена RDS на вашем компьютере раньше и т.д. Точный список шагов по активизации системы предложить невозможно, но приведенные ниже настройки в большинстве случаев приведут к успеху.

Во – первых, пакет сопровождает подробная документация. Найдите в Start Menu RDS, и выберите Documentation. Используйте также Help и в особенности Search tab, если возникнут вопросы.

Во – вторых, ознакомьтесь со Start Menu. Это особенно важно для RDS, так как там имеется большой выбор образцов для Simulation.

RDS использует DSS (Decentralized Software Services) для запуска и управления службами. Они могут быть запущены с помощью DssHost.exe или DssHost32.exe. Имеется два способа запуска DSS:

1. Запустите DSS Node чтобы проверить, что DSS может связаться с сетью.

2. Запустите web браузер чтобы подтвердить, что вы можете наблюдать сервисы, запускаемые в DSS node.

ВНИМАНИЕ: Даже если вы намерены использовать язык VPL, все равно следует проделать эти шаги. VPL запускает собственные DSS Node используя VPLHost.exe или VPLHost32.exe. Так что если вы не запустите сначала DssHost, не будет работать VPL.

 

Запуск DSS Node

После установки DSS пройдите следующие шаги:

1. Из RDS Start Menu выберите Run DSS Node. Вы увидите командную строку DSS Command Prompt (черно - белую) а также окно web браузера. В командном окне не должно быть сообщений об ошибках.
(a) Если окно появилось, значит DSS работает на вашем компьютере и можно приступать к последующим действиям.
(b) Если окно быстро мелькает и исчезает, следует изучить следующие инструкции. 

2. Команда запуска DSS Node выглядит примерно так:

"C:UsersxxxxMicrosoft Robotics Dev Studio 2008 R3binDssHost32.exe" /p:50000 /t:50001 /m:"samplesconfigUriLauncher.manifest.xml"

Эта команда использует порт 50000 для HTTP (XML) коммуникаций и порт 50001 для прямых (бинарных) TCP коммуникаций. На некоторых компьютерах один или оба эти порта используются другими сервисами. Нужно выяснить, так ли это.

Откройте окно DSS Command Prompt из RDS Start Menu. Когда окно раскроется, введите следующую команду для запуска DSS Node в ручном режиме:

dsshost /p:50000 /t:50001

Если вы сделаете ошибку при вводе параметров в командной строке, DssHost выдаст сообщение о синтаксисе строки. (Для более подробной информации обратитесь к DSS Host Tool).

Если вы пропустите оба параметра, увидите сообщение:

*** Initialization failure: A valid transport port was not specified

ВНИМАНИЕ: Вы можете отредактировать файл DssHost.exe.config в папке bin чтобы установить номера портов по умолчанию, и не делать этого из командной строки.

DssHost требует, чтобы вы использовали с номером порта опцию /p, чтобы он мог связываться с сервисами. /t опционален, но рекомендуется его использовать. Номера 50000 и 50001 используются в соответствии с документацией.

 

3. Даже если вы ввели все параметры правильно, проблемы могут остаться. Если вы используете Vista или Windows 7, может появиться User Account Control (UAC) диалог, и нужно нажать Continue. В Windows XP, Vista и Win7 установками Windows Firewall может быть предложено установить порт TCP/IP port. Следует выбрать Unblock. Обратите внимание, если вы случайно блокируете DssHost, нужно зайти в Control Panel и Windows Firewall для изменения настроек.

*** Initialization failure: Could not create TCP Listener.
The two most common causes for this are:
1) You already have another program listening on the specified port
2) You dont have permissions to listen to TCP requests.
Exception message: Only one usage of each socket
address (protocol/network address/port) is normally permitted

(Это сообщение об ошибке может появиться, если DssHost или VPL уже запущены на вашем компьютере. Закройте программы и попытайтесь снова).

Возможно, эти номера портов используются фоновыми программами. Чтобы обнаружить это, введите команду:

netstat -a -p tcp

Изучите список используемых портов. Посмотрите, не оканчиваются ли некоторые адреса в колонке Local Address на ":50000" или ":50001". Попытайтесь найти другие номера, которые не используются. Например, часто используются 40000 и 40001.

Сделайте новую попытку с этими номерами.
(a) Если все удалось, переходите к следующему разделу.
(b) Если нет, изучите следующий пункт.

 

4. В Vista и Win7 в частности, может появиться сообщение, что вы не имеете разрешения использовать порт:

*** Initialization failure: Could not start HTTP Listener.
The two most common causes for this are:
1) You already have another program listening on the
specified port
2) You dont have permissions to listen to http requests.
Use the httpreserve command line utility to run using a non-administrator
account.
Exception message: Access is denied

Обратите внимание на последнюю строку сообщения - "Access is denied". Это может означать, что у вас нет прав администратора. Следует получить права администратора чтобы зарезервировать соответствующие порты. Это может быть сделано с помощью инструмента HTTP Namespace Reservation. В этом разделе не объясняется детально, как использовать HttpReserve, но следующий пример поможет это понять:

HttpReserve /p:50000 /u:yourdomainyourusername

Если порты зарезервированы, DssHost запустится без проблем. (Резервирование постоянно, его не нужно повторять каждый раз, когда вы хотите запустить RDS). 

Использование Web Browser для работы с DSS Node

DSS были разработаны таким образом, что вы можете использовать web browser для того, чтобы определить, запущены ли сервисы в DSS Node. Последний шаг установки – определить, что вы можете наблюдать DSS node на своем компьютере.

1. Если вы запустили DSS с портом 50000, нужно запустить web browser и ввести следующий URL в командной строке:

http://localhost:50000

Если DSS Node успешно стартовал из Start Menu, web browser должен появиться.

Вы должны увидеть окно.

(a) Если окно появилось, RDS работает. Изучите опции меню в левой части страницы.
(b) Если окно не появилось, продолжим работу над ошибками.

 

2. Если вы не используете Internet Explorer, может быть запрошен логин. Если это произойдет с Internet Explorer, процедура аналогичная.

Если логин и пароль известны, введите их и увидите страницу. Если нет, введите команду set в строке. Будет выведен лист переменных окружения, из которого нужно выбрать:

USERDOMAIN=xxx
USERNAME=xxx

Введите имя пользователя в формате domainuser затем пароль или оставьте его пустым.

(a) Если это сработало, процедура завершена. Настройки можно изменить на будущее, выбрав из меню Security Manager в левой части таблицы.

(b) Если все же вы не можете войти, нужно настроить опции безопасности вручную. 

3. Можно изменить настройки безопасности для DSS с помощью конфигурационного файла XML - SecuritySettings.xml который должен находиться в папке store. DSS Node Configuration поясняет, как открыть доступ.

ПРЕДУПРЕЖДЕНИЕ: Следующие инструкции дезактивируют DSS безопасность вашего компьютера.

Используйте Notepad (или другой текстовый редактор, но не Word) для записи XML кода:



xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.microsoft.com/robotics/2008/02/security.html">
false
false

Сохраните это как storeSecuritySettings.xml и запустите DSS Node снова. С этого места можно продолжать с использованием web browser. Если выполняется соединение с помощью браузера, можно использовать меню Security Manager для изменения настроек, что легче, чем редактирование XML файла.

Установка оборудования

Microsoft Robotics Developer Studio (RDS) может быть использована с широким спектром роботов. В этом разделе Вы можете найти информацию для настройки некоторых роботов, для которых примеры предоставляются как часть RDS. ( исходный код образцов в samplesPlatforms). Тем не менее, список не является исчерпывающим. Информация о дополнительных аппаратных платформах предоставляется обществом партнеров Developer Studio, сообществом разработчиков RDS, а также форумами MSDN. MRDS.ru открытый проект энтузиастов.

В общем, следуйте инструкции по настройке аппаратного обеспечения и средств связи для ПК под управлением системы RDS. Кроме того «робототехника Учебник 6 (C #) – дистанционно» дает объяснение, как разрабатывать поддержку других роботов и их удаленное подключение.

Многие роботы используют Bluetooth (беспроводную) связь для обмена данными между компьютером и роботом. Процесс подключения к роботу называется спариванием. Фактические шаги зависят от вашего программного обеспечения Bluetooth, так что они здесь не рассматриваются. Как только ваш PC оказывается в паре с роботом, можно использовать виртуальный последовательный порт. Вы должны знать номер исходящих COM портов, присвоенный программным обеспечением Bluetooth для того, чтобы правильно настроить RDS.

Заметим, что все роботы появляются со своими руководствам. Вы должны прочитать и понять, как работает ваш робот, прежде чем пытаться использовать RDS. Некоторые роботы должны быть собраны перед использованием. Следуйте инструкциям завода-изготовителя для тестирования робота для обеспечения его работоспособности, прежде чем пытаться писать приложения, используя RDS.

Назначение и возможности пакета RDS