Language Mind and Consciousness

AI Forums: Language Mind and Consciousness. This AI Forum is dedicated to the problem of language, mind, and consciousness.

Background

The manipulation of natural human language by a computer, a major research track inside artificial intelligence, at first seemed like a highly tractable problem, but slowly revealed itself to be prohibitively difficult.

The research of language acquisition is today central to the science of AI. How do people acquire language? And how could computers? Is there such a thing as a “universal grammar”? And why is it that machines just don’t understand? The science and philosophy of language are the heart of AI.

Link: http://www.ai-forum.org/forum.asp?forum_id=3 

Control Panel Service (Dashboard)

The Control Panel service is a version of the Dashboard service by Trevor Taylor in which a control for representing the simulated Sonar has been added. Dashboard is based on the MSRS Simple Dashboard service. Dashboard original code and documentation can be found in Trevor’s page.

This Control Panel Service provides access to a graphical representation of a simulated frontal SONAR array. The simulated Sonar service uses Robotics Studio Simulator raycasting to simulate SONAR transducers (simulation is not yet very realistic as it uses a single plane for raycasting instead of a 3D cone for each transducer. Additionally, readings are ideal, as no noise is simulated). Using this service you are able to test Simulated Sonar distance measurement in the MSRS Visual Environment. See the Simulated Sonar service description for details about how measurements are aquired.

Background:

ARCOS based robots (like the Pioneer P3-DX) can integrate up to four SONAR rings, each with eight transducers. These sensors provide object detection and distance information. The Robotics Studio platform doesn’t include a simulated SONAR service that could be use in the Visual Environment. However, there exists a generic contract for SONAR that I wanted to implement for the specific case of my SIMULATED P3-DX frontal SONAR array.

NOTE: A real (not simulated) ARCOS SONAR service is available at:
http://www.conscious-robots.com/en/robotics-studio/robotics-studio-services/arcos-sonar-service.html

NOTE: Current version of SimulatedSonar don’t generate a 3D cone using raycasting, instead a 2D pie is generated and used to calculate the closest intersection. Therefore, the robot only sees in a 2D plane (situated at the height of the SONAR device pose). In order to build a more realistic SONAR, this needs to be fixed. Additionally, noise should be added in the simulation in order to get as closest as possible to a real SONAR.

You can subscribe to this SimulatedSonar service from your application and easily get SONAR readings in your MSRS code. Additionally, you can see a graphical representation of the Sonar readings using this Control Panel Service. For instance, you can use the Maze Simulator Service and Control Panel service in order to see how Sonar sensors acquire measurement information from the virtual environment. Also, the same Control Panel service should work with a real Arcos Sonar service.

Description:

{mosimage} Each Pioneer 3 DX SONAR ring is composed of eight transducers arranged at angles -90, -50, -30, -10, 10, 30, 50, and 90 degrees. They are polled sequentially at a configurable rate (usually 25 Hz – 50 ms per transducer per array).

The SimulatedSonar service aims to simulate a real SONAR by using the raycasting facility of the MSRS simulator. P3DX front ring sonar is 180 degress. But lateral transducers are centered at 90 degrees, so I consider: 196 degrees. I considered the aperture of one transducer is 16 degrees (real hardware transducers have an aperture of 15 degrees).

The graphical representation you can see in the Control Panel depicts each of the Sonar transducers reading as a 2D cone (the red line represents the scaled range measured by each Sonar transducer, the rest of blue lines represent the apperture of each Sonar transducer, and therefore the area which is free of obstacles according to Sonar readings. Note the blue lines get darker as closer obstacles are detected).

You can also check the actual values of measurement (in milimiters) obtained by the Sonar. They are the S0 to S7 values that appear to the right of the graphical representation.

Service Download:

Installation instructions (for source code zip archive):

Decompress the contents of the file under MSRS home directory. Note that the service source code is located under Apps directory. Build it using Visual Studio.

See the readme.txt file included in the distribution package for detailed instructions and version history. It is important that you install the service in a machine with the same version of MSRS that is indicated in the readme.txt file. I always try to update the distribution file with the latest available version of MSRS, please check regularly for updates.

Service Details:

Service Contract Identifier:
    http://www.conscious-robots.com/2007/8/controlpanel.html

Implements generic contract:
    N/A

Service partners:
    Microsoft.Robotics.Services.GameController.Proxy

Allow Susbscriptions:
Yes.

Service State:
    Cranium.Controls.ControlPanelState

Maze Simulator Service

This Maze Simulator Service for Microsoft Robotics Studio is 99% based on the MSRS Maze Simulator by Trevor Taylor (find the original version following this link to Trevor’s page). I just modified it to use my simulated Sonar service instead of the simulated Laser Range Finder (LRF). I called this branch of MazeSimulator MazeSimulatorRA and also changed the contract identifier, so you can have both versions in the same MSRS environment.

 Background

Please check original documentation available at the link provided above for a complete overview of this service. Basically this service allows you to simulate a maze composed of walls and blocks in the MSRS Visual Environment. I am using it to simulate a Pioneer 3 DX robot in a building-like environment. The service builds the 3D maze from a 2D color bitmap that especifies the position and color of the walls. I am using a bitmap image that resembles to my lab environment so I can test exploration and SLAM algorithms in the MSRS simulator.

