içinde

RoboticsNedir.com

Microsoft Robotics Developer Studio, Windows Embedded

Oğuz Bayrakdar

Microsoft Robotics Studio, Windows Embedded, Windows CE

May 2007 - Posts

  • Futbolcu robot köpek simülasyonu (robuDOG) kurulumu

    petitbandeau2robudog.jpg 

    Robosoft firmasının Robocup yarışmaları için geliştirdiği robuDOG simülasyonu yayınlandı. Aşağıdaki resimlerdende görebileceğiniz simülasyon, Microsoft tarafından yayınlanan futbol oynayan robotlar için yazılan simülasyon ile birlikte çalışıyor. Birkaç adımda bilgisayarınızda robot futbol simülasyonu çalıştırabilirsiniz.

    v09_3.jpg

    Kurulum ve çalıştırma için gerekli adımlar:

    1. Microsoft Robotics Studio'nun güncel versiyonunu bilgisayarınıza yükleyin.
    2. Microsoft Robotics Studio için Futbol Simülasyonu'nu bilgisayarınıza yükleyin.
    3. robuDOG simülatörünü işletim sisteminize göre indirip kurun.

      Mevcut versiyon: 1.0 (7 May 2005), Microsoft Robotic Studio (Mayıs CTP) ile uyumlu:

    4. Kurulumu kontrol etmek için simülasyonu elle çalıştırın.
      • Microsoft Robotic Studio Komut Satırı'nı açıp aşağıdaki komutu yazarak başlatın.
        install_6.jpg
        Uygulama açıldığında iki tane pencere görmelisiniz, bir tanesi futbol sahasının 3D görünümü diğeri ise köpekleri elle kontrol etmek için gerekli olan graffik arayüz:
        • Menüden sol üst köşedeki Connexion butonuna tıklayın ,
        • Bir URL girin ( default  http://localhost:50000/) ve Connect e tıklayın,
        • Listeden bir robuDOG seçin,
        • Şimdi robuDOG'u kontrol edebiliyor olmanız gerekli ! 
          howto1.jpg
    5. Visual Studio ile projeyi açıp robotları elle kontrol edin
      • Visual Studio'nuz yoksa Express sürümlerini kurabilirsiniz:
        • Visual Studio dan: simplesoccerplayer projesini samples/simulation/competitions/simulatedsoccerservices/simplesoccerplayer klasöründen açın 
        • properties alanından komut satırı parametresini şu şekilde değiştirin: -port:50000 -tcpport:50001 -manifest:"samples\config\SimulatedSoccer.RobuDog.FourPlayers.Manifest.xml" Bu değişiklik futbol simülatörünün köpekleri oyun alanında kullanmasını sağlayacaktır.
        • Derleme tamamlandıktan sonra projeyi VS dan RUN butonu ile çalıştırabilirsiniz. 
        • Şimdi 4 robuDOG'u simülasyon içerisinde görmelisiniz, bu robotlarıda yine önceki gibi elle kontrol edebilirsiniz.
    6. Robotları otonom olarak çalıştırın

    Microsoft tarafından sağlanan örnek kod tekerlekli robotlar kullanarak futbol simülasyonu yapmak için, biz bu kodu köpeklerde kullanmak için biraz değiştirelim.

    Tek yapmamız gereken simplesoccerplayer projesini açıp ( /samples/simulation/competitions/simulatedsoccerservices/simplesoccerplayer klasöründe), simplesoccerplayer.cs:189 satırını aşağıdaki şekilde değiştirmek:


    _robotDrive = ServiceForwarder<drive.DriveOperations>(pt.Service);
    _robotDrive = ServiceForwarder<drive.DriveOperations>(pt.Service+"/drive");  şeklini alacak.

    Prejeyi derleyip çalıştırın artık robotlar alanda otonom olarak çalışacaklardır. Köpekler kafalarında yer alan simüle edilmiş kameradan gelen kareler üzerinde resim işleme yaparak topun yerini bularak işlem yapacaklar. SimpleSoccerPlayer.cs kaynak kodunu inceleyebilirsiniz.

  • MSRS Partner Robot Üreticileri [EN]

     

    Son Güncelleme: 8 Mayıs 2007

    Aşağıdaki listede bulunan şirketler Microsoft Robotics Studio yu destekler.



    Robot Manufacturers, Hardware Component Vendors, and ISVs

    AllMotion
    AllMotion designs and manufactures miniature, intelligent motion control devices. Our EZServo and EZStepper line of devices allow for the rapid implementation of motion control solutions in products requiring automation. AllMotion motor control services will interface with Microsoft Robotics studio to allow the user to create a complete motion control solution even faster.”
    Braintech Braintech, Inc.
    Braintech, Inc. designs, develops and deploys Vision Guided Robotic ("VGR") software and guidance technologies that enable intelligent, autonomous robotic processes which have been successfully installed VGR systems in the plants of major North American and Japanese Auto makers over the past 6 years.
    Cerebellum Cerebellum Automation
    Cerebellum provides customers with high-quality, custom servo solutions and embedded applications for high-end motion control in the packaging, medical, robotics, food, electronics, and automotive industries.
    CoroWare CoroWare
    CoroWare is a systems and robotics integrator that delivers forward-looking, innovative solutions and services to help customers realize their robotics strategy and dreams. CoroWare provides the flexibility and hands-on approach of a small company with the industriousness and seasoned maturity of more established organizations.
    Diversity Associates Ltd. Diversity Associates Ltd.
    Diversity Associates Ltd. works with robot manufacturers to integrate their products with Microsoft Robotics Studio by building reliable and coherent user interfaces to their hardware, enabling the robotics community to get a flying start in developing higher level services.
    ED Co., Ltd. ED Co., Ltd.
    ED produces high quality educational training systems in a wide range of Robotics, Pneumatic & Hydraulic, PLC, Automation, Mechatronics and more. ED is well recognized as a leading supplier of ISO9001 certified didactic equipment. ED contributes to the growth of education domestically as a leading manufacturer in Korea.
    ElementDirect Element Direct
    Element Direct offers development tools and add-on accessories for the iRobot Create and Roomba robots in addition to other robot products. Element’s tools allow users to easily integrate the iRobot Create with Microsoft Robotics Studio. .
    fischertechnik fischertechnik
    The fischertechnik company is part of the fischer group of companies located in Waldachtal, Germany, which was founded as a family firm in 1948. fischertechnik inspires creativity and helps children and students learn through play.
    Click Here for more information about fischertechnik's collaboration with Microsoft Robotics Studio.
    Graupner Graupner
    With over 30,000 items in the Graupner range, there can be no doubt that this German modeling company is part of the "big league." Graupner's success over the past 75 years is virtually unparalleled in the model world.
    HanulKid HanulKid
    HanulKid Co., Ltd. is an education-oriented company specializing in the production of scientific and educational materials and courses.
    ICOP Technology ICOP Technology Inc.
    ICOP Technology Inc. designs and manufactures x86 embedded processor modules; providing application development ready platform for Windows Embedded CE and Windows XP Embedded Operating Systems. Production quality Board-Support-Packages and CE 6.0/XPe development SDKs make ICOP hardware solutions ideal for robotic platforms.
    InTouch Health iRobot
    iRobot is a provider of robots that perform dull, dirty, or dangerous missions in a better way. The company's proprietary technology, iRobot AWARE Robot Intelligence Systems, incorporates advanced concepts in navigation, mobility, manipulation and artificial intelligence. This system enables iRobot to build behavior-based robots, including its family of consumer and military robots.
        The company recently launched iRobot Create, an affordable, programmable robot designed for aspiring roboticists, advanced high-school and college students, and serious robot developers. Using Microsoft Robotics Studio, developers can program and interact with both the iRobot Roomba Vacuuming Robot and iRobot Create.
    JADI, Inc. JADI, Inc.
    Created in response the R&D Needs of the Department of Defense, JADI's focus is the exploration, research, and development of diverse technologies associated with unmanned robotic systems for both military and commercial markets.
    KUKA KUKA Roboter GmbH, Ausburg
    KUKA ranks among the world's leading suppliers (#1 in Europe and #3 in the world) of industrial robots.
    KUKA will provide an MSRS-based simulation environment for educational purposes. The goal is teaching robotic students at universities how to design and implement (virtual) robot controls. This simulation framework will contain all the services needed in order to build a complete virtual robot control which the students can use to experiment with internal parameters and to replace single services with their own implementation which can all be orchestrated using MSRS Visual Programming Language.
    LEGO LEGO Systems A/S
    The purpose and vision of the LEGO Group is to inspire children to explore and challenge their own creative potential. The NXT generation of Mindstorms robots provide children (of all ages) with a complex, sophisticated set of creative tools which are nonetheless easy to configure and program using Microsoft Robotics Studio and the tools which come with the NXT.
    Lynxmotion Lynxmotion, Inc.
    Lynxmotion manufactures and distributes a large selection of precision engineered robotic kits and components which offer unique mechanical solutions to many common robotic problems. Specializing in small (under 8kg) robots uses for hobby, educational, and research projects all over the world. They have made a long standing firm commitment to providing the highest quality affordable robotic kits and components.
    MicroRobot Microrobot
    Microrobot Co., Ltd. was founded in 1995 and listed on the Korean Stock Market, KOSDAQ, in 2006. Taking as its motto, “Let’s understand and enjoy robotics,” Microrobot was the first developer and manufacturer specializing in educational robots in Korea and it has expanded to develop personal, industrial, and defense robots. Its hard floor cleaning robot, the UBOT, was awarded the International CES Innovations honor in 2007 and is the first cleaning robot that travels by reading invisible barcodes on hard floors. Microrobot is constantly developing and improving its technology, striving to create a range of products that meet the ever expanding needs of its international customers.
    Mostitech Mostitech Co., Ltd.
    Mostitech Co., Ltd. has been leading company in the area of home intelligent robot more than five years. Since establishment in 2001, they have continued to move forward and were selected as one of the "15 Cool Companies" by Fortune magazine in 2004.
    Parallax Parallax, Inc.
    A privately held company located in Rocklin, California, Parallax designs and manufactures microcontroller development tools and small single-board computers that are used by electronics engineers, educational institutions, and hobbyists.
    Phidgets Phidgets, Inc.
    Phidgets, Inc. provides the market with robust, modular hardware with well defined software APIs for low-cost control and sensing from a PC using a USB port.
    RE-Squared RE2, Inc.
    RE2 (Robotics Engineering Excellence), Inc. is a Carnegie-Mellon spin-off company specializing in mobile defense robotics with an emphasis on unmanned systems components and software development for Joint Architecture for Unmanned Systems (JAUS), a Department of Defense mandated standard for unmanned systems.
    RidgeSoft RidgeSoft, LLC
    RidgeSoft was founded in 2001 to develop hands-on robotics products and curriculum accessible and relevant to high schools, community colleges, universities and hobbyists.
    RoboRealm RoboRealm
    RoboRealm is focused on providing cutting edge machine vision software for use in robotic systems. The RoboRealm software facilitates the creation of new image processing routines while maintaining an easy to use interactive interface. Using an analysis pipeline you can add image processing modules to translate any image into robotic movements, computer actions, or just plain fun!
    RoboDynamics RoboDynamics Corp.
    RoboDynamics is a leading developer of telepresence technologies focusing on consumer and industrial telepresence. They offer core technologies as well as modularized hardware and software components that enable remote access and telepresence capabilities to all kinds of robots from various manufacturers.
    Robosoft

     

    ROBOSOFT
    Since 1985, ROBOSOFT has been a pioneer in advanced service-robotic solutions addressing high value markets such as automatic transportation of goods and people, cleaning, security, health and research.
    The robuBOX is a "software box" for service robots. The robuBOX aims at providing cost-effective and risk-free software solutions for manufacturers of vertical service robots in various fields such as transport of goods and people, cleaning, security, health, etc. Each robuBOX comes with proprietary libraries and services compatible with MSRS including:

    • Sensor acquisition and pre-processing (laser, ultrasounds, inductive wire for guiding, gyro, vision, etc.)
    • Generic robotic control algorithms such as: torque/speed/position control loops, path generation and tracking, collision detection and avoidance, localization, etc.
    • Specific application algorithms, depending on the field of application
    Robo3 Robo3 Co., Ltd.
    Robo3 offers a wide range of larger robots which include large, mobility-enhancing, rideable models; to smaller cleaning, telepresence, and entertainment robots; and life-like androids.
    RoboticsConnection RoboticsConnection (Summerour Robotics Corp.)
    RoboticsConnection provides MSRS based services for their Serializer Robot Controller, as well as their Traxster Robot Kit. Support for additional products is also in the works.
    ScatterWeb ScatterWeb
    ScatterWeb provides a robust self-configuring wireless network platform based on multi-hop mesh routing with unparalleled wide reach. This technology is ideally suited for the integration of distributed sensors through an open interface into robotics and sensor network projects. The technology has been successfully been applied to a wide array of real-world scenarios including reliable logistics, asset tracking, industrial automation, facility management, etc. ScatterWeb is currently integrating its multi-hop wireless sensor network technology in Microsoft Robotics Studio.
    Senseta Senseta, Inc.
    Senseta is a leader in building the next wave of computing with mobile robotics. Their mix of academic, government and industry experience has given them insight into a myriad of applications that will bring true mobile robots to the masses.
    SRI SRI International
    Silicon Valley-based SRI International is one of the world's leading independent research and technology development organizations. Founded as Stanford Research Institute in 1946, SRI has been meeting the strategic needs of clients for 60 years. In 2007, SRI is planning to introduce software libraries that integrate with Microsoft Robotics Studio to provide mobile autonomy to wheel-based robots, based on SRI's world-leading simultaneous localization and mapping (SLAM) software.
    Surveyor Surveyor Corp.
    Surveyor Corporation is the leading developer of foundation technologies for visual connectivity.
    Designed for research, education, and exploration, Surveyor's SRV-1 internet-controlled robot is designed to operate as a remotely-controlled webcam or a self-navigating autonomous robot; multiple SRV-1's can be controlled by a single base station.
    Click Here for more information about Surveyor's collaboration with Microsoft Robotics Studio and SharpLogic Software.
    VIA VIA Technologies, Inc.
    VIA mainboards enable a new vision for the digital lifestyle, boasting low power consumption and rich integration on ultra compact form factors. Aimed at driving fast-emerging markets for smart connected devices, VIA mainboards provide the ultimate platform for systems where small form factor and power efficiency can be combined with a rich entertainment experience.
    White Box Robotics White Box Robotics
    White Box Robotics was established in 2001 by Thomas Burick to develop the PC-BOT, a new class of networked mobile robots. From its labs in Pittsburgh, PA and Ottawa, Canada, our team of engineers and designers provide the depth, breadth and passion to catapult this new category of technology into robotics education at all levels, as well as the rapidly emerging markets for personal, commercial and security robotic applications.
    Click Here for more information about White Box's collaboration with Microsoft Robotics Studio.
    Yujin Yujin Robot
    For the last two decades, Yujin Robot has produced various robots ranging from industrial to the world's first network-base home robot. This has all been working towards their goal of creating a more intelligent life with robots--at home, work, or out on the town. Their major product lines include service, entertainment, and home appliance robots.

    Solution Providers

    Camelot Camelot Robotics Aps.
    Camelot adapts the Microsoft Robotics technology for use with their Ropsim simulation system for industrial robots. Camelot is convinced that Microsoft Robotics will bring easier access to automation equipment and hereby more integrated solutions.
    LG CNS LG CNS Co., Ltd.
    LG CNS is a total IT service company that provides consulting, system integration, network integration, IT outsourcing, and business process outsourcing. The industry coverage of LG CNS includes government/public, finance, service, Hi-Tech, manufacturing/healthcare, and more.
    L&T Infotech Larsen & Toubro Infotech Ltd.
    Larsen & Toubro Infotech Limited (wholly owned subsidiary of Larsen & Toubro Limited) is a leading vendor of technology and IT services for the global market. L&T Infotech's services on the Microsoft Robotics Studio platform include: development, enabling, operating, and firmware development tools and services.
    SharpLogic SharpLogic Software
    SharpLogic Software is a privately held consulting firm based in Redmond, WA, that currently serves both domestic and international customers. We specialize in using Microsoft technology to solve real business problems for our customers. Our expert services include technical, marketing, and business consulting with a specialization in high technology and robotics.

      

  • Boğaziçi Robot Günleri 2007 Etkinliğindeyiz ...

     

     Etkinliğimiz gerçekleşmiştir, tüm katılımcılara teşekkür ederiz. Sunumu indirmek için tıklayınız.

    Bilim, Teknoloji ve Eğlence yi birleştiren Boğaziçi Üniversitesi Robot günlerinde RoboticsNedir.com olarak yerimizi alıyoruz.  http://robotgunleri.org/ adresinden bilgi alabileceğiniz ve kayıt yaptırabileceğiniz etkinlikte bir MSRS sunumuda yer alacak.

    Yer alacak yarışmalar;

    • ROBOCODE 
    • ROBOT FUTBOLU
    • SERBEST
    • SUMO
    • ÇİZGİ İZLEYEN
    • KURTARMA
    • DANS

    şeklinde sıralanırken SEMİNERLER, PANELLER, SÖYLEŞİLER, SERGİLER ile dopdolu iki gün sizlerle olacak.
    Amacını " Robot günleri 2007 etkinliğini düzenlemekteki amacımız robot yapımıyla ve robot bilimiyle ilgilenen insanları bir araya getirmek ve hem kendi çalışmalarını sergileyecekleri hem de birbirleriyle tanışabilecekleri, bu sayede Türkiye’deki robot çalışmalarının önünü açacak, teknolojideki sınırları daha yukarılara taşıyacak bir bilgi ve teknoloji paylaşım ortamı oluşturmaktır. " şeklinde sitesindende okuyabileceğiniz robot günlerinde görüşmek üzere.

    Konu: Microsoft Robotics Studio ile Robot Programlama 

    İçerik: Microsoft'un en yeni yazılm geliştirme platformlarından olan Microsoft Robotics Studio kullanılarak kolaylıkla robot programlaması yapılabilmektedir. C# gibi Microsoft .NET platformunun en bilinen dilleri ile farklı robotları programlamak ve Microsoft Robotics Studio sayesinde dahili robot simülatörlerini kullanarak yazılan programları test etmek mümkündür. Sunumda canlı demolar da yapılacaktır.  

    Konuşmacı: Oğuz Bayrakdar (12 Mayıs Cumartesi)

     

  • Microsoft Robotics Studio ile Tanışalım

    MSRS, akademik, hobi amaçlı ve ticari geliştiricilerin çok çeşitli donanım platformlarında kolay bir şekilde robotik tabanlı uygulamalar geliştirmeleri için Windows tabanlı geliştirme ortamıdır.

    MSRS nun öne çıkan özellikleri ve avantajları :

    1. Uçtan - Uca Robotik Geliştirme Platformu. MSRS robot uygulamaları geliştirmeyi ve hata ayıklamayı kolaylaştıran görsel programlama aracına sahiptir. RS geliştiricilerin donanım ve yazılım için modüler servisler geliştirmelerine olanak sağlar. Bu servisler sayesinde kullanıcıların robotları web veya windows tabanlı arayüzlerle kulanabilmeleri sağlanır. Geliştiriciler aynı zamanda robotik uygulamalarını gerçekçi 3 boyutlu modellerle simüle edebilirler. AGEIA Technologies Inc. tarafından geliştirilen AGEIA™ PhysX™ Technology sayesinde donanım destekli fizik simülasynlarını robot uygulamaları ile birleştirebilmekteyiz.
    2. Hafif services-oriented runtime. .Net tabanlı eşzamanlı kütüphane (concurrency library) kullanması asenkron uygulama geliştirmeyi kolaylaştırır. Servislerin kullandığı mesaj tabanlı mimari robot sensörlerinin ve durumlarının bir web tarayıcı aracılığıyla kolayca izlenebilmesini sağlar. Sağlanan düzenlenebilir (compasable) model yüksek seviyeli fonksiyonların basit komponentler kullanılarak inşa edilebilmelerini sağlar. Komponentlerin tekrar kullanılabilir olması kod modüllerinin yeniden kullanımı yanında güvenilir ve yer değiştirebilir bir yapı sağlar.
    3. Ölçeklendirilebilir ve genişletilebilir (scalable and extensible) platform. MSRS programlama modeli birçok robot donanım platformuna uygulanabilir ve kullanıcıların öğrendiklerini platformlar arasında taşıyabilmelerini sağlar. Üçüncü parti sağlayıcılar aracılığıylada ek kütüphane ve servisler kullanılarak fonksiyonellik genişletilebilir. Hem uzaktan kumandalı (PC tabanlı) hem de otonom (robot tabanlı) çalışma senaryoları C#, VB .NET, Microsft Iron Python ve servis tabanlı mimariye uyum sağlayan çeşitli programlama dillerinden seçim yaparak geliştirilebilir.

    Kaynak : http://msdn.microsoft.com/robotics/learn/

  • Microsoft Robotics Studio Runtime ile Tanışalım

    Genel olarak robotik uygulamalarının temel işlevi farklı kaynaklardan sensör girişlerini toplamak ve bu sensör girişlerine karşılık uygulamanın amacını gerçekleştirecek yeni cevap verecek olan bir dizi uygulayıcının (actuator) orkestrasyonunu sağlamaktır. Şekil 1 de basit bir robotik uygulama örneği verilmiştir. Uygulama bir tane dokunmalara cevap veren bumper (dokunmatik sensör), görüntüyü kontrol eden mesaj kutusu (actuator) ve parçaları birleştiren orkestrasyon elemanı içeriyor.

    Şekil 1 Robotik dünyasında "Merhaba Dünya" uygulamasının karşılığı. Orkestrasyon elemanı dokunmatik sensörden girişleri dinler ve mesaj kutusunu kontrol eder.

    Şekil 1 de gösterilen uygulamada orkestrasyon kolaydı fakat uygulama büyüdüğünde çok sayıda sensör, uygulayıcı (actuator) ve orkestrasyon elemanlarının kompleks işlemleri yerine getirmek için birbirleriyle haberleşmeleri gerekir. Daha gelişmiş bir robotik uygulaması Şekil 2 de örnek olarak gösterilmiştir.

    Şekil 2 Üç tane sensörü ve uygulayıcısıyla biraz daha gelişmiş bir robotik uygulaması.

    Tüm sersör ve uygulayıcılar Şekil 1 dekilere benzerken orkestrasyon elemanı artık 6 komponenti yönetmek zorunda. Ek olarak, uygulamaların akışlarını birbirinden ayıran birçok yön vardır ve bu özellikleri diğer "Merhaba dünya" uygulamalarından da ayrıdır:

    1. Sensör girişlerinin yakalanması ve uygulayıcıların kontrol edilmesi eşzamanlı oarak gerçekleştirilmelidir. Aksi durumda uygulayıcılar etkinleştirilemeyebilir veya sensör girişleri atlanabilir.
    2. Orkestrasyon uygulamanın kritik bir parçasıdır. Özellikle sensörlerin ve uygulayıcıların sayıları arttıkça orkestrasyon daha kompleks hale gelecektir.
    3. Otonom ve beraber çalışabilen orkestrasyon, komponentlerin dağıtılmış yapıda çalışabilmesini ve network üzerinden erişilebilmesini gerektirir.

    Bu gereklilikleri sağlamak için MSRS nun amacı robotik uygulamalarını oluşturmak, izlemek, yayımlamak ve çalıştırmak için şunları kullanır:

    • Concurrency and Coordination Runtime (CCR) (Eşzamanlılık ve Kordinasyon) mesajların kordinasyonunu elle threading, kilit vs. kullanmadan sağlar. CCR asenkron mesaj iletimi üzerine kuruludur ve mesajların senkronizasyonunu sağlayan özellikler içeren servislere çalışma alanı sağlar.
    • Decentralized System Services (DSS) (Merkezileştirilmemiş Sistem Servisleri) bir servis barındırma ortamı sağlar ve hata ayıklama, log tutma, izleme, güvenlik, araştırma ve veri sürekliliği gibi temel işlevlerin sağlandığı servisleri barındırır.

    MSRS Runtime çok çeşitli robotik uygulamalarını desteklemek için tasarlanmıştır. Uygulamalar basitçe sensör girişlerinin gözlenmesinden kablolu kullanıma, otonom işlemlere ve hatta çoğul otonom robotların beraber çalışmalarına kadar genişler.

    Ayrıca, MSRS runtime robotların doğrudan PC ye bağlı olduğu (seri port kullanarak, Bluetooth, USB vs.) senaryolardan üzerinde PC bulunduran robotlara, simülasyon robotların simüle edilen dünyada işletilebilmesine kadar geniş yelpazede kullanılabilir.

    Servisler

    Bir servis MSRS kullanarak robotik uygulama geliştirmenin temel taşıdır. Servisler kendi aralarındaki ve servislerle runtime arasındaki isolasyon sınırlarını belirlemek için kullanılır. Örnek olarak Şekil 1 deki uygulama üç servis olarak düzenlenebilir, her biri üç kutudan bir tanesine. Servisler kendi aralarında birer düğüm içerisinde network üzerinden eşit olarak iletişim kurabildikleri gibi üç serviste bir düğüm içerisinde yer alabilir ve işlevlerini yapabilir.

    Fonksiyonların düzgün çalışabilmesi için orkestrasyon elemanı bir bumper ve bir mesaj kutusuna ihtiyaç duyar. İsolasyon sınırları nedeniyle servislerin çalışmaya başlayana kadar birbirlerinden haberleri yoktur. Bu orkestrasyon elemanı sensöre ve mesaj kutusuna benzeyen elemanlarla iletişim kurması gerektiğini bilir fakat başlayana kadar tam olarak bu servislerin nerede yer aldığını bilmez demektir.

    Bu tip yapılanma partnering (ortaklık) olarak adlandırılır. Ortaklık servisler arasında yeniden kullanımı ve alt komponent kullanımını sağlayan geç bağlamalı (late binding) isimlendirilmiş ilişkiler yaratmanın bir yoludur. Oluşumun ortaklık yoluyla sağlanması yüksek seviyeli soyutlama (abstraction) için iyi bir yöntemdir ve MSRS servisleri bu yolla oluşturmak için parçalardan oluşan yapılanmayı kullanır.

    Runtime Servisleri

    MSRS runtime bir dizi servisle birlikte gelir. Bu servisler genel olarak gerekli olan izleme, hata ayıklama, araştırma, servislerin yaşamsüresi yönetimi, üyelik yöneticileri gibi ihtiyaçları karşılar. Bu servisleri robotik uygulamanın parçası olarak kullanma MSRS ile sağlanan derslerde anlatılmıştır.

    Aktifleştirme (Activation)

    Bu servisler servis yazılımlarını aramak, yazılımları yüklemek ve servisleri veya bir dizi servisi başlatmak görevlerini yerine getirir.

    Araştırma (Discovery)

    Servisler basit bir discovery servisi kullanarak birbirlerini keşfedebilirler. Bu keşif servisleri runtime üzerinde çalışan servisler ve runtime lar arasında buluşma noktası gibi çalışır.

    Depolama (Storage)

    Mount servisi diğer servislere durumlarını devam ettirebilmeleri için XML veya kendi belirledikleri herhangi bir format ta kayıt imkanı sunar. Bu servisin daha sonraki bir zamanda mesela servis yaratıldığında veri almasını sağlar.

    Hata ayıklama ve tanımlama servisleri (Debugging and diagnostic services)

    MSRS runtime servis uygulamaları için birçok hata ayıklama ve tanımlama servisi sunar. İki çok kullanılan servis ise console output ve diagnostics service dir. Console output servisi diğer servisler tarafından izlenebilen düzenli veri sunar ve runtime diagnostics servisi ise bellek kullanımı, işlemler ve runtime hakkındakındaki diğer ayrıntılı bilgileri sunar.

    Bu servislere ek olarak runtime sistem içerisinde dolaşan tüm mesajları diske kayıt etmek içinde ayarlanabilir ve böylece kayıtlar daha sonra hatalara karşı taranabilir veya sadece keyıt olarak tutulabilir.

    Servisler ile Etkileşim

    Hiç servis yazmadan bile runtime ı deneyebilirsiniz. Bunu için Microsoft Robotics Studio Command Prompt adındaki özelleştirilmiş komut satırını açmanız ve aşağıdaki komutu yazmanız yeterli olacaktır:

     dsshost /p:50000

    Bir kere çalışmaya başladıktan sonra yapacağınız web tarayıcınızı açmak ve aşağıdaki URI yı yazmak olmalıdır:

      http://localhost:50000

    Bu işlem Şekil 3 teki gibi bir sonuç verecektir. Gösterilen kullanıcı arayüzü yukardaki adresi dinleyen bir servis tarfından üretilmiştir. MSRS runtime servisleri otomatik olarak HTTP üzerinden çalışırlar ve web tarayıcı ile erişilebilirler. Servislerin birbirleri arasında düzenlenmiş veri aktarımı yaparak iletişim kurmalarının yanında kullanıcı ile iletişimleride aynı oranda önemlidir. Bazı servisler kullanıcı arayüzünü HTML ile sağlarlar, genelde kullanılan XML yapısıdır fakat diğer bazı servisler kullanıcı arayüzlerini ses, video yada resim içeren yapılarda oluşturabilirler.

    Şekil 3 Microsoft Robotics Studio Runtime anasayfası. Bu sayfa runtime servislerinin parçası olan bir servis tarafından üretildi.

    Bilgiye IE aracılığıyla erişme kavramı derin bir şekilde MSRS runtime ı içerisine entegre edilmiştir. Tüm runtime servislerine bu yolla ve basit HTML formları kullanarak erişilebilir.

    Diğer bir servis örneği de "Console Output" servisidir ve bu servisede Şekil 3 te gösterilen sayfadan erişebilirsiniz. Bu servis diğer işlevlerin arasında bir hata ayıklama monitörü gibi çalışan generic mesaj kuyruğunu temsil eder (Şekil 4). Görüldüğü gibi sayfa üzerindeki filtreler kullanıcıya hangi mesajların gösterileceğini mesajların kategori bilgisi, üreticisi vs. bilgilerine göre seçilmesine imkan sunar.

    Şekil 4 Genel mesaj kuyruğu olarak işlev gören Console Output servisinin ürettiği örnek çıkış.

    Web tabanlı kullanıcı arayüzü bütün servisler tarafından üretilebilir ve bu, servislerin özelliklerinin çalışırken dahi ayarlanabileceği interaktif bir ortam yaratmanın etkili yoludur.

    Kaynak : http://msdn.microsoft.com/robotics/learn/

  • Donanım Kurulumu - LEGO Mindstorms

    Microsoft Robotics Studio çeşitli platformlardaki robotlar ile birlikte kullanılabilir. Genel olarak, donanımınızı kurmak için gerekli açıklamaları takip edin ve buna bağlı olarak MSRS tarafından desteklenen bir platformlardan birini çalıştıran bilgisayarınızla olan bağlantıyıda sağlayın. Aşağıdaki bilgiler MSRS in 1.0 sürümündeki örnek uygulamalar tarafından desteklenen robotları kurmada size yardımcı olacaktır.

    LEGO Mindstorms RCX - Robotics Inventions System

    Aşağıdaki başlıklar bilgisayarınızdaki LEGO Mindstorms ile MSRS yu hızlı bir şekilde kurup çalıştırmanız için size yardımcı olacaktır.

    LEGO RIS 2.0 ı kurarken ne beklemeliyiz

    LEGO kiti içerisinde gelen CDdeki RIS 2.0 yazılımı Windows yüklü bilgisayarınıza otomatik kurulur. Windows işletim sistemlerine kurulabilmesine rağmen yazılımın en uyumlu çalıştuğı işletim sistemi Windows XP. Diğer işletim sistemlerinde bu yazılım stabil çalışmayabilir ve zaten LEGO tarafından resmi olarak desteklenen tek işletim sistemi Windows XP.

    LEGO Mindstorms RIS 2.0 CDsinden yazılımı kurduktan sonra LEGO bir veya belki iki yazılım güncellemesini bilgisayarınıza kurmanız gerekir.

    Tüm XP sistemlerde bilgisayar her açıldığında LEGO RIS yazılımını çalıştıran bir hata mevcut. RIS20XPPatch.exe yi LEGO web sitesinden indirip kurmanız gerekir.

    Hyper-Threading (HT) kullanan bilgisayarlarda sistem kilitlenmelerinden kaçınmak için güncel IR tower sürücüsünü kurmalısınız. Bu yama da LEGO web sitesinde bulunabilir. Bu yama aynı zamanda çift çekirdekli işlemcisi olan bilgisayarlara da kurulmalıdır.

    NOT Bazı çift çekirdekli bilgisayarlar bu yamayı kurduktan sonra dahi LEGO yazılımı çalıştırmayabilir.

    LEGO RIS 2.0 yazılımını ilk çalıştırdığımızda ne beklemeliyiz ?

    İlk önce LEGO IR towerı USB girişine bağlayın. Donanım sihirbazı yeni towerı tanıyıp otomatik olarak kurar. (Bilgisayarınıza IR towerı her taktğınızda bu sihirbazın tekrar çalışması gerekir.)

    Daha sonra uygulama çaılırken size sesli komutlar vererek yapacağınız adımları anlatır. Bu adımlarda IR tower kurulumu, LEGO RCX firmware in IR yardımıyla RCX e aktarımı, test edilmesi ve etkili uzaklığın denenmesi adımları yer alır.

    Bunlara Dikkat !

    • Firmware i (Temel olarak LEGO iştetim sistemi) RCX e gönderirken başka uygulama çalıştırmayınız.
    • Firmware RCX e tam ve düzgün şekilde yüklenene kadar birkaç denemeden fazla başarızlıkla sonuçlanması hatalı bir durumdur.
    • Firmware in yüklanmesi yaklaşık 4 dakika alır. Bu süreçte IR tower üzerinde yanıp sönen bir ışık ve RCX üzerindeli lcd ekranda 0000 dan 2500 e kadar sayılar görürsünüz. Yükleme tamamlanamazsa tekrar deneme şansınız mevcut.
    • Firmware in yüklenmesinin tamamlanmasından sonra LEGo yazılımı 5 tane hazır yazılmış uygulamayı RCX üzerine kopyalar. Bu işlemde yaklaşık bir dakika sürer.RCX üzerindeki lcd bu seferde 1 den 5 e kadar sayılar görüntüler ve sesli uyarılarda bulunur. Yükleme işlemi bittiğindede farklı bir sesle size bunu bildirir.
    • Pillerinizin (6 tane AA pilin alkalin pil olması yada gereğinden şarj edilebilir olaması önerilir) seviyesi ço kdüşük olduğunda yada pilleri çıkardığınızda bu firmware silinir ve tekrar yüklemeniz gerekir.

    RIS 2.0 ı programlamak için gerekli yazılımı nereden edinebilirim ?

    Zaten yapmadıysanız Visual Studio Express 2005 Edition yazılımını bilgisayarınıza kurun. .NET 2.0 da böylece kurulmuş olacaktır.

    Daha sonra LEGO Mindstorms Software Development Kit (SDK) 2.5 yazılımını kurmanız gerekecek. Bu da LEGO sitesinden ücretsiz olarak indirilebilir.

    Mindstorms SDK kurulduktan sonra RCX inizi açabilirsiniz. Bu aşamada Microsoft Robotics Studio örneklerini kullanabiliyor olmanız gerekir. Bu örnekler sensör ve motorlarınızın RCXe ne şekilde bağlanacağını tanımlayan özel bir ayar dosyasına ihtiyaç duyarlar.

    LEGO Mindstorms için LEGO yazılımını ve MSRS i kurmak için ipuçları

    Aşağıdaki liste LEGO Mindstorms için Microsoft Robotics Studio nun mevcut sürümünde meydana gelebilecek sorunlara gerçekçi yaklaşımlar sunmak içindir.

    Bazı bilinen sorunlar :

    • Bazı yeni bilgisayarlar LEGO IR tower ı tanımayabilir. Örnek olarak Toshiba Protege 3500 Tablet PC veya Dell desktop modellerinde tanımlanan hatalar vardır.
    • LEGO Mindstorms RIS 2.0 ile ilgili bazı forumlarda çift çekirdekli işlemcilerde güncellemenin kurulmasına rağmen LEGO yazılımı IR tower ile haberleşememektedir.

    Kızılötesi tabanlı iletişim

    Kodumuz bilgisayarımızda çalıştığı için LEGO IR towerı uygulamamızı çalıştıran bilgisayarımız ile RCX arasında bir hat olarak düşünebiliriz. RCX, gönderilen bu bilgilere komutlara göre fiziksel aktiviteleri gerçekleştirir. Bunu mümkün kılan IR towerımız. Eğer towerın iletişim bağlantısı koparsa uygulamamız çalışması durur.

    RCX bilgisayarı bizim bilgisayarımıza göre çok daha basit bir bilgisayar olduğu için kodumuzu geliştrirken onun limitlerine dikkat etmemiz gerekir. örnek olarak RCX event yapısına sahip değildir. IR tower donanım durumundaki değişiklikleri RCX üzerinden çekmek zorundadır. Daha sonra alınan bu bilgiler MSRS tarafından ele alınması veya alınmaması gereken bir event olarak yorumlanır. Bazı test uygulama geliştirme aşamalarında şu gibi sorunlar çıkabilir.

    • İletişim gecikmeleri
      RCX üzerinde olayın gerçekleşmesi ve bunun bilgisayarınızda tanınması arasında geçen zamanda birkaç saniyelik gecikme olabilir. Uzun gecikmeler bu olayın kaybolmasına sebep olabilir. Tower ile ilgili kısıtlamalar bu aşamada önem kazanır. Tower üzerine direk güneş ışığının düşmemesi, robotu 8- 10 metreden fazla uzaklaştırmama ve RCX ile tower arasına nesnelerin girmemesi gibi kısıtlamalar verimliliği artırabilir.
    • Komut kayıpları
      Bu kayıplar çoğunlukla bir sensöre ait event ın elealınmasıyla devreye giren motor komutlarında gerçekleşir.
    • Sensör tipinin ayarlanması
      Sensör tipinin ayarlanması kısa da olsa zaman alacaktır. Sensör tipi ayarını uygulamanın load event ında yapmanızı öneririz.
    • Kuyruğa atılmış komutlar çalışmaya devam edebilir
      Bilgisayarda çalışan programı sonlandırmamızdan hemen sonra robot hareket etmeye devam edebilir. Bu kuyruğa atılmış komutların işlemine devam etmesinden kaynaklanır. Böyle durumlarda robotu elle kapatmak gerekebilir.

    Bu yazımızda Lego Mindstorms RIS 2.0 paketi ile oluşturulan robotların temel kurulumu ile ilgilendik. Diğer robotlarında donanım kurulumlarını diğer yazılarda yakında görebilirsiniz.

    Kaynak : http://msdn.microsoft.com/robotics/learn/

  • Microsoft Robotics Studio (1.5) CTP sürümü ve ekleri yayınlandı

    Microsoft Robotics Studio 1.0 sürümünden sonra Microsoft hızlı bir şekilde 1.5 sürümünün ilk Community Technical Preview versiyonunu yayınladı. Diğer tüm Community Technical Preview yazılımlar gibi Microsoft Robotics Studio 1.5 CTP sürümüde geliştiricilerin teknolojinin hızında çalışabilmeleri için iyi bir olanak. Microsoft Robotics Studio 1.5 Community Technical Preview sürümü henüz sadece ticari amaçlı olmayan yuygulamalarda kullanılabilmesine rağmen 1.0 sürümüne göre bazı yenilikler getirdi ve devam edeceğe benziyor.

    Bu sürümün başka bir faydasıda 1.0 sürümü ile aynı zamanda kurulup çalışabilmeleri, ek olarak DssProjectMigration.exe kullanılarak projelerin yeni sürüme adapte edilebilmeleride mümkün.

    Windows CE ve Windows Mobile cihazlarına destek Bu sürüm bizlere servis kodlarını derleyip doğrudan CE işletim sistemleri üzerinden .NET Compact Framework 2.0 kullanarak çalıştırma imkanı sunuyor. Bu özellik Pocket PC 2003, Windows Mobile 5.0 and 6.0, Windows CE 5.0, and Windows CE 6.0 platformlarında kullanılabiliyor.

    Microsoft Visual Programming Language için performans ve kullanıcı arayüzü geliştirmeleri – Yükleme zamanları gözle görülür derecede artırılmış durumda ve kullanıcı arayüzünde gelişmeler mevcut. Kullanıcı arayüzünün geliştirilmesi daha kolay kullanımı ve anlaşılabilirliği destekliyor.

    Yazdırma desteğide diyagramlarımız için sağlanmış durumda. Bu versiyonun v 1.0 dosyalarını yüklediğinide ayrıca not etmek gerekir ki bu nedenle yeniden oluşturmamıza gerek kalmıyor.

    Microsoft Visual Simulation Environment için performans ve editör geliştirmeleri – Efektif performansın sizin ekran kartınıza bağlı olmasına rağmen bazı durumlarda frame rate 2 veya 3 kat daha hızlı olabilir. Ayrıca entity elemanlarınıda artık sağ tuşla doğrudan seçme imkanımız var. Ek olarak ışık kaynağı eklenmesi ile tipi, yönü, rengi ve konumu değişebilen ışıüımız oldu. iRobot® Create™ model robotta simülasyon servisleri ile birlikte eklendi.

    Yeni iRobot Create servisleri, basit renk izleme servisi ve IP kamera servisi – Roomba® BlueTooth® bağlantılı servislerindeki yeniliklere ek olarak yeni iRobot Create robotu içinde BlueTooth servisleri yeni sürümde mevcut. Basit renk tanıma sitemlerini desteklemek amacıyla renk izleme sistemi eklenmiş durumda. Ayrıca IP kamera özelliği web kameranın yanında yer alıyor.

    Güncellenen Futbol Simülasyonu önizlemesi ve YENİ eklenen Sumo Robotu önizlemesi –  Geçen ay yayınlanan futbol simülasyonu örneğine gelen 1.5 güncellemesine ek olarak yeni Sumo Robot simülasyonu da eklenmiş durumda. Güncellenen futbol simülasyonu önizlemesinin özellikleri ile kendi simüle edilmiş robot futbol yuncularımızı kontrol edebiliyoruz.

    Robot simülasyon arayüzü bizlere elimizdeki az sayıda robot ile büyük bir robot yarışması düzenleme olanağı sunuyor, simülasyon ortamında geliştirilen robotlar son aşamada gerçek robotlarda denenerek kullanılabilirler. Aşağıdaki resimde gördüğünüz robot konfigürasyonubir iRobot Create, ICOP Ebox 2300, ve Logitech webcam kulanılarak oluşturulmuş ve bu yılın Mobile Embedded Developers Conference ta yer alacak. Katılımcılar kendi yazılımlarını gerçek robotta deneme imkanı bulacaklar.

    Daha fazlası geliyor – Microsoft un açıklamalarına göre bu versiyon sadece 1.5 versiyonunun önizlemesi ve daha çok geliştirme aşamalarından geçecek.

    Ayrıntıları forumlarımızda sorabilir ve cevap arayabilirsiniz. Microsoft Robotics Studio ile ilgili çalışmalarınızı paylaşmak için biz eulaşabiirsiniz.

    Kaynak : http://msdn.microsoft.com/robotics/getstarted/v1_5Preview/default.aspx