我已经开始为我将要建造的机器人设计一个框架。出于以后可移植性和这里的挑战的原因,控制软件是一种模仿人类系统的尝试(当然,大大简化了)。因此,框架有一个神经系统,由大脑和脊髓组成,后者是大脑控制周围神经系统的传感器和“肢体”--即机器人摄像头、麦克风、运动控制装置等。
我的挑战在于,我不知道如何从大脑通过脊髓向传感器对象发送命令,这些命令是由外围神经系统控制器初始化的。在我的实现中,脊髓是一个tcp/ip服务器,接受来自传感器的连接并将它们发送到大脑。这样的事情是如何实现的?大脑对感官对象有意识,但它不应该能够实例化它们--这只适用于外围神经系统。那么,如何调用这些传感器对象上的函数,从大脑到脊髓,到周围神经系统,最后到有问题的传感器?
发布于 2012-03-02 20:45:09
据我所知,最好的解决方案是使用:
http://msdn.microsoft.com/en-us/library/kwdt6w2k(v=vs.100).aspx
大脑将持有感官对象,这些对象实际上(回到编程语言)将是驻留在神经系统中的真实感官对象的透明代理。
我不确定脊髓是否适合WCF/.NET远程处理体系结构,但可以将其视为将由上述技术使用的通信通道。
发布于 2012-03-02 20:44:01
在Java中,您可以使用RMI来做类似的事情。在C#中,请看一下CORBA.
使用tcp/ip服务器(我猜您希望打开一个套接字,然后通过它解析命令)来做这样的事情是令人头疼的。如果你想这样做,你必须定义命令,这些命令被发送、接收、解析并调用正确的方法。
如果你能设置某物。与IIS一样,您也可以用C#编写IIS服务。Actor将使用Webservice的方法并“远程”调用它们。
发布于 2012-03-02 20:46:27
我不太确定我是否理解了你的问题,但是,你不能序列化你的命令并通过你的套接字发送它们吗?
一种更简单的方法是使用self hosted wcf service,因为它可以将您从实现通信细节中解放出来。
https://stackoverflow.com/questions/9533311
复制相似问题