logo logo
Inicio arrow Foros...
Tuesday, 02 de December de 2008
 
 
English English  Español Español  
Próximos Eventos
10.Jun. 2009

IWANN 2009
Salamanca, Spain
International Work-Conference on Artificial Neural Networks
11.Jun. 2009

Toward a Science of Consciousness
Hong Kong, China
15.Jun. 2009

International Workshop on Machine Consciousness
Hong Kong, China
15.Jun. 2009

The 8th IEEE International Conference on Cognitive Informatics
Hong Kong, China
22.Jun. 2009

IWINAC 2009
Santiago de Compostela, Spain
Work-Conference in the Interplay between Natural and Artificial Computation
Etiquetas
Análisis Artificial Associations Científicos Conciencia Consciencia Consciencia Artificial Conscientes Consciousness Developer Documentación Documentation Español Investigación Publicaciones Reviews Robotics Robots Robótica Servicios Spanish Studio VPL artificial
Destacados
Titulares RSS
 Conscious Robots RSS FeedFuente RSS de Conscious Robots
Conscious-Robots.com Forum  


Raúl
Moderador

Moderador
Mensajes: 432
graph
Karma: 6  
Re:explorer sim sonar and localization using landmark - 2008/08/25 10:10 Yes, there is a trick to get the current position of the robot using the simulator and the DifferentialDriveTT service (from Trevor Taylor) that I am using. But this is nothing to do with SLAM or landmarking, it is a trick wich will never work in real world.

The trick is to ask the DifferentialDrive service for its possition. It does work in the simulator because this service is maintaing the position of the wheel entities in the simulated world. So you could do something like this:

Code:

 _state.= (update.Body.LeftWheel.MotorState.Pose.Position.+  update.Body.RightWheel.MotorState.Pose.Position.X) / 2; _state.= (update.Body.LeftWheel.MotorState.Pose.Position.+             update.Body.RightWheel.MotorState.Pose.Position.Z) / 2; _state.Theta = (float) (Math.Acos(w)*2*180/Math.PI); if (update.Body.LeftWheel.MotorState.Pose.Orientation.0)    _state.Theta = -_state.Theta;



This is done in the ExplorerSimSonar.cs file in DriveStateUpdate method...

But the problem is that this is unreal, and cannot be done in the real world. It is only a trick for the simulator. Additionally, you have to take care of updating the wheel entities positions so you can get the latest position state.

About implementing SLAM with the simulator, you have to take into account that MSRS simulator is supposed to has perfect odometry. So in principle, you could infer your position by calculating the distance in terms of time and velocity. My experience tell me that MSRS is not 100% perfect odometry, as the simulator calculate physics and sometimes the wheels slip, especially when you hit an obstacle, or when changing speed or heading. So this makes the environment somewhat valid for testing SLAM algortihms.

You could try to test any SLAM algorithm based on Kalman filters or something like that. Actually, I think there was a grid slam implementation for MSRS.. But I have to check it..

Cheers,
Raúl.
Raúl Arrabales Moreno. conscious-robots.com/raul
  El administrador ha deshabilitado la escritura de mensajes a los usuarios no registrados.

      Temas Autor Fecha
    thread link
explorer sim sonar and localization using landmark
carlcs 2008/08/23 08:53
    emo
thread linkthread link Re:explorer sim sonar and localization using landmark
Raúl 2008/08/25 10:10
    emo
thread linkthread link Re:explorer sim sonar and localization using landmark
Raúl 2008/08/25 10:20
    thread link
thread linkthread linkthread link Re:explorer sim sonar and localization using landmark
carlcs 2008/08/26 04:46
    thread link
thread linkthread linkthread linkthread link Re:explorer sim sonar and localization using landmark
carlcs 2008/08/26 05:00
    emo
thread linkthread linkthread linkthread linkthread link Re:explorer sim sonar and localization using landmark
Raúl 2008/08/28 09:33





¿Recuperar contraseña?
¿Quieres registrarte? Hazlo aquí
Mensajes en el Foro
 
Top!
Advertising links: Rent Games - Cheap Gas - Loan - Credit Cards
Top!