1 / 16

GIMnet - Infrastructure for Distributed Control of Generic Intelligent Machines

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

kass
Download Presentation

GIMnet - Infrastructure for Distributed Control of Generic Intelligent Machines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. Jari Saarinen Our Toys

  5. 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

  6. 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

  7. 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

  8. Jari Saarinen GIMnet Example • Allows highly modular and scalable system • Local control loops • Global accessibility • Simple small components • Designed for easy usage and deployment!

  9. Jari Saarinen Results – local application ping

  10. Jari Saarinen Application ping over ethernet

  11. Jari Saarinen Packets per Second

  12. Jari Saarinen Applications - Teleoperation

  13. Jari Saarinen Service Based UI

  14. Jari Saarinen ASRobo

  15. 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

  16. 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”); } } }

More Related