160 likes | 339 Views
GIMnet - Infrastructure for Distributed Control of Generic Intelligent Machines. Jari Saarinen, Antti Maula, Renne Nissinen, Harri Kukkonen, Jussi Suomela and Aarne Halme Finnish Center of Excellence in Generic Intelligent Machines Research (GIM) Helsinki University of Technology
E N D
Jari Saarinen GIMnet - Infrastructure for Distributed Control of Generic Intelligent Machines Jari Saarinen, Antti Maula, Renne Nissinen, Harri Kukkonen, Jussi Suomela and Aarne Halme Finnish Center of Excellence in Generic Intelligent Machines Research (GIM) Helsinki University of Technology Automation Technology laboratory
Jari Saarinen Introduction • GIM is a research centre focused on Intelligent machines and mobile robotics • Coalition of two institutes: TKK/ATL and TUT/IHA • Funding between 2007-2013 • 40 Research positions • Topics cover all areas of field and service robotics – from sub systems to future worksite concept
Jari Saarinen INTEGRATOR • Mutual testbed, for validation of GIM research results • Worksite is in Tampere (200km from remote control room) • Currently two AVANT tractors as work machines • 1st phase is a multi-machine teleoperation application
Jari Saarinen Our Toys
Jari Saarinen Software Design Challenges • Remote process communication infrastructure for multiple mobile machines • Real-time control through firewalls • Handling the complexity • ”Architecture free architecture” • Scalability – from simple systems to massive multi machine control system • Lessons learned – robotic researchers are not programmers. • User tolerance and ease-of-use
Jari Saarinen GIMnet • GIMnet is a Remote Process Communication system • Hybrid architecture • a VPN-type of solution allows bypassing of firewalls, while allowing p2p • Network layer consists of hubs • Hubs connect to each other and nodes (“clients”) connect to hubs • Client-side libraries for ease-of-use • NIF (Network protocol interface) • User side library GIMI
Jari Saarinen GIMnet features • Distributed name and ID service (tcpHub) • Unicast, multicast, broadcast (tcpHub + GIMI) • Synchronized and unsynchronized data transmission • Automatic hub-to-hub and client-to-hub reconnect • In-built service based messaging • Provided and accepted • Service registration, subscription and listing • Thread safe
Jari Saarinen GIMnet Example • Allows highly modular and scalable system • Local control loops • Global accessibility • Simple small components • Designed for easy usage and deployment!
Jari Saarinen Results – local application ping
Jari Saarinen Application ping over ethernet
Jari Saarinen Packets per Second
Jari Saarinen Applications - Teleoperation
Jari Saarinen Service Based UI
Jari Saarinen ASRobo
Jari Saarinen Conclusions and future work • Concept of GIMnet was presented, with examples and some results • The results are showing that the developed system is capable for real-time control and is successfully deployed • Future work includes development of the infrastructure along with the GIM. Some near future challenges are • Self-configuring systems • Generic machine/machine group interface
Jari Saarinen Questions? gimi::GIMI gim; gim.addProvidedService(service_id, 0, "Awnsers to questions", "TA2007"); gim.connectToHub(hubname, hubport, ”Jari”); while(1){ if(gim.getSubscriberCount(service_id, 0) > 0){ int result = gim.sendToSubscribers(awnser, awnser_length, service_id, 0); if (result != GIMI_OK) { dPrint(1, "Nobody understood, try again or avoid the question!\n”); } } }