[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