[Jderobot] [JdeRobot] Componente rtRealTimeEstimator

Juan Navarro Bosgos jnbosgos en gmail.com
Mie Jul 16 10:35:25 CEST 2014


Hola Daniel,

sí, sigo igual, con los problemas de compilación. Añado en copia a la lista
a ver si alguien nos puede ayudar.

Un saludo,
Juan


El 16 de julio de 2014, 7:13, Daniel Martín Organista <dmo19sw en gmail.com>
escribió:

> Hola Juan, tengo la versión 2.3.1 de OpenCV, te sigue sin compilar?
> El 15/07/2014 18:28, "Juan Navarro Bosgos" <jnbosgos en gmail.com> escribió:
>
> Hola Daniel,
>>
>> ¿qué versión de la librería OpenCV utilizas? yo uso la 2.4.2.
>>
>>
>> El 12 de julio de 2014, 17:03, Daniel Martín Organista <dmo19sw en gmail.com
>> > escribió:
>>
>>> Que raro es el error, voy a intentar darle una pensada pero tiene pinta
>>> de que no coge bien la libreria porque eso me compilaba bien
>>> El 12/07/2014 16:00, "Juan Navarro Bosgos" <jnbosgos en gmail.com>
>>> escribió:
>>>
>>> Utilizando la revisión 1089, compilan bien los primeros ficheros, pero
>>>> tengo problemas cuando llega al Sharer.cpp:
>>>>
>>>> jnbosgos en hall9000:~/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/build$
>>>> make
>>>> Scanning dependencies of target rtRealTimeEstimator
>>>> [  6%] Building CXX object
>>>> CMakeFiles/rtRealTimeEstimator.dir/rtRealTimeEstimator.cpp.o
>>>> [ 13%] Building CXX object
>>>> CMakeFiles/rtRealTimeEstimator.dir/rtgui.cpp.o
>>>> [ 20%] Building CXX object
>>>> CMakeFiles/rtRealTimeEstimator.dir/control.cpp.o
>>>> [ 26%] Building CXX object
>>>> CMakeFiles/rtRealTimeEstimator.dir/Sharer.cpp.o
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:
>>>> En la función miembro ‘void rtRealTimeEstimator::Sharer::process(cv::Mat,
>>>> cv::Mat, cv::Mat, cv::Mat, rtRealTimeEstimator::ICPPoseRefinement&)’:
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:549:58:
>>>> aviso: conversión obsoleta de una constante de cadena a ‘char*’
>>>> [-Wwrite-strings]
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:549:58:
>>>> aviso: conversión obsoleta de una constante de cadena a ‘char*’
>>>> [-Wwrite-strings]
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:549:58:
>>>> aviso: conversión obsoleta de una constante de cadena a ‘char*’
>>>> [-Wwrite-strings]
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:593:21:
>>>> error: se esperaba un especificador de tipo
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:593:21:
>>>> error: no se puede convertir ‘int*’ a ‘cv::FeatureDetector*’ en la
>>>> asignación
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:593:21:
>>>> error: se esperaba ‘;’
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:622:22:
>>>> error: se esperaba un especificador de tipo
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:622:22:
>>>> error: no se puede convertir ‘int*’ a ‘cv::DescriptorExtractor*’ en la
>>>> asignación
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:622:22:
>>>> error: se esperaba ‘;’
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:715:91:
>>>> error: ‘FLANN_DIST_HAMMING’ no es un miembro de ‘cvflann’
>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/Sharer.cpp:715:91:
>>>> nota: alternativa sugerida:
>>>> /usr/include/flann/defines.h:140:5: nota:   ‘flann::FLANN_DIST_HAMMING’
>>>> make[2]: *** [CMakeFiles/rtRealTimeEstimator.dir/Sharer.cpp.o] Error 1
>>>> make[1]: *** [CMakeFiles/rtRealTimeEstimator.dir/all] Error 2
>>>> make: *** [all] Error 2
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> El 12 de julio de 2014, 15:33, Juan Navarro Bosgos <jnbosgos en gmail.com>
>>>> escribió:
>>>>
>>>>> Con locate he encontrado la librería que le falta en
>>>>> '/usr/include/pcl-1.7/pcl/registration/icp.h', pero no sé porque con tu
>>>>> CMakeLists.txt a mí no me la encuentra :-(
>>>>>
>>>>> Mirando lo de la revisión, resulta que en la 1089 las llamadas en
>>>>> cameraClient.h y pointcloudClient.h de ParallelIce eran distintas,
>>>>> devolvían las variables con 'return', y en la revisión actual se les pasa
>>>>> como parámetro el puntero a la variable donde dejar su resultado; estudiaré
>>>>> utilizar una u otra opción.
>>>>>
>>>>>
>>>>> El 12 de julio de 2014, 14:09, Daniel Martín Organista <
>>>>> dmo19sw en gmail.com> escribió:
>>>>>
>>>>> Has tratado de buscar manualmente esa cabecera de pcl registration que
>>>>>> no te encuentra a mano? Yo uso la llamada locate, y a veces sirve. Tengo la
>>>>>> reversión 1089 de JdeRobot, igual puede ser por eso...
>>>>>>
>>>>>>
>>>>>> El 12 de julio de 2014, 12:05, Daniel Martín Organista <
>>>>>> dmo19sw en gmail.com> escribió:
>>>>>>
>>>>>> Te contesto de nuevo.
>>>>>>> Utiliza mi CMakeLists.txt y seguramente tengas que tocar alguna
>>>>>>> cosilla porque tengo referencias muy mal hechas a .so locales y eso en tu
>>>>>>> ordenador puede estar en otro lugar. Prueba a modificar el fichero
>>>>>>> jderobot/Deps/pcl/CMakeLists.txt por este que te adjunto en el correo.
>>>>>>> Me vas contando!
>>>>>>>
>>>>>>>
>>>>>>> El 12 de julio de 2014, 11:59, Daniel Martín Organista <
>>>>>>> dmo19sw en gmail.com> escribió:
>>>>>>>
>>>>>>> Veo que en tu cmake estas buscando la libreria de pcl 1.2, con la
>>>>>>>> 1.2 no te va a funcionar bien, necesitas compilar con la 1.7 que es la que
>>>>>>>> incluye la funcionalidad que he utilizado. Prueba eso, mientras voy echando
>>>>>>>> un ojo a la segunda salida de error de ParallelIce, que asi a primeras no
>>>>>>>> he conseguido sacar algo en claro.
>>>>>>>> El 12/07/2014 11:52, "Juan Navarro Bosgos" <jnbosgos en gmail.com>
>>>>>>>> escribió:
>>>>>>>>
>>>>>>>> Hola Daniel,
>>>>>>>>>
>>>>>>>>> No consigo compilarlo, estoy teniendo problemas para ello; usando
>>>>>>>>> el CMakeLists.txt que hay en el repositorio, me salta que no encuentra la
>>>>>>>>> librería ICP de PCL:
>>>>>>>>>
>>>>>>>>> jnbosgos en hall9000:~/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/build$
>>>>>>>>> make
>>>>>>>>> Scanning dependencies of target rtRealTimeEstimator
>>>>>>>>> [  3%] Building CXX object
>>>>>>>>> CMakeFiles/rtRealTimeEstimator.dir/rtRealTimeEstimator.o
>>>>>>>>> In file included from
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:23:0:
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/ICPPoseRefinement.h:11:34:
>>>>>>>>> error fatal: pcl/registration/icp.h: No existe el archivo o el directorio
>>>>>>>>> compilación terminada.
>>>>>>>>> make[2]: ***
>>>>>>>>> [CMakeFiles/rtRealTimeEstimator.dir/rtRealTimeEstimator.o] Error 1
>>>>>>>>> make[1]: *** [CMakeFiles/rtRealTimeEstimator.dir/all] Error 2
>>>>>>>>> make: *** [all] Error 2
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Si utilizo el CMakeLists.txt que te adjunto, me da problemas con
>>>>>>>>> llamadas a métodos de librerías de parallelIce, concretamente de
>>>>>>>>> cameraClient y pointcloudClient:
>>>>>>>>>
>>>>>>>>> jnbosgos en hall9000:~/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/build$
>>>>>>>>> make
>>>>>>>>> Scanning dependencies of target rtRealTimeEstimator
>>>>>>>>> [  6%] Building CXX object
>>>>>>>>> CMakeFiles/rtRealTimeEstimator.dir/rtRealTimeEstimator.cpp.o
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:
>>>>>>>>> En la función ‘void* rtRealTimeEstimator::showGui(void*)’:
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:167:37:
>>>>>>>>> error: no se encontró una función coincidente para la llamada a
>>>>>>>>> ‘jderobot::cameraClient::getImage()’
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:167:37:
>>>>>>>>> nota: el candidato es:
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>> void jderobot::cameraClient::getImage(cv::Mat&)
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>>   el candidato espera 1 argumento, se proporcionaron 0
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:168:41:
>>>>>>>>> error: no se encontró una función coincidente para la llamada a
>>>>>>>>> ‘jderobot::cameraClient::getImage()’
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:168:41:
>>>>>>>>> nota: el candidato es:
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>> void jderobot::cameraClient::getImage(cv::Mat&)
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>>   el candidato espera 1 argumento, se proporcionaron 0
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:
>>>>>>>>> En la función ‘int main(int, char**)’:
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:264:81:
>>>>>>>>> aviso: se convierte ‘false’ a tipo puntero para el argumento 1 de
>>>>>>>>> ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*,
>>>>>>>>> const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>,
>>>>>>>>> _Alloc = std::allocator<char>]’ [-Wconversion-null]
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:274:85:
>>>>>>>>> aviso: se convierte ‘false’ a tipo puntero para el argumento 1 de
>>>>>>>>> ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*,
>>>>>>>>> const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>,
>>>>>>>>> _Alloc = std::allocator<char>]’ [-Wconversion-null]
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:283:88:
>>>>>>>>> aviso: se convierte ‘false’ a tipo puntero para el argumento 1 de
>>>>>>>>> ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*,
>>>>>>>>> const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>,
>>>>>>>>> _Alloc = std::allocator<char>]’ [-Wconversion-null]
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:407:37:
>>>>>>>>> error: no se encontró una función coincidente para la llamada a
>>>>>>>>> ‘jderobot::cameraClient::getImage()’
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:407:37:
>>>>>>>>> nota: el candidato es:
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>> void jderobot::cameraClient::getImage(cv::Mat&)
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>>   el candidato espera 1 argumento, se proporcionaron 0
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:408:41:
>>>>>>>>> error: no se encontró una función coincidente para la llamada a
>>>>>>>>> ‘jderobot::cameraClient::getImage()’
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:408:41:
>>>>>>>>> nota: el candidato es:
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>> void jderobot::cameraClient::getImage(cv::Mat&)
>>>>>>>>> /usr/local/include/jderobot/parallelIce/cameraClient.h:46:7: nota:
>>>>>>>>>   el candidato espera 1 argumento, se proporcionaron 0
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:411:30:
>>>>>>>>> error: no se encontró una función coincidente para la llamada a
>>>>>>>>> ‘jderobot::pointcloudClient::getData()’
>>>>>>>>> /home/jnbosgos/pfc/dmartino/pfc/trunk/rtRealTimeEstimator/rtRealTimeEstimator.cpp:411:30:
>>>>>>>>> nota: el candidato es:
>>>>>>>>> /usr/local/include/jderobot/parallelIce/pointcloudClient.h:45:7:
>>>>>>>>> nota: void
>>>>>>>>> jderobot::pointcloudClient::getData(std::vector<jderobot::RGBPoint>&)
>>>>>>>>> /usr/local/include/jderobot/parallelIce/pointcloudClient.h:45:7:
>>>>>>>>> nota:   el candidato espera 1 argumento, se proporcionaron 0
>>>>>>>>> make[2]: ***
>>>>>>>>> [CMakeFiles/rtRealTimeEstimator.dir/rtRealTimeEstimator.cpp.o] Error 1
>>>>>>>>> make[1]: *** [CMakeFiles/rtRealTimeEstimator.dir/all] Error 2
>>>>>>>>> make: *** [all] Error 2
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Si tienes alguna idea de cuál puede ser el problema en alguno de
>>>>>>>>> los casos, te lo agradecería.
>>>>>>>>>
>>>>>>>>> Un saludo,
>>>>>>>>> Juan
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> El 11 de julio de 2014, 15:03, Daniel Martín Organista <
>>>>>>>>> dmo19sw en gmail.com> escribió:
>>>>>>>>>
>>>>>>>>>> Nada tú tranquilo pregúntame lo que sea, has conseguido
>>>>>>>>>> compilarlo y arrancar el componente?
>>>>>>>>>> El 11/07/2014 14:47, "Juan Navarro Bosgos" <jnbosgos en gmail.com>
>>>>>>>>>> escribió:
>>>>>>>>>>
>>>>>>>>>> Hola Daniel,
>>>>>>>>>>>
>>>>>>>>>>> si, estuve mirando el componente pero vi muchos ficheros y no
>>>>>>>>>>> tenía muy claro como hacerlo, ahora me queda más claro, gracias; no te
>>>>>>>>>>> preocupes por el código, se puede entender. Miraré las mejoras que le has
>>>>>>>>>>> hecho y cualquier cosa te escribo; y no te preocupes, cuando puedas me
>>>>>>>>>>> respondes, entiendo que si estás trabajando no puedas estar pendiente.
>>>>>>>>>>>
>>>>>>>>>>> Un saludo, y gracias de nuevo,
>>>>>>>>>>> Juan
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> El 10 de julio de 2014, 21:13, Daniel Martín Organista <
>>>>>>>>>>> dmo19sw en gmail.com> escribió:
>>>>>>>>>>>
>>>>>>>>>>>> Hola Juan,
>>>>>>>>>>>>
>>>>>>>>>>>> Bien, en este directorio se encuentra el componente
>>>>>>>>>>>> rtRealTimeEstimator [1]. He modificado algunas cosillas recientemente
>>>>>>>>>>>> porque hacía referencias a componentes externos, pero ya está todo dentro
>>>>>>>>>>>> del componente y no debería dar problemas. No me ha dado tiempo a hacer el
>>>>>>>>>>>> código más bonito e intuitivo y la verdad que me habría gustado, estos días
>>>>>>>>>>>> si tengo tiempo lo iré mejorando un poco porque sí que hay algunas
>>>>>>>>>>>> secciones del código que faltan por retocar. Los botones de la interfaz
>>>>>>>>>>>> gráfica no les hagas mucho caso porque aún faltan cosillas por integrar
>>>>>>>>>>>> también.
>>>>>>>>>>>> Lo básico y fundamental está en el programa principal
>>>>>>>>>>>> rtRealTimeEstimator.cpp, hay una sección del código en el que voy mostrando
>>>>>>>>>>>> la pose3D estimada en todo momento (a partir de la línea 422) y eso es lo
>>>>>>>>>>>> que debes utilizar para ofrecer una interfaz ICE con la pose3D.
>>>>>>>>>>>> El fichero de configuración es rtRealTimeEstimator.cfg con
>>>>>>>>>>>> algunos de los parámetros del componente, en principio esos parámetros
>>>>>>>>>>>> están para ser utilizados con el sensor Real, pero seguramente tengas que
>>>>>>>>>>>> retocar alguno como el número de iteraciones, el threshold ( que es el
>>>>>>>>>>>> umbral de aceptación de RANSAC) y alguna que otra cosilla más que si tienes
>>>>>>>>>>>> dudas por favor pregúntame sin problema. Espero que no tengas mucho
>>>>>>>>>>>> problema para compilarlo y todo pero igual sale alguno porque cuando pasé
>>>>>>>>>>>> el código a mi pórtatil para compilarlo alguno que otro tuve. Reitero, si
>>>>>>>>>>>> tienes algún problema, lo que sea, pregúntame. Por las mañanas trabajo pero
>>>>>>>>>>>> intentaré estar pendiente y responder lo antes posible.
>>>>>>>>>>>>
>>>>>>>>>>>> Un saludo, y suerte!
>>>>>>>>>>>> Daniel
>>>>>>>>>>>>
>>>>>>>>>>>> [1]
>>>>>>>>>>>> https://svn.jderobot.org/users/dmartino/pfc/trunk/rtRealTimeEstimator/
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> El 10 de julio de 2014, 19:21, Juan Navarro Bosgos <
>>>>>>>>>>>> jnbosgos en gmail.com> escribió:
>>>>>>>>>>>>
>>>>>>>>>>>> Hola Daniel,
>>>>>>>>>>>>>
>>>>>>>>>>>>> soy Juan Navarro, estoy realizando mi PFC con el grupo de
>>>>>>>>>>>>> robótica de la URJC, que consiste en desarrollar un componente en JdeRobot
>>>>>>>>>>>>> para generar un mapa 3D utilizando un Kinect; para ello necesito utilizar
>>>>>>>>>>>>> tu componente rtRealTimeEstimator para que me proporcione a través de un
>>>>>>>>>>>>> interfaz ICE la Pose3D que está estimando, para que junto con mi componente
>>>>>>>>>>>>> extractorRGBD [1] [2] pueda ir generando el mapa 3D en función de la
>>>>>>>>>>>>> posición en cada instante.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Entonces, te escribo para saber cómo debo utilizar/modificar
>>>>>>>>>>>>> tu componente rtRealTimeEstimator para que me ofrezca un interfaz ICE con
>>>>>>>>>>>>> la Pose3D que está estimando.
>>>>>>>>>>>>> También, quisiera saber si te importaría que te escriba en
>>>>>>>>>>>>> caso de que tenga alguna otra duda con tu componente.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Un saludo, y gracias,
>>>>>>>>>>>>> Juan
>>>>>>>>>>>>>
>>>>>>>>>>>>> [1]
>>>>>>>>>>>>> http://svn.jderobot.org/users/jnbosgos/pfc-teleco/trunk/extractorRGBD/
>>>>>>>>>>>>> [2] http://jderobot.org/Jnbosgos#Extractor_RGBD
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20140716/8f176991/attachment-0001.htm 


More information about the Jde-developers mailing list