Ссылка на объекты через соединение TCP / IP - для робототехники - PullRequest
0 голосов
/ 02 марта 2012

Я начал разрабатывать каркас для робота, который собираюсь построить.Управляющее программное обеспечение - из-за более поздней переносимости, а также из-за сложностей в данном документе - является попыткой имитировать человеческую систему (конечно, радикально упрощенной).Таким образом, у каркаса есть нервная система, состоящая из головного и спинного мозга, последняя через которую мозг управляет датчиками и «конечностями» периферической нервной системы - то есть камерой роботов, микрофонами, устройствами управления двигателем и т. Д.

Моя проблема в том, что я не могу понять, как посылать команды из мозга - через спинной мозг - на сенсорные объекты, инициализируемые контроллером периферической нервной системы.В моей реализации спинной мозг представляет собой tcp / ip-сервер, принимающий соединения от датчиков и отправляющий их в мозг.Как бы что-то подобное произошло?Мозг осознает сенсорные объекты, но он не должен быть способен их создавать - это только для периферической нервной системы.Итак, как вызвать функции на этих сенсорных объектах, от головного мозга через спинной мозг до периферической нервной системы и, наконец, до рассматриваемого сенсора?

Ответы [ 3 ]

0 голосов
/ 02 марта 2012

Насколько я понимаю, лучшим решением было бы использовать:

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

Я не уверен, вписывается ли спинной мозг в архитектуру WCF / .NET Remoting, но можно считать это каналом связи, который будет использоваться упомянутыми технологиями.

0 голосов
/ 02 марта 2012

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

Более простым подходом будет служба wcf , размещенная самостоятельно, так как она освободит вас от реализации коммуникационных деталей.

0 голосов
/ 02 марта 2012

В Java вы можете сделать что-то подобное с RMI. В C #, пожалуйста, посмотрите на CORBA.

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

Если вы можете настроить что-либо. как IIS вы, вероятно, могли бы написать веб-сервис на C #. Актеры будут использовать методы веб-службы и «удаленно» вызывать их.

...