As I am currently using SONAR sensors instead of a LRF I commented out the laser part of the original service and included my simulated sonar service.

Service Download

MazeSimulatorRa Source Code Download (for MSRS 1.5).
Maze Simulator Source Code Download (for Robotics Developer Studio 2008).

Installation Instructions (for source code zip archive)

Please see readme.txt file included in the zip file for detailed instructions. The zip file contains the source code, resources, and visual studio solution. Download the ZIP file and unzip it into your MSRS root directory. This should create a directory called: <MSRS>\Apps\UC3M\MazeSimulatorRA

Service Details

Service Contract Identifier:
    http://www.conscious-robots.com/2007/8/mazesimulatorra.html

Implements generic contract:

Service partners:
    Microsoft.Robotics.Simulation.Engine.Proxy

Allow Susbscriptions:
    No.

Service State:
Cranium.Simulation.Worlds.MazeSimulatorState

Service Implementation Description

See http://sky.fit.qut.edu.au/~taylort2/MSRS/MazeSimulator/MazeSimulator.htm for more information about the implementation.

Simulated SONAR Service

The Simulated SONAR Service provides access to a simulated SONAR array. It uses Robotics Studio Simulator raycasting to simulate SONAR transducers. Using this service you are able to test SONAR object detection and distance measurement in the MSRS Visual Environment.

Background:

ARCOS based robots (like the Pioneer P3-DX) can integrate up to four SONAR rings, each with eight transducers. These sensors provide object detection and distance information. The Robotics Studio platform doesn’t include a simulated SONAR service that could be use in the Visual Environment. However, there exists a generic contract for SONAR that I wanted to implement for the specific case of my SIMULATED P3-DX frontal SONAR array.

NOTE: A real (not simulated) ARCOS SONAR service is available at:
http://www.conscious-robots.com/en/robotics-studio/robotics-studio-services/arcos-sonar-service.html

 I asked Microsoft and I got the following answer:

“you can make a reasonable simulated sonar sensor by doing something similar to the simulated laser rangefinder.  Instead of casting hundreds of rays in a scanline pattern like the laser rangefinder does, cast a handful of rays in a  cone that matches the aperture of the sonar sensor you want to simulate.  In  your code, look at the distance results returned by each ray and then set the sonar return value to be the closest intersection.”

Trying to follow these instructions I wrote a service called SimulatedSonar – Source code is available in the download section.

NOTE: Current version of SimulatedSonar don’t generate a 3D cone using raycasting, instead a 2D pie is generated and used to calculate the closest intersection. Therefore, the robot only sees in a 2D plane (situated at the height of the SONAR device pose). In order to build a more realistic SONAR, this needs to be fixed. Additionally, noise should be added in the simulation in order to get as closest as possible to a real SONAR.

You can subscribe to this SimulatedSonar service from your application and easily get SONAR readings in your MSRS code (I think this code will be valid for any simulated robot, you just need to add the SimulatedSonar entity to your robot).

Service Download:

Installation instructions (for source code zip archive):

SimulatedSonar is a small Robotics Studio Service (DSS Service) that allows you to access a simulated SONAR array. The zip file contains the source code and Visual Studio project.

Decompress the contents of the file under MSRS home directory. Note that the service source code is located under Apps directory. Build it using Visual Studio.

See the readme.txt file included in the distribution package for detailed instructions and version history. It is important that you install the service in a machine with the same version of MSRS that is indicated in the readme.txt file. I always try to update the distribution file with the latest available version of MSRS, please check regularly for updates.

Service Details:

Service Contract Identifier:
    http://www.conscious-robots.com/2007/07/simulatedsonar.html

Implements generic contract:
    Microsoft.Robotics.Services.Sonar

Service partners:
    Subscription Manager

Allow Susbscriptions:
Yes.

Service State:
Microsoft.Robotics.Services.Sonar.Proxy.SonarState

{mosimage}

Description:

Each Pioneer 3 DX SONAR ring is composed of eight transducers arranged at angles -90, -50, -30, -10, 10, 30, 50, and 90 degrees. They are polled sequentially at a configurable rate (usually 25 Hz – 50 ms per transducer per array).

The SimulatedSonar service aims to simulate a real SONAR by using the raycasting facility of the MSRS simulator. P3DX front ring sonar is 180 degress. But lateral transducers are centered at 90 degrees, so I consider: 196 degrees. I considered the aperture of one transducer is 16 degrees (real hardware transducers have an aperture of 15 degrees). Therefore,

_state.AngularRange = 196;  // 180 plus two halfs of lateral transducers.

Using the raycasting facility, I generate one ray per degree forming a 2D pie of rays. Then I only consider the rays that fall within the angles covered by each SONAR transducer (the measures obtained from the rest are discarded as the fall in the blind spots between transducers), and for each transducer I retrieve the closest intersection (minimum distance). See figure: blue rays represent discarded measurements. Red rays correspond to measures taken for sonar transducers. The yellow spot is the simulates sonar pose (origin of all rays).

Whenever a substantial change occurs in the raycasting readings that correspond to the simulated SONAR transducers the SimulatedSonar service issue a replace message to all its subscribers notifying a state change.

Within the SonarState object, an eight position array of double values is created. This array (calledDistanceMeasurements[]) contains the distance readings corresponding to the simulated SONAR transducers.