|
Written by Raúl Arrabales Moreno
|
|
Tuesday, 08 January 2008 |
One of the latest robotic toys from WowWee Robotics is the Robopanda. Unlike former WowWee robots like Robosapien, this robot doesn’t work with a remote control, but directly by touch and sound. It is designed to play games, sing songs, and talk with children. It is even able to crawl on all fours and includes its own little toy panda!
It can operate in three different modes:
- Training mode: he will guide you through his many features. - Friend mode: talkative and telling jokes. - Menu mode: he will tell stories, play games, sing songs and learn tricks.
It is equipped with 8 motors, sonic sensors, touch sensors, accelerometer tilt sensor, safety sensors, memory cartridge slot, LED indicators, and volume control. Power is supplied by 6 x C and 4 x AA batteries.
The following video is a Robopanda demo at CES 2007:
Robopanda commercial:
Be first to comment this article | Add as favourites (48) | Quote this article on your site | Views: 1065 | E-mail |
|
|
Written by Raúl Arrabales Moreno
|
|
Tuesday, 08 January 2008 |
First of all, the mirror test is not exactly intended as a general test for consciousness, but a specific test for self-consciousness, and more exactly self-recognition. It is generally applied to some higher mammals and infants. The test consists on determining whether or not the subject can recognize its own reflection in a mirror. So far, only subjects belonging to the following species have passed the mirror test:
humans (over 2 years old), great apes (bonobos, chimps, orangutans, and gorillas), rhesus monkeys, elephants, bottlenose dolphins, rats, and octopuses.
I think it is important to note that only a determined number of individuals of these species have passed the tests, while others generally fail to pass it. Obviously the test has to be adapted to each specie, although it typically consists on an odorless paint mark made in the forehead while the animal is anesthetized.
The mirror test has been considered by some researchers as one of the best available ways to test self-consciousness in organisms (see for instance how it is applied to Elephants in [1], and see [2] for an open discussion about the mirror test validity). Mirror test is famous thanks to its application to primates, as introduced by Gordon Gallup in the 70’s [3]. However, little work has been done in the application of the mirror test to robots.
Can we build a robot able to successfully pass the mirror test? And if so, does it really mean that the robot is self-aware?
Takeno et al. [4] at Meiji University in Japan claim that they have succeeded in achieving mirror image cognition for a robot. They define four steps for their experiments, where four robots are used: the self robot Rs, the other robot Ro, the controlled robot Rc, and the automatic robot Ra. The first two robots are endowed with the mirror image cognition system. The third robot is controlled by the self robot, while the last one moves automatically.
The four experiments are as follows:
1) The self robot Rs imitates the action of its own image reflected in a mirror. 2) The self robot Rs imitates an action taken intentionally by the other robot Ro as imitative behavior. 3) The controlled robot Rc is controlled completely from the self-robot to imitate his behavior. 4) The self robot Rs imitates the random actions of the automatic robot Ra.
The robot is able to recognize its own image reflected in a mirror without confusing it with the image of another robot with the same physical aspect. The mirror image cognition system is based on an artificial neural network. The aim of this system is to recognize and differentiate robot’s own behavior from other robot’s behavior. Takeno also suggests that imitation is a proof of consciousness as it requires the recognition of other subject’s behavior and then the application of that behavior to oneself.
The results described in the paper indicate that in some way the robots are passing the mirror test with an accuracy of 70%, but I am reluctant to claim that they are self-conscious. I would rather say that the present a-consciousness of their recognized image.
[1] http://www.conscious-robots.com/en/neuroscience/mammals-brain/elephants-recognize-themselves-in-the-m-3.html [2] http://www.conscious-robots.com/en/forums-./test-for-consciousness/mirror-test/view.html [3] Gallup, G.G., Jr. (1977). Self-recognition in primates: A comparative approach to the bidirectional properties of consciousness. American Psychologist, 32, 329-337. [4] Junichi Takeno, Keita Inaba, Tohru Suzuki. Experiments and examination of mirror image cognition using a small robot. Proceedings. 2005 IEEE International Symposium on Computational Intelligence in Robotics and Automation, 2005. CIRA 2005. Full paper available at: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1554325
Comments (1) | Add as favourites (159) | Quote this article on your site | Views: 2616 | E-mail |
|
Last Updated ( Wednesday, 05 March 2008 )
|
|
Read more...
|
|
|
Written by Raúl Arrabales Moreno
|
|
Thursday, 20 December 2007 |
|
When you look for the first time to the C# sample code provided with Robotics Studio you will notice that some new features of this language are extensively used. Statements like yield return, yield break, and IEnumerator<ITask> might call your attention.
Basically, all of this is about Iterators. If you are new to C# 2.0 and want to program robotics applications using Robotics Studio you should clearly understand how Iterators are used.
Iterators can be methods, get accessors or operators that support foreach interation in a class. Usually, if you want to use the foreach statement with a given class you need to implement the IEnumerable interface. However, using Iterators allows you to support foreach iteration in a class without having to implement the entire IEnumerable interface. You just need to write an iterator able to sequentially access the data structures contained in your class. The Visual Studio compiler detects iterators and automatically generates the IEnumerable methods Current, MoveNext and Dispose.
When writting iterators code, the statement yield return is used to return each element in turn, while yield break ends the iteration. The elements returned by yield return <expression> have to be of type IEnumerable or IEnumerator. In the case of Robotics Studio, when we are using the CCR, we usually return a IEnumerator<ITask> (as the generics IEnumerable<T> and IEnumerator<T> can also be used with iterators). Basically, what we are doing is dispatching a collection of tasks.
Have a look to the following links for a detailed explanation and sample code:
Be first to comment this article | Add as favourites (45) | Quote this article on your site | Views: 1448 | E-mail |
|
Last Updated ( Thursday, 20 December 2007 )
|
|
|
Written by Raúl Arrabales Moreno
|
|
Thursday, 20 December 2007 |
This is a mail list for the participants in the RoboCup MSRS Challenge. The list is for announcements and discussions relating to the RoboCup Microsoft Robotics Studio Challenge.
Following the link above you will be able to browse the RoboCup-MSRS list archives.
Be first to comment this article | Add as favourites (50) | Quote this article on your site | Views: 966 | E-mail |
|
|
Written by Raúl Arrabales Moreno
|
|
Monday, 17 December 2007 |
|
Microsoft Robotics have relased an update of the Microsoft Robotics Studio 1.5 platform. This update, called Refresh, include bugfixes and some new features as a response to the comments, requests and bug reports received from the community in the MSDN forums. The complete list of new features and bug fixes can be found here: Note that this update is binary compatible with the original MSRS 1.5 version. Therefore, you don't need to recompile your code after applying the Refresh. There are two installation packages: one is a full install for users who want to install MSRS for the first time. The other is an update package that can be applied on top of your current MSRS 1.5 installation. Be first to comment this article | Add as favourites (46) | Quote this article on your site | Views: 1019 | E-mail |
|
Last Updated ( Monday, 17 December 2007 )
|
|
|
Written by Raúl Arrabales Moreno
|
|
Tuesday, 11 December 2007 |
SimulatedPioneerBumper Service
Microsoft Robotics Studio comes with a simulated Pioneer 3DX entity that can be used in the Visual Simulation Environment. This simulated robot can be equipped with several simulated sensors, like the LRF or the simulated bumper. Usually the P3DX bumper is modeled as just one frontal contact sensor and one rear contact sensor. However, the real Pioneer robot usually comes with two bumper rings, each having five bump panels:
Background
Given the need to use more accurate models of the real sensors, we have been working in additional simulation services, like the Simulated Sonar Service. In this case, we wanted to accurately simulate the frontal and rear bumper rings of the Pioneer ARCOS robot base. The Simulated Pioneer Bumper service models the ten bumper panels using ten BoxShapes located approximately at the same possition that corresponds to the real robot. Note the boxes that represent the simulated contact sensors in the following pictures:
NOTE: the boxshapes arranges at angles around the robot are used to calculate the physics collisions with other elements of the simulated world. Altering their positions will impact robot physical behavior.
Service Download
Installation Instructions
Download the ZIP file and unzip it into your MSRS directory. Note that this is assumed to be:
C:\Microsoft Robotics Studio (1.5)
When you unzip the file, it creates one project in the Apps\UC3M directory under your MSRS installation:
Apps\UC3M\SimulatedPioneerBumper
If you want to compile the projects yourself, then open the project and do a rebuild:
Apps\UC3m\SimulatedPioneerBumper\SimulatedPioneerBumper.sln
Description
The SimulatedPioneerBumper services creates a visual entity that models the front and rear bumper panels of a Pioneer robot base. Additionally, the service implements the generic contract for Contact Sensor, therefore it can be used by any code that deals with a contact sensor. It will send notifications to subscribed services everytime a bumper hits any surface in the simulated world.
The state of this service maintain a set of ten contact sensors, identified by the names b1, b2, b3, b4, b5, b9, b10, b11, b12, and b13 as depicted below:
Pioneer 3 DX front and rear bumper pair provide five points of sensing and one reading per bumper panel, which can be reproduced in the Microsoft Robotics Studio Simulator thanks to this service. Each bump panel is 3.97 in x 1 in wide. The segments are distributed at angles around the robot. Real distribution is -52, -19, 0, 19, and 52 degrees, as shown in the picture below:
However, we have slightly adapted the orientation and size of segments to match the 3D model provided with Robotics Studio.
Additionally, we've added a graphical representation of the bumpers state in the Cranium Dasboard (the following figure depicts the state when bump panels b1 and b2 are pressed):
Disclaimer and License
This program is licensed under the terms of Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License; you can redistribute it and/or modify it. (If you build any application using this software, I'd like to know it, please provide feedback).
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Comments (2) | Add as favourites (67) | Quote this article on your site | Views: 2266 | E-mail |
|
Last Updated ( Tuesday, 18 December 2007 )
|
|
|