[Jderobot-dev] PTencoders en gazeboserver
Eduardo Perdices
eperdices en gsyc.es
Mie Feb 15 23:50:20 CET 2012
Hola,
no tienes que llamar al Ptr, sino al Prx, yo lo hago así:
/*Contact to Pose3DMotors interface*/
Ice::ObjectPrx pose3dmotors =
ic->propertyToProxy("Hybridloc.Pose3DMotors.Proxy");
if (0==pose3dmotors)
throw "Could not create Pose3DMotors proxy";
/*Cast to Pose3DMotorsPrx*/
jderobot::Pose3DMotorsPrx p3dmprx =
jderobot::Pose3DMotorsPrx::checkedCast(pose3dmotors);
if (0==p3dmprx)
throw "Invalid Pose3DMotors proxy";
/*Contact to Pose3DEncoders interface*/
Ice::ObjectPrx pose3dencoders =
ic->propertyToProxy("Hybridloc.Pose3DEncoders.Proxy");
if (0==pose3dencoders)
throw "Could not create Pose3DEncoders proxy";
/*Cast to Pose3DEncodersPrx*/
jderobot::Pose3DEncodersPrx p3deprx =
jderobot::Pose3DEncodersPrx::checkedCast(pose3dencoders);
if (0==p3deprx)
throw "Invalid Pose3DEncoders proxy";
On mié 15 feb 2012 16:07:03 CET, Alejandro Hernández wrote:
> Hola
>
> tengo el siguiente problema, me dice "error: ‘checkedCast’ is not a
> member of ‘jderobot::Pose3DEncodersPtr’" En el resto de interfaces no
> lo hace bien.
>
> // Contact to pose3DEncoders interface
> Ice::ObjectPrx pose3DEncodersIce1 =
> ic->propertyToProxy("Recorder.Pose3DEncoders1.Proxy");
> if (0==pose3DEncodersIce1)
> throw "Could not create proxy with encoders";
> // Cast to encoders
> pose3DEncoders1 =
> jderobot::Pose3DEncodersPtr::checkedCast(pose3DEncodersIce1);
> if (0== pose3DEncoders1)
> throw "Invalid proxy Mycomponent.pose3DEncoders1.Proxy";
>
> Álex
>
>
> El 15 de febrero de 2012 14:13, Alejandro Hernández <ahcorde en gmail.com
> <mailto:ahcorde en gmail.com>> escribió:
>
> Resuelto me he compilado el código del repositorio y la he copiado
> a pelo.
>
> Álex.
>
> El 15 de febrero de 2012 13:44, Alejandro Hernández
> <ahcorde en gmail.com <mailto:ahcorde en gmail.com>> escribió:
>
> Hola Edu,
>
> en la versión que hay en los paquetes de Jderobot no estan las
> interfaces Pose3DMotors y Pose3DEncoders, he intentado crearme
> con el comando slice2cpp y añadirlos a
> .../slice/Pose3DEncoders.ice y /slice/Pose3DMotors.ice y los
> .h generados a su carpeta correspondiente pero a la hora de
> compilar me da un error de linkado.
>
> Esto me imagino que es porque por algún hay alguna libreria.
> Imagino que será libJderobotInterfaces.la. La pregunta es
> ¿cómo puedo compilar el gazeboserver del repositorio y si
> tengo que compilarme el fuente para conseguir esa nueva
> librería con las nuevas interfaces?
>
> Álex.
>
> El 15 de febrero de 2012 11:01, Eduardo Perdices
> <eperdices en gsyc.es <mailto:eperdices en gsyc.es>> escribió:
>
> __
> Hola,
>
> Pose3DMotors y Pose3DEncoders sustituyen a PTMotors y
> PTEncoders a partir de ahora, aunque para el caso del
> Pioneer en Gazebo el funcionamiento es el mismo, puesto
> que sólo funcionan los parámetros pan y tilt.
>
> El pan es el ángulo de giro de la cámara en horizontal y
> el tilt es el ángulo de giro en vertical. Si mueves al
> robot con Motors hacia adelante los valores de pan y tilt
> van a ser los mismos (en el caso del Pioneer). Si por
> ejemplo pones en PTEncoders o con Pose3DEncoders pan=20
> grados, el robot mirará 20 grados a la izquierda, si pones
> el tilt=20 grados mirará 20 grados hacia arriba. Los
> valores son absolutos, no relativos, por lo que si pan y
> til son 0 la cámara mirará hacia el frente.
>
> Saludos.
>
>
> On 14/02/12 20:07, Mikel Gonzalez Baile wrote:
>> Hola a todos,
>>
>> tengo algunas dudas acerca del uso de la interfaz
>> PTencoders. El problema es que no sé interpretar la
>> información que obtenemos de gazeboserver tanto en "pan"
>> como en "tilt".
>>
>> En un principio pensaba que devolvía la odometría de la
>> cámara del robot pioneer, sin embargo, observo que cuando
>> la posición de la cámara varía y luego vuelve al mismo
>> punto donde estaba, los valores no son los mismos,
>> variando por ejemplo el signo de éstos (se trata de una
>> posición relativa a algo?). También observo que aún
>> manteniendo la cámara estática, los valores no se quedan
>> fijos y se decrementan o incrementan en intervalos
>> pequeños "casi continuamente" (después de un largo
>> período de tiempo parece que los valores comienzan a
>> estabilizarse, hasta variar de nuevo la posición de la
>> cámara).
>>
>> Por otro lado, veo que en la última versión de
>> gazeboserver se han añadido dos nuevas interfaces
>> (pose3dencoders y pose3dmotors), como estoy desarrollando
>> el nuevo introrob me gustaría que utilizase los más
>> recientes, por lo que quería saber si:
>>
>> - Las dos interfaces son completamente funcionales.
>> - Ha variado la forma de su uso respecto a las anteriores.
>> - Y si existe algún componente ya utilizando las nuevas
>> para tener alguna referencia en caso de encontrarme con
>> algún problema.
>>
>> Un saludo y gracias!
>>
>> Maikel.
>>
>>
>> _______________________________________________
>> Jde-developers mailing list
>> Jde-developers en gsyc.es <mailto:Jde-developers en gsyc.es>
>> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es <mailto:Jde-developers en gsyc.es>
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
>
>
More information about the Jde-developers
mailing list