Reached the mature version 4, Robotics Developer Studio is a free tool built by Microsoft used in simulation and control of robots. With a long list of components that can be simulated, RDS gives evidence of maturity and a complexity which is not found in the long list of other simulation platforms used in robotics. Once developed, an algorithm can be installed easily on another computer with a different configuration. This is not the case of a navigation algorithm which depends directly on the sensors and other hardware components.
Version 4 has support for a device not found in previous versions, namely the Kinect sensor. Since it appeared, the Kinect sensor successfully managed to remove some monotony that could have appeared in home-made robots. Simulated or controlled, such a sensor created a premise to develop very capable robots that can be used in various fields.
The collaboration between Microsoft and hardware manufacturers in the field of robotics began to take shape when the first 100% RDS compatible hardware surfaced, the Eddie platform from Parallax. Eddie is an interesting platform that has 3D vision, enabled by the Kinect sensor and can be controlled wirelessly.
Robotics Developer Studio has four main components used in control and simulation:
Mobile robots are perhaps the most representative and, why not, most spectacular category of mechatronic systems, some of them being able to perform very life-like tasks, can handle very difficult terrain, thanks to revolutionary solutions integrated into their chassis, while some of them can even save human lives. There are countless wheeled and tracked mobile robot building kits and platforms out there nowadays. From educational kits aimed at beginners, that are focused on demonstrating one or more principles of various nature, to full-featured platforms by means of which advanced robots can be developed.
These kits come in all shapes and sizes, from very tiny micro robots, that can be operated indoors or in controlled environments, to much larger platforms, with extended features that can be operated in harsh environments and can accomplish numerous tasks. Of course, based on the degree of interactivity, we can find robots that can be remote controlled, either by dedicated consoles or even by your personal mobile device, robots activated by various stimuli and even fully autonomous robots that can continuously optimize their behavior by learning and making decisions in order to accomplish their tasks.
Applications for these robots can be practically endless, you can build your own team of wheeled football playing robots, that can be controlled by a central computer or array of processing units based on information received by video cameras and, if you have the time, the money and maybe some friends to help, you might consider building your own AGV, complete with GPS navigation, laser or sonar guidance, video analysis and whatnot. Continue reading (…)
In many industries such as video game graphics, special effects, product design and, of course, robot design some type of 3D modeling software is used to a large extent. These software export files that can be imported into other applications to be used in simulations and animations. On the market there are several 3D modeling platforms, some of them can be used for free, while others require paying a license. Their use in the field of intelligent machines has lead to the development of an industry of robotic concepts used for inspiration or for developing next generation functional robot concepts.
The first benefit brought by 3D modeling is allowing an in detail observation in all stages of the model to be created, in other words it is a way to give life to the robot before physically building it. Numerical 3D modeling also increases the speed of simulation, productivity and can develop new concepts and techniques for building robots. The study of 3D model can lead to optimization and simplification of the concept, idea represented through words. Animation can integrate scientific data aimed to create a virtual model as realistic as possible of the physical robot and various effects can be applied to a virtual model, like reflections, transparencies and shadows, useful for highlighting various model features. Continue reading (…)
The brain of a robot that follows a line is too simple to have an operating system. It has to manage a limited number of entries and its output is a limited number of instructions. For such a robot an operating system would mean a high computing effort and that would be too expensive.
An operating system that manages the resources of a robot has its role in special cases, when the robot has to accomplish complex tasks autonomously or controlled externally. This management system allows the multilateral development of an intelligent machinery for use in extensive tasks in various spheres of activity. Centralization components of a robot are necessary once complexity is increased. A central control unit that knows what each component is and how to use it is the only real solution to create complex robots such as humanoid robots.
Using Linux is not an unique solution but rather a simple way to create a robot that can see, hear, recognize a person or an object or to decide what to do. Besides the control of robot components, a Linux OS has another important role – to create a stable system for software applications to work with hardware components without knowing all the details about them.
In robotics, as almost everywhere else, hardware components are created by different companies and have different configurations. These variations will lead to difficulties in controlling this diversity of component configurations, therefore it is important to use an operating system that knows how to interact with each and everyone of them. There are various tools based on the Linux platform, in this article we try to describe what Linux should do for a robot, together with a list of tools that can be used in complex robot development.
What should Linux do for a robot
An operating system must ensure the control of sensors, arms, legs, navigation and other components without having the details of each component embedded. Also it must be compatible with a large variety of processors and must allow installing software modules needed for robotics. Using a mainstream framework instead of a home developed framework encourages development of robots and can reduce time and costs. Continue reading (…)
By the term “machine” we understand an artificially manufactured object that interacts with its environment. For this interaction this object either takes energy from the environment and converts it into mechanical energy and dissipated heat or manipulates information.
From a chronological standpoint there were simple machines, they were controlled by a human operator, machines programmed to execute certain routines, more advanced than their predecessors and, of course, intelligent machines that have sensing capabilities, are able to recognize objects, can navigate, learn and have planning abilities. These machines can alter their behavior to adapt to the environment as well as to internal conditions and this adaptation can take place every time changes occur in the respective environments.
When we say “intelligent” we refer to the ability of a system to reach a certain goal or to have predictable behavior in uncertain conditions. Sources of uncertainty can be unexpected and unanticipated events, together with incomplete or insufficient information on deciding what is to be done.
Intelligent machines capable of making decisions in such conditions of uncertainty are different to programmed machines that do repetitive tasks and are capable of changing their behavior only based on input from a human operator.
The definition of intelligence, stated earlier, refers to its basic level. Higher intelligence levels implemented in a machine assume it has abilities of learning from interactions with the environment, adapting to the environment with the purpose of reaching a goal and is capable of formulating new objectives. The degree of intelligence integrated into a machine has the purpose of improving its functional performance and to make the machine more friendly with the user and the environment. Continue reading (…)
The history of prosthesis begins several hundred years ago, more precisely in the 1500’s when the first copies of human limbs were made using iron, steel, copper and wood. Robotic artificial limbs have as ancestors prosthetics which were used to replace disability of a human body.
The science that deals with prosthesis control by reading activity of biological components is called Biomecatronics. Scientists who are activating in this area have made significant improvements in device performance and design, so that nowadays these prosthetic limbs can be used almost as well as their biological counterparts. Nowadays materials like carbon fiber or plastic are used to create these robotic prosthesis, in order to achieve low weight and high strength and durability characteristics.
Can we name a human with a robotic arm controlled by the nervous system a cyborg? Yes, we can, because a cybernetic organism includes both biological and artificial parts. Most common human body parts replaced by artificial limbs are arms and legs. The control of artificial limbs can be done in many ways, from directly reading brain impulses and up to connecting the robotic prosthesis directly to the muscle fibers. But this system only allows open communication between the brain and the artificial prosthesis.
Fiber optics and human nerves interfacing principle
Connecting an artificial system to the human nervous system is a difficult task due to the sensitivity of the human body to external components. Muscle contraction generates a weak electric signal which can be read by using electrodes mounted on the body’s tissues. This type of operation is called a myoelectric prosthesis. Continue reading (…)
Microsoft strategy for the robotic world covers a long period and aims to accelerate projects in the field. MRDS is a simulation platform that reached version 4 beta 2 and comes with a list of new features, compared to MRDS 2008.
With an improved and structured documentation, the new Robotics Developer Studio can be used to develop applications and complex scenarios for autonomous robots or robots that can be controlled remotely via the Internet, Wireless or Bluetooth. The application can be downloaded free and has installation steps which do not require great knowledge in the field.
Robotics is more complex than the IT field. If we install for example Windows OS on various systems with different processors and with various hard drives, it will perform equally well on any of these. In robotics we do not have this uniformity. A program built for a specific robot can only work on that robot, it can be transferred to another robot only after a certain amount of changes. The compatibility of a program designed for a robot is determined mainly by its strong dependence to sensors and other hardware components. These incompatibilities between platforms prevent multiple users to share their code.
MRDS provides a large library with robotic components for simulation. These components were created following the collaboration between Microsoft and manufacturing companies that produce robot kits. Continue reading (…)