诠释机器人通用平台软件
时间:2006-10-13 来源:lzhw_lucky
分以下三个方面进行讨论:
platform->createInternetRobotProxy(OIBROBOT_Robot_i::robot_proxy.out());
///fillComponent(&info_content)
///register_manager->registerRobot(info_content,10)
///robot_proxy->setRobot(RealRobotRef.in())
///robot_proxy->setMMStreamFactory(stream_factory.in())
///robot_proxy->start();
在平台上,机器人代理也是通过CORBA创建控制工厂等的实例。当创建基本信息流的工厂的时候:
basic_stream = robot_->BasicInformationStreamFactory();
basic_acceptor = new BasicInfo_StreamAcceptor_i(&information_structure,&basic_mutex);
basic_stream->start(basic_acceptor_var.in());
开始信息流的传输过程:在机器人端
acceptor_ = STREAM_ACCEPTOR::StreamAcceptor::_duplicate(acceptor);
stream_control = new StreamControl(port_,robot_);
stream_control->start();
调用StreamControl类建立套接口,然后调用acceptor_->connect(ipaddr,port_);进行信息流通道的建立。
在平台的basic_receive_work函数中进行信息的接收。把接收到的信息存储到BasicInfo_StreamAcceptor_i类的INFO对象里面。
在机器人代理中,通过函数basicinfo_transmission把得到的信息再传输给客户端。
- 机器人与平台之间的通讯的确立。
platform->createInternetRobotProxy(OIBROBOT_Robot_i::robot_proxy.out());
///fillComponent(&info_content)
///register_manager->registerRobot(info_content,10)
///robot_proxy->setRobot(RealRobotRef.in())
///robot_proxy->setMMStreamFactory(stream_factory.in())
///robot_proxy->start();
在平台上,机器人代理也是通过CORBA创建控制工厂等的实例。当创建基本信息流的工厂的时候:
basic_stream = robot_->BasicInformationStreamFactory();
basic_acceptor = new BasicInfo_StreamAcceptor_i(&information_structure,&basic_mutex);
basic_stream->start(basic_acceptor_var.in());
开始信息流的传输过程:在机器人端
acceptor_ = STREAM_ACCEPTOR::StreamAcceptor::_duplicate(acceptor);
stream_control = new StreamControl(port_,robot_);
stream_control->start();
调用StreamControl类建立套接口,然后调用acceptor_->connect(ipaddr,port_);进行信息流通道的建立。
在平台的basic_receive_work函数中进行信息的接收。把接收到的信息存储到BasicInfo_StreamAcceptor_i类的INFO对象里面。
在机器人代理中,通过函数basicinfo_transmission把得到的信息再传输给客户端。
- 用户与平台之间的通信的建立,主要是初时化过程。
- 平台与用户之间的信息流及控制过程的建立。
相关阅读 更多 +