Here is a library of 15 free online videos on MRDS. The Microsoft Robotics Developer Studio is a Windows-based environment for robot control and simulation. You can Download Microsoft Robotics Developer Studio 2008 Express Edition For free.
Be sure to click on this website to look at a list of videos: Microsoft Robotics Developer Studio
* DSS (Decentralized Software Services) Is the services architecture, and it is a companion to CCR. This is based on Service Oriented Architecture. This provides the ability to author applications that are very distributed and modular. This permits one to execute your code in the processing work horses and use anywhere in the distributed environment. The DSS makes it simple to access, and respond to, a robot's state via a Web browser or Windows-based application. This allows real-time monitoring of robotics sensors and real-time response to motors and actuators.
* CCR (Concurrency and Coordination Runtime) - makes asynchronous programming simple. The CCR makes it simple to compose programs to handle asynchronous input from multiple robotics sensors and output to motors and actuators. With the use of CCR, we don't need to do any manual threads management. This may be supremely valuable in handling concurrency and partial failure. CCR has a failure handling mechanism called Causalities. This is essentially a generalization of Try / Catch for multiple threads. But this is for many machines and processes working in synchronous fashion. This is the base of Robotics architecture by Microsoft. You can even use this component for the applications running on a PC instead of a robot. CCR is available in the form of a dynamic link library which may be used by any .net language.
* VPL (Microsoft Visual Programming Language) Is a visual programming tool that is used for creating and debugging robot applications, web-based and windows-based interfaces.
* VSE (Visual Simulation Environment) Allows one to simulate the behavior of robots in a virtual world using NVIDIA PhysX technology (3D engine) that includes advanced physics.
The Runtime environment : the CCR and the DSS. The runtime is based on a lightweight REST-oriented services model. Making it REST based has made the services and applications to be independent of each other. They may be on the same machine or distributed across different machines connected through any method. When we say REST based, This implies that the resources should be available by query strings. These services are available as resources to the other services, applications or User Interfaces. This is ultimately how Microsoft is able to promise low coupling across services. The Runtime supports from 8-bit to 32-bit robots. These robots may range from Toy Robots to Industrial Robots.
Microsoft VPL Makes it possible for one to put together and debugrobotics programs simply. Just drag and drop blocks that represent services, and connect them. It is also possible to take a collection of connected blocks and reuse them as a single block somewhere else in the program. VPL follows the Observer Pattern. This means that it is not based on Control flow but on data flow which allows some program elements to get executed when some data arrives. VPL provides a model-driven approach to develop and coordinate services.
Easily Simulate Robotics applications using realistic 3D simulated models. Since testing with real robots is often expensive, it saves money to start out in a simulated environment first and then move to real robots once the concepts have been proven to work. Microsoft Visual Simulation Environment (VSE) is based on Microsofts XNA Framework and the rendering engine uses AGEIA PhysX Technology from AGEIA Technologies Inc.. AGEIA Technologies Inc. Is a pioneer in hardware-accelerated physics, enabling real-world physics simulation for robot models. PhysX simulations can also be accelerated using AGEIA hardware. These simulations can be recorded and saved as XML files and played back over and over again.
You must click on this site to look at a related post: Robotics Studio
* Reuse Modular Services Using a Composable model
Create high-level functions using simple divisions, providing for reuse of code modules as well as better reliability and replaceability. For example, a lower-level sensor service might be integrated into a navigation service.
* Scalable and Extensible Platform
The RDS programming model may be applied to a variety of robot hardware platforms, enabling users to transfer their skills across multiple platforms. The programming interfaces may be used to develop applications on single or multi-core processors.
* Easily extend Microsoft Robotics Developer Studio Functionality
Third parties can extend the functionality of RDS by providing additional libraries and services. Hardware or software vendors can make their products easily compatible with RDS.
* Develop using a wide choice of programming languages
MRDS allows you to access the runtime services using the following programming languages: C# and Visual Basic .NET, JScript, and IronPython
* Microsoft Robotics Developer Studio allows one to use assorted packages to add other services to the suite.
Those other services include:
O Soccer Simulation
O Sumo Competition by Microsoft
O a community-developed Maze Simulator which is a program to create worlds with walls that can be explored by a virtual robot
* Princeton University's DARPA Urban Grand Challenge autonomous car entry was programmed entirely with MRDS.
* In 2008 Microsoft launched a simulated robotics competition named RoboChamps using MRDS, 4 challenges were available : maze, sumo, urban, and mars rover. The simulated environment and robots used by the competition were created by SimplySim and the competition was sponsored by KIA Motors.
What a crowd!
This is a chance to meet robotics enthusiasts with the Kansas City Robotics Society and participate in the competition. There will be mini sumo and 1kg sumo events, line following competitions and the popular dinnerware demolition challenge. There will be Solar Roller races for the kids too.
Several KCRS members have been working on a giant Robotic Labyrinth for Science City. We will be debuting our mid-sized 3D Golf Robotic Labyrinth at the event.
Saturday, June 13 RoboFest '09
Union Station above the Harvey House restaurant.
12:30 pm to 4:30 pm
“We need to design robots to interact with people who do not understand technology.” Making robots user friendly will be one of the hardest tasks for the robot builder and inventor. A good robot human interface is the best place to start. The interface has to be simple, straight forward and easy to use. The robot also has to be strong and sturdy. Hard to break and low maintenance requirements. Battery life needs to be extended. People will not want to recharge batteries every two to three hours.
He had a very funning line “the banes of robots are 12 year old boys because they will want to take apart the robot and see how it works.”
‘You need to think about how robots will interact with real people” not nerds/robot geeks.
“Robots are different than any other form of technology.” It is also a very rapidly developing technology. Like the internet and computers in their early stages of development.
‘Who is responsible when a robot causes an accident at home or on the job?” A Mower kills a cat or a robot pourer’s coffee into your lap? That question maybe best answered by a lawyer or judge. Is killing a robot or torturing a robot illegal? You can torture and even kill the robotic dinosaur Pleo. There are even videos of this behavior on You-tube. Most people laugh at the videos and think that they are cool. Are these acts of violence or good natured fun?
Three Laws of Robotics
the Zeroth Law reads: "A robot may not harm humanity, or, by inaction, allow humanity to come to harm."
http://samvak.tripod.com/robot.html
Will we need to write laws that govern how people can treat robots?
“Need to develop a human robot interface that is painless to use.” I think that the best approach will be an audio, visual interface. Have a touch screen on the robot for very detail questions and answers and an audio response to more basic inquires.
Humanoid robots? Or should function dictate form. Studies have shown that too human creeps’ people out. “A robot that is too human may freak out people around it?” A bladerunner type robot maybe fine until people find out that it is a robot? The best robot maybe humanoid it just may take a while for us to get use to them in the work place, at home or in public? I personally think that the best robot design will be a humanoid but you will still be easily able to tell that it is a robot. If you do a Google search on humanoid robots you will find that a lot of people think that robots should not have human form. Most think that a human form is not necessary and a waste of research time.
I think that the biggest question that I now have after thinking about his lecture more is how will people truly see robots as they enter the work force? Will they see them as a tool, an aid, a co-worker or an annoyance! If people see than as an annoyance (robot prejudice maybe) than it may be impossible to get rid of all problems between robots and people? The real work may be in educating and getting people use to having robots at home, in the workplace and in public. That is something that this robot geek will leave to other people to work out.
Check out the books: Mindblindness and The Media Equation.
Dr. Smart programs his robots using the open source robotic C complier called Player.
Almost all the above definition are from Wikipedia.
“Build a simple or richer model of the brain?” A simple model may be the way to go for now and as time goes on improve the model. Make it richer so to speak.
Our experience is that the environment of computer modeling often leads one to ask new questions, or to ask old questions in new ways-- questions about chaos within patterns of paradoxical reasoning or epistemic crises, for example, or Hobbesian questions asked within a spatialization of game-theoretic strategies. Such an environment also enforces, unflinchingly and without compromise, the central philosophical desideratum of clarity: one is forced to construct theory in the form of fully explicit models, so detailed and complete that they can be programmed. With the astounding computational resources of contemporary machines, moreover, hidden and unexpected consequences of simple theories can become glaringly obvious: "A computer will do what you tell it to do, but that may be much different from what you had in mind."12
Although difficult to characterize, it is also clear from experience that computer modeling offers a possibility for thoroughly conceptual work that is nonetheless undeniably experimental in character. Simple theories can be tested in a range of modeled counterfactual ‘possible worlds'-- Hobbesian models can be tested in worlds with and without perfect information or communication, for example, or with a greater or lesser Rawlsian ‘veil of ignorance'. One can also, however, test theoretical variations essentially at will, feeling one's way through experimental manipulation toward a conceptual core: an hypothesis of precisely what it is about a theory that accounts for the appearance of certain results in certain possible worlds.
It must also be admitted with regard to computer modeling-- as with regard to philosophical or intellectual modeling in general-- that models can fail. All models are built with major limitations-- indeed that is the very purpose of models. Models prove useful both in exposition and exploration precisely because they're simpler, and therefore easier to handle and easier to track, than the bewildering richness of the full phenomena under study. But the possibility always remains that one's model captures too few aspects of the full phenomenon, or that it captures accidental rather than essential features. One purpose of labeling ours as explorations in computer modeling is to emphasize that they may fail in this way. When and where they fall short, however, it will be better models that we will have to strive for.
http://www.sunysb.edu/philosophy/faculty/pgrim/intro.html
“Should we try to educate people about how to work with robots?” Like a driver’s education course. Training and experience maybe the best way to overcome any problems. Good examples are cars and computers. They are very complicated objects to use but most people can operate them. Most people will not have to be able to build, repair or program a robot. They will take it to a shop like most people do with their cars or computers.
Work on A.I. is taking forever. It is making progress at a snail’s pace. A true AI maybe out of our reach for sometime?
The field of robotics[79] is closely related to AI. Intelligence is required for robots to be able to handle such tasks as object manipulation[80] and navigation, with sub-problems of localization (knowing where you are), mapping (learning what is around you) and motion planning (figuring out how to get there).[81]
Artificial intelligence (AI) is the intelligence of machines and the branch of computer science which aims to create it.
Major AI textbooks define the field as "the study and design of intelligent agents,"[1] where an intelligent agent is a system that perceives its environment and takes actions which maximize its chances of success.[2] John McCarthy, who coined the term in 1956,[3] defines it as "the science and engineering of making intelligent machines."[4]
Among the traits that researchers hope machines will exhibit are reasoning, knowledge, planning, learning, communication, perception and the ability to move and manipulate objects.[5] General intelligence (or "strong AI") has not yet been achieved and is a long-term goal of some AI research.[6]
AI research uses tools and insights from many fields, including computer science, psychology, philosophy, neuroscience, cognitive science, linguistics, ontology, operations research, economics, control theory, probability, optimization and logic.[7] AI research also overlaps with tasks such as robotics, control systems, scheduling, data mining, logistics, speech recognition, facial recognition and many others.[8]
Other names for the field have been proposed, such as computational intelligence,[9] synthetic intelligence,[9] intelligent systems,[10] or computational rationality.[11] These alternative names are sometimes used to set oneself apart from the part of AI dealing with symbols (considered outdated by many, see GOFAI) which is
“Weak and Strong A.I.”
Strong AI vs. weak AI is used to refer to:
“People are happier when they can predict things going on around then and nervous or unhappy when then cannot. It is a skill that we developed early because we need to know if a lion was going to attack us or not.” I think a very good point is that after people get use to a robot being around will they not just ignore it?
“Your vision is better than most cameras. We have the ability to know what something is even if we have never see it before or been there before as in looking at pictures.” A robot that can learn maybe the best way to solve this problem?
The eye is not a single frame snapshot camera. It is more like a video stream. The eye moves rapidly in small angular amounts and continually updates the image in one's brain to "paint" the detail. We also have two eyes, and our brains combine the signals to increase the resolution further. We also typically move our eyes around the scene to gather more information. Because of these factors, the eye plus brain assembles a higher resolution image than possible with the number of photoreceptors in the retina. So the megapixel equivalent numbers below refer to the spatial detail in an image that would be required to show what the human eye could see when you view a scene.
Based on the above data for the resolution of the human eye, let's try a "small" example first. Consider a view in front of you that is 90 degrees by 90 degrees, like looking through an open window at a scene. The number of pixels would be
90 degrees * 60 arc-minutes/degree * 1/0.3 * 90 * 60 * 1/0.3 = 324,000,000 pixels (324 megapixels).
At any one moment, you actually do not perceive that many pixels, but your eye moves around the scene to see all the detail you want. But the human eye really sees a larger field of view, close to 180 degrees. Let's be conservative and use 120 degrees for the field of view. Then we would see
120 * 120 * 60 * 60 / (0.3 * 0.3) = 576 megapixels.
The full angle of human vision would require even more megapixels. This kind of image detail requires A large format camera to record.
http://www.clarkvision.com/imagedetail/eye-resolution.html
“Robot = People” I think that this is what most people will think when they our first around a robot. I think that the big question is how human will we make robots? Also will people see a robot that does not look human as a person or as a poorly designed machine or toy?
“Most people will interact with robots as if they where human.” You can see this by the way we treat our pets. We often attribute human reasons for their actions and response to us.
“Robots and people will need to interact directly without an interpreter” (Robot Geek). Robots will be out on their own with very little or no help from their builders or designers’.
“Robot development will be Software driven?” Here I disagree with Dr. Smart. I think that there is much that you can do on the hardware side to improve interaction between humans and robots. The big one is voice communication. If a robot can carry on a two conversation with humans, it would greatly decrease miscommunication between the two.
“Make robots smarter. Build a mathematical model of the human brain?” This may never be fully done for many reasons.
Computer models can be classified according to several criteria including:
For example:
A special type of discrete simulation which does not rely on a model with an underlying equation, but can nonetheless be represented formally, is agent-based simulation. In agent-based simulation, the individual entities (such as molecules, cells, trees or consumers) in the model are represented directly (rather than by their density or
Still not done but getting closer. I may end up putting all my thoughts in to one big long stream of consciousness instead of writing many different posts on my ideas about the future of robotics.
I went to a very interesting lecture called “The Robots are Coming! How to Get People and Robots to Interact with Each Other” The speaker was Dr. Bill Smart, Assistant Professor, Department of Computer Science and Engineer, Washington University, St Louis.
The intro he wrote for the Lecture and I think a good intro to talking about the lecture is as follows.
‘’As robotics becomes a mature science, we will begin to see more and more robots in our daily lives. This means that members of the general public will have to interact with them directly. These interactions may be in passing (where the robot is simply in the same physical space as the person), social (such as a robot waiter), or task-based (where the human is using the robot to complete a particular task). In all of these scenarios, there is a social interaction between the human and the robot. In order to make these interactions work, we must know what the expectations of both the human and the robot are, and must carefully design the software on the robot to respect these expectations.
In this talk, we will look at some of the fundamental questions in the new area of Human-Robot Interaction, talk about some if the technical issues involved, and speculate about where things will go in the next 50 years.”
I think that the lecture was well wreath my time and he brought up some very interesting ideas that I have never thought of. The overriding theme and a new term or field of study that he talked about was Computational Philosophy.
Computational philosophy (CP) is a philosophical subdiscipline, which uses computers as a subject matter, intuition pump, and research tool. Correspondingly, CP may be viewed as being comprised of three primary divisions philosophy of computation/information, computational philosophy (proper) and philosophical modeling. Philosophy of computation/information is concerned with the intelligibility, and significance of the central concepts of computer science. Computational philosophy proper applies the formal and conceptual apparatus of computer science to traditional philosophical problems. Philosophical modeling is the systematic formalization and modeling of philosophical theories for practical and evaluative purposes. Computational philosophy presents a unique set of concepts, methods and problems that constitutes a rich philosophical subdiscipline.
http://www.crumpled.com/cp/aboutcp.html
Before I get into some of my thoughts on his lecture. I need to make note of some of the sad to me facts about the audience in attendants at the lecture. The turnout was great at UMKC where the free lecture was held. It was the demographic that where sad. Most of the audience was composed of older alumni of UMKC. Very few students of the University maybe 5? About 10 high school students from around schools in KC. I think many where there for only extra credit for a class? At the regional First competition in KC there where 100’s of students in attendants and all were very enthusiastic. I will have to do more thinking and research as to why the younger population did not turn out for the lecture?
“What is a robot? It is mobile. It has sensors. It has actuators. It reacts to its environment.” This is a very straight forward definition that needs very little comment.
A robot is a mechanical or virtual artificial agent. In practice, it is usually an electro-mechanical system which, by its appearance or movements, conveys a sense that it has intent or agency of its own. The word robot can refer to both physical robots and virtual software agents, but the latter are usually referred to as bots.[1] There is no consensus on which machines qualify as robots, but there is general agreement among experts and the public that robots tend to do some or all of the following: move around, operate a mechanical arm, sense and manipulate their environment, and exhibit intelligent behavior, especially behavior which mimics humans or animals.
The following is a very high level outline of his speech “How to make a more Social Robot. We have to better understand ourselves. Build formal, mathematical models of human behavior. Implement these models in a robot. Verify that they work through experimentation.”
“Most people will see robots as kid like with underdeveloped social skills.”
“Robots need the ability to Mind-read people and vs. versa.” To discern (or appear to discern) someone's thoughts
“Need to work on social skills for robots.” I don’t think that a robot geek would be a very good teacher but I maybe wrong?
Social norms have been defined as "the rules that a group uses for appropriate and inappropriate values, beliefs, attitudes and behaviors. These rules may be explicit or implicit. Failure to stick to the rules can result in severe punishments, the most feared of which is exclusion from the group."[1] They have also been described as the "customary rules of behavior that coordinate our interactions with others.
“Robots will seem like social misfits because they will not be able to react to body language and signs given off by people and people will not be able to do the same.” Maybe the second most important way to decrease people’s uneasiness around robots.
“Robots will have to be taught social norms.” I think that this maybe the most important way to decrease people’s uneasiness when they are around robots in the work places, at home or in public. A robot that says the wrong thing at the wrong time. A robot that stands to close to, far away or makes the wrong jester could cause all kinds of problems.