logo logo
Home arrow Robotics Studio... arrow Robotics Studio Services arrow Simulated SONAR Service
Monday, 28 July 2014
 
 
Simulated SONAR Service Print E-mail
Written by Raúl Arrabales Moreno   
Thursday, 02 August 2007

Image
Simulated frontal SONAR array
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

Image
Simulation Raycasting
 


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 (called DistanceMeasurements[]) contains the distance readings corresponding to the simulated SONAR transducers.

 


Add as favourites (422) | Quote this article on your site | Views: 19988

  Comments (5)
RSS comments
 1 Re: How do i use this in a simulated rob
Written by This e-mail address is being protected from spam bots, you need JavaScript enabled to view it website, on 12-08-2008 14:46
Hi, let me answer the question in the Robotics Studio section of the forums:  
 
MSRS Forum 
 
Cheers, 
Raúl.
 2 How do i use this in a simulated robot?
Written by carlcs, on 10-08-2008 16:30
I'm entirely new to MSRS 1.5 so i don't know how to do this but how do i add this to my simulated robot? I'm trying to add it to the Pioneer3DX robot in the 2nd tutorial but i don't know how.  
 
Thanks
 3 How do i use this in a simulated robot?
Written by carlcs, on 10-08-2008 16:29
I'm entirely new to MSRS 1.5 so i don't know how to do this but how do i add this to my simulated robot? I'm trying to add it to the Pioneer3DX robot in the 2nd tutorial but i don't know how.  
 
Thanks
 4 Simulated Sonar Update 5
Written by This e-mail address is being protected from spam bots, you need JavaScript enabled to view it website, on 14-11-2007 11:25
I just uploaded an updated version of the SimulatedSonar service. A bug was detected (thanks Nerea) in the initialization of the service which caused the service not to start correctly is some situations. This is now fixed. The update 5 can be downloaded from our donloads section.
 5 Simulated Sonar Update 4
Written by This e-mail address is being protected from spam bots, you need JavaScript enabled to view it website, on 21-09-2007 11:56
SimulatedSonar Update 4 is available for download. Sonar transducer cone aperture has been changed to 15 degrees to match the real angular aperture of Pioneer 3 DX Sonar transducers. Therefore, total angular range of the sonar ring is 195 degrees (180 plus two cone halves). Note that there are blind spots between sonar transducers.

Only registered users can write comments.
Please login or register.


Related Items:

  1. Jobs: Two Chair positions for new Centre for Computational Neuroscience and Co
  2. Birmingham Fellows in Robotics and Cognitive Systems
  3. Marie Curie Funded PhD in Cognitive Robotics or Computational Neuroscience
  4. Two Fully-Funded PhD Positions in Intelligent Mobile Robotics
  5. PhD Position in artificial intelligence and robotics
  6. Three Postdoctoral Research Fellowships in Intelligent Mobile Robotics
  7. Post-doctoral scholarships in cognitive robotics – University of Aveiro
  8. Finding papers about consciousness and robotics
  9. Paladyn. Journal of Behavioral Robotics
  10. International Journal of Social Robotics
Last Updated ( Wednesday, 18 February 2009 )
 





Lost Password?
 Conscious Robots RSS FeedConscious Robots RSS Feed

Find us on Facebook

Follow us on TwitterFollow us on twitter
Spotlight

Machine Consciousness Bibliography Database

 

ConsScale
The Cognitive Machine Consciousness Scale

 
Categories
Last Posts in Forum
 
CR
miel continental