Bienvenido: Ingresar

Subir página de contenido

Puedes subir contenido para la página con el nombre abajo. Si cambias el nombre de la página, puedes subir contenido para otra página. Si el nombrede la página lo dejas en blanco, tomaremos el nombre del archivo

Archivo de contenido para la página
Nombre de la página
Comentario
En el juego de las bochas, como se llama la mas chiquita?

location: Robotica / PlayerStageRoMAA / PlayerDriverRoMAA1 / ClientEx

Ejemplo de programa cliente utilizando Player

Independientemente si se quiere manejar el robot real o simulado se tienen que utilizar las librerias clientes de Player. Actualmente la única interface que soporta el driver de RoMAA (para el robot real) es position2d. En la simulación hay modelos que incluyen un laser. Del lado del cliente estas interfaces se manejan mediantes Proxies que para position2d es Position2dProxy (otro ejemplo es laser LaserProxy).

El siguiente código muestra el manejo del proxy position2d.

  1 #include <iostream>
  2 #include <libplayerc++/playerc++.h>
  3 
  4 int
  5 main( int argc, char *argv[] )
  6 {
  7  // Connect to the local player process on port 6665
  8  PlayerCc::PlayerClient romaa_robot( "localhost", 6665 );
  9 
 10  // Create a position2d proxy
 11  PlayerCc::Position2dProxy romaa_pos2d( &romaa_robot, 0 );
 12 
 13  romaa_pos2d.ResetOdometry();
 14  romaa_pos2d.SetSpeed( 10, 0 );
 15 
 16  for( int i = 0; i < 200; i++ )
 17  {
 18   romaa_robot.Read();
 19   
 ";
 21   std::cout << "px: " << romaa_pos2d.GetXPos() << " - ";
 22   std::cout << "py: " << romaa_pos2d.GetYPos() << " - ";
 23   std::cout << "pa: " << romaa_pos2d.GetYaw() << std::endl;
 24   
 25   usleep(50000);
 26  }
 27  
 28  romaa_pos2d.SetSpeed( 0, 0 );
 29  return 0;
 30 }

Compilar

$ g++ -o example pkg-config --cflags playerc++ example.cpp pkg-config --libs playerc++