通过tcp/ip连接引用对象-用于机器人
本文关键字:对象 用于 机器人 引用 连接 tcp ip 通过 | 更新日期: 2023-09-27 18:26:20
我已经开始为即将构建的机器人设计框架。出于以后可移植性的原因,以及这里的挑战,控制软件是模仿人类系统的尝试(当然大大简化了)。因此,该框架有一个神经系统,由大脑和脊髓组成,大脑通过脊髓控制周围神经系统的传感器和"肢体",即机器人摄像头、麦克风、电机控制器等
我面临的挑战是,我不知道如何通过脊髓将命令从大脑发送到由外周神经系统控制器初始化的传感器对象。在我的实现中,脊髓是一个tcp/ip服务器,接受来自传感器的连接并将其发送到大脑。这样的事情将如何实现?大脑对感觉对象有感知能力,但不应该实例化它们——这只适用于外周神经系统。那么,如何调用这些传感器对象上的功能,从大脑到脊髓,再到外周神经系统,最后到有问题的传感器?
据我所知,最好的解决方案是使用:
- .NET远程处理(相当旧)http://msdn.microsoft.com/en-us/library/kwdt6w2k(v=vs.100).aspx
- Windows通讯基础http://msdn.microsoft.com/en-us/library/dd456779.aspx
大脑将持有感觉物体,事实上(回到编程语言)这些物体将是驻留在神经系统中的真实感觉物体的透明代理。
我不确定脊髓是否适合WCF/.NETRemoting架构,但可以将其视为上述技术将采用的通信通道。
在Java中,您可以使用RMI执行类似的操作。在C#中,请看一下CORBA。
用tcp/ip服务器做这样的事情(我想你想打开一个套接字,然后通过它解析命令)是很痛苦的。如果你想做其他事情,你必须定义发送、接收、解析的命令,并调用正确的方法。
如果你能像IIS一样设置一些东西,你可能会用C#编写一个Web服务。Actor将使用Web服务的方法并"远程"调用它们。
我不太确定我是否理解你的问题,但是,你不能序列化你的命令并通过套接字发送它们吗?
一种更简单的方法是自托管的wcf服务,因为它将使您无需实现通信细节。