The advent of robots has impacted retail to a great extent. Their very existence has changed the shopping experience in a positive way. In this article, we will discuss the benefits of robots and how to design and create a software program for robots at a very high level.
Master of Inventory
Carnegie Mellon University’s research team developed an innovative robot called Andy Vision. It is designed as master of inventory to automate the common tasks normally performed by a retail clerk.
The robot is programmed with complex algorithms and a series of proximity sensors. As the mechanized worker, it roams the aisles and performs detailed inventory checks. Andy Vision scans each item on the shelves and updates the information in the database. It also investigates the stock and sends out procurement alerts if items are low or out of stock.
Customers can view the product detail via touch-screen with shelf-level interactive store map generated by the robot. The retail staff can view the real-time inventory list on iPads.
Andy Vision scans the barcodes, product images and uses the information about the shape, size and color of an object to determine the product identity. It has strong visual merchandising skills. The robot determines which items belong to which shelves and is capable of sending out alerts if items are misplaced.
The research team displayed the robot at an Intel Research Labs event in San Francisco. Retail industry workers don’t have to worry about Andy Vision stealing jobs, but its ability to track inventory and help customers (most likely without a condescending attitude) will certainly make it a boon to store managers in the near future.
How to design and create a software program for robots
Microsoft’s Robotics Developer Studio (RDS) provides an integrated .NET development environment for designing, executing and debugging highly scalable concurrent distributed robotics applications. The primary programming language is C# and it requires the Microsoft Windows 7 operating system.
Four main components of RDS:
- CCR (Concurrency and Coordination Runtime)
- DSS (Decentralized Software Services)
- VPL (Visual Programming Language)
- VSE (Visual Simulation Environment)
CCR (Concurrency and Coordination Runtime)
CCR is a managed code library like DLL (Dynamically Linked Library) and is accessible from any language targeting the .NET Common Language Runtime (CLR).
It addresses the need for service-oriented applications to handle asynchronous (parallel) input from multiple robotics sensors and output to motors, actuators which can deal with concurrency and exploit parallel hardware.
DSS (Decentralized Software Services)
DSS is used to create service using service-oriented architecture (SOA) to access and respond to a robot’s state using a web browser or Windows-based application.
Its services are exposed as XML-documents which are accessible by both programmatically and through a web browser.
VPL (Visual Programming Language)
VPL is a drag-and-drop (dataflow-oriented) graphical development environment for consuming DSS Services. Instead of a control flow which is typically found in conventional programming, a dataflow program controls the designed (drag and dropped) components which are executed based on the arrival of data.
VSE (Visual Simulation Environment)
VSE provides an integrated simulation environment for creating and running simulations of robots and other entities using high-fidelity 3D rendering.
Links & Resources:
Click here to download Microsoft® Robotics Developer Studio 4, which is available for free.
Those interested may also pick up the Eddie Robot Platform, a $1,250 hardware kit designed to work with Microsoft’s standards and Robot Developer Studio 4. It can be used by both professional and non-professional developers, as well as hobbyists