[Jderobot] Problemas al ejecutar diversos componentes de la rama stable

franciscomiguel.rivas en urjc.es franciscomiguel.rivas en urjc.es
Mar Oct 29 09:15:00 CET 2013


Buenas,
los warnings de openniServer tanto del 1 como del 2, son sólo warnings  
y te dicen que no se están consiguiendo cumplir las demandas que se  
han metido por configuración, es decir, que no se consigue adquirir a  
los fps que se hayan fijado.

El WaitAnyUpdateAll() es porque no se consigue acceder a los datos del  
kinect, es necesario que cada kinect esté conectado a un bus usb y si  
puede ser sólo para él mucho mejor, no se si tienes conectado algún  
dispositivo que genere mucho tráfico en el mismo bus o incluso dos  
kinects.

un saludo,
Fran.



"Juan Navarro Bosgos" <jnbosgos en gmail.com> escribió:

> Hola,
>
> revisando esta incidencia que comenté, he observado algunos cambios:
>
> cameraserver ya no me lanza una "Violación de segmento", pero al ejecutarlo
> se me cierra ofreciendo la siguiente salida:
>
> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/cameraserver$
> ./cameraserver --Ice.Config=cameraserver.cfg
> Constructor CameraI -> CameraSrv.Camera.0.
> URI: 0
> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/cameraserver$
>
>
> revisando el código de cameraserver.cpp he observado que el problema
> parecía ser que la condición de la línea 101 de dicha clase:
> "if(cap.isOpened())" devolvía cero; para comprobarlo he impreso el estado
> por pantalla antes de que entrase a la condición y tras sus asignación en
> las líneas 96 a 99, mediante "std::cout << "cap.isOpened: " <<
> cap.isOpened() << std::endl;", obteniendo:
>
> cap.isOpened: 0
>
>
> el fichero de configuración utilizado es el que está en el repositorio; en
> el portátil que lo ejecuto hay una webcam integrada, y en versiones
> anteriores de jderobot el componente me funcionaba utilizando como Uri
> '/dev/video0' (si utilizo dicha uri ahora me salta la Violación de
> segmento), se supone que el '0' que aparece en el fichero de configuración
> hace referencia a dicha ruta; entonces no sé cómo solucionarlo para que
> abra el capturador de video y no se termine la ejecución.
>
>
> Luego con respecto a openniServer, como utilizo Kinect como sensor RGBD, no
> me podía funcionar ya que OpenNI2 no lo soporta; así que debía utilizar
> openni1Server. Utilizando un kinect real, openni1Server lo detecta pero se
> produce un fallo por TimeOut mientras espera datos nuevos, y la mayoría de
> las veces termina la ejecución inesperadamente con una Violación de
> segmento, otras pocas se queda ejecutando pero lanzando avisos de timeouts
> de las distintas cámaras:
>
> Sin violación de segmento:
>
> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/openni1Server$
> ./openni1Server --Ice.Config=openni1Server.cfg
> -! 10/28/13 17:29:17.519 warning: found unknown properties for object
> adapter `openni1Server':
>        openni1Server.CameraDEPTH
>        openni1Server.CameraDEPTH.Format
>        openni1Server.CameraDEPTH.Name
>        openni1Server.CameraDEPTH.fps
>        openni1Server.CameraRGB
>        openni1Server.CameraRGB.Format
>        openni1Server.CameraRGB.Name
>        openni1Server.CameraRGB.fps
>        openni1Server.Fps
>        openni1Server.Height
>        openni1Server.KinectLedsActive
>        openni1Server.NCameras
>        openni1Server.PlayerDetection
>        openni1Server.Pose3DMotorsActive
>        openni1Server.Width
>        openni1Server.calibration
>        openni1Server.deviceId
>        openni1Server.pointCloud.Fps
>        openni1Server.pointCloudActive
> Selected device: 0
> NCAMERAS = 2
> Found device: vendor PrimeSense name SensorKinect
> Number of detected devices: 1
> [Device 0] PrimeSense, SensorKinect, serial=A00365905701052A
> Creating camera cameraA
> openni1Server.CameraRGB.PlayerDetection
> Starting thread for camera: cameraA
>               -------- openni1Server: Component: CameraRGB created
> successfully   --------
> Creating camera cameraB
> Starting thread for camera: cameraB
>               -------- openni1Server: Component: CameraDEPTH created
> successfully   --------
> Creating pointcloud1 pointcloud1
>               -------- openni1Server: Component: PointCloud created
> successfully   --------
> CREADO
> FPS: 10
> ------------------------------------------------------
> Camera
>
>      Position: (X,Y,Z,H)=(1895.0,4983.0,857.0,1.0)
>      Focus of Attention: (x,y,z,h)=(4633.0,642.0,1088.0,1.0)
>
>      Focus DistanceX(vertical): 515.0 mm
>      Focus DistanceY(horizontal): 515.0 mm
>      Skew: 0.00000
>      Optical Center: (x,y)=(219.0,323.0)
>
>      K Matrix: | 515.0 0.0 219.0 0.0 |
>                | 0.0 515.0 323.0 0.0 |
>                | 0.0 0.0 1.0 0.0 |
>
>  R&T Matrix: | -0.0 0.0 1.0 -1000.2 |
>              | -0.8 -0.5 0.0 4261.1 |
>              | 0.5 -0.8 0.0 3162.0 |
>              | 0.0 0.0 0.0 1.0 |
>
> ------------------------------------------------------
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> -------- openni1Server: WARNING- DEPTH timeout-
> -------- openni1Server: WARNING- POINTCLOUD timeout-
> -------- openni1Server: WARNING- RGB timeout-
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> -------- openni1Server: WARNING- POINTCLOUD timeout-
> -------- openni1Server: WARNING- DEPTH timeout-
> -------- openni1Server: WARNING- RGB timeout-
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> -------- openni1Server: WARNING- POINTCLOUD timeout-
> -------- openni1Server: WARNING- DEPTH timeout-
> -------- openni1Server: WARNING- RGB timeout-
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> -------- openni1Server: WARNING- POINTCLOUD timeout-
> -------- openni1Server: WARNING- DEPTH timeout-
> -------- openni1Server: WARNING- RGB timeout-
> -------- openni1Server: WARNING- RGB timeout-
> -------- openni1Server: WARNING- POINTCLOUD timeout-
> -------- openni1Server: WARNING- DEPTH timeout-
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> -------- openni1Server: WARNING- POINTCLOUD timeout-
> -------- openni1Server: WARNING- DEPTH timeout-
> -------- openni1Server: WARNING- RGB timeout-
> ^C
> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/openni1Server$
>
>
> Con violación de segmento:
>
> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/openni1Server$
> ./openni1Server --Ice.Config=openni1Server.cfg
> -! 10/28/13 17:31:16.425 warning: found unknown properties for object
> adapter `openni1Server':
>        openni1Server.CameraDEPTH
>        openni1Server.CameraDEPTH.Format
>        openni1Server.CameraDEPTH.Name
>        openni1Server.CameraDEPTH.fps
>        openni1Server.CameraRGB
>        openni1Server.CameraRGB.Format
>        openni1Server.CameraRGB.Name
>        openni1Server.CameraRGB.fps
>        openni1Server.Fps
>        openni1Server.Height
>        openni1Server.KinectLedsActive
>        openni1Server.NCameras
>        openni1Server.PlayerDetection
>        openni1Server.Pose3DMotorsActive
>        openni1Server.Width
>        openni1Server.calibration
>        openni1Server.deviceId
>        openni1Server.pointCloud.Fps
>        openni1Server.pointCloudActive
> Selected device: 0
> NCAMERAS = 2
> Found device: vendor PrimeSense name SensorKinect
> Number of detected devices: 1
> [Device 0] PrimeSense, SensorKinect, serial=A00365905701052A
> Creating camera cameraA
> openni1Server.CameraRGB.PlayerDetection
> Starting thread for camera: cameraA
>               -------- openni1Server: Component: CameraRGB created
> successfully   --------
> Creating camera cameraB
> Starting thread for camera: cameraB
>               -------- openni1Server: Component: CameraDEPTH created
> successfully   --------
> Creating pointcloud1 pointcloud1
>               -------- openni1Server: Component: PointCloud created
> successfully   --------
> FPS: 10
> CREADO
> ------------------------------------------------------
> Camera
>
>      Position: (X,Y,Z,H)=(1895.0,4983.0,857.0,1.0)
>      Focus of Attention: (x,y,z,h)=(4633.0,642.0,1088.0,1.0)
>
>      Focus DistanceX(vertical): 515.0 mm
>      Focus DistanceY(horizontal): 515.0 mm
>      Skew: 0.00000
>      Optical Center: (x,y)=(219.0,323.0)
>
>      K Matrix: | 515.0 0.0 219.0 0.0 |
>                | 0.0 515.0 323.0 0.0 |
>                | 0.0 0.0 1.0 0.0 |
>
>  R&T Matrix: | -0.0 0.0 1.0 -1000.2 |
>              | -0.8 -0.5 0.0 4261.1 |
>              | 0.5 -0.8 0.0 3162.0 |
>              | 0.0 0.0 0.0 1.0 |
>
> ------------------------------------------------------
> WaitAnyUpdateAll() failed failed: A timeout has occurred when waiting for
> new data!
> Violación de segmento (`core' generado)
> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/openni1Server$
>
>
>
> Si alguno sabéis como solucionar alguno de los 2 problemas, o por dónde
> puede estar el fallo, os lo agradecería.
>
> Saludos,
> Juan
>
>
> 2013/10/8 Juan Navarro Bosgos <jnbosgos en gmail.com>
>
>> Hola,
>>
>> tras el problema con basic_component al compilar todo jderobot [1], he
>> utilizado el método de compilación por componentes para compilar todos
>> menos ese (basic_component) y el make ha resultado bien.
>>
>> Ahora el problema lo tengo al ejecutar los componentes, al menos los que
>> he probado; y tras pegarme con ficheros de configuración, la wiki y mirar
>> los códigos de los componentes, he decidido comentarlo a ver si alguien
>> sabe por dónde puede estar el problema.
>> El único que consigo hacer funcionar es el plugin de kinect en gazebo
>> 1.7.3. Los problemas los tengo con (los ficheros de las salidas en general
>> son los del repositorio, aunque modificándolos obtengo los mismos
>> resultados):
>>
>> cameraserver probado conectado a la webcam del portatil (también he
>> probado con un video dándole la ruta, con los mismos resultados) :
>>
>> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/cameraserver$
>> ./cameraserver --Ice.Config=cameraserver.cfg
>> Constructor CameraI -> CameraSrv.Camera.0.
>> URI: v4l2:///dev/video0
>> Violación de segmento (`core' generado)
>>
>>
>> openniServer con un kinect real:
>>
>> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/openniServer$
>> ./openniServer --Ice.Config=openniServer.cfg
>> -! 10/08/13 21:59:39.670 warning: found unknown properties for object
>> adapter `openniServer':
>>        openniServer.CameraDEPTH
>>        openniServer.CameraDEPTH.Format
>>        openniServer.CameraDEPTH.Mirror
>>        openniServer.CameraDEPTH.Name
>>        openniServer.CameraDEPTH.PlayerDetection
>>        openniServer.CameraDEPTH.fps
>>        openniServer.CameraIR
>>        openniServer.CameraRGB
>>        openniServer.CameraRGB.Format
>>        openniServer.CameraRGB.Mirror
>>        openniServer.CameraRGB.Name
>>        openniServer.CameraRGB.PlayerDetection
>>        openniServer.CameraRGB.fps
>>        openniServer.ImageRegistration
>>        openniServer.KinectLedsActive
>>        openniServer.Mode
>>        openniServer.NCameras
>>        openniServer.PlayerDetection
>>        openniServer.PointCloud.Name
>>        openniServer.Pose3DMotorsActive
>>        openniServer.deviceId
>>        openniServer.pointCloud.Fps
>>        openniServer.pointCloudActive
>> Selected device: 0
>> NCAMERAS = 2
>> Missing devices
>> 0 : Couldn't open device ????1: DeviceOpen: Couldn't open device '????1'
>>
>> Violación de segmento (`core' generado)
>>
>>
>> recorder conectado a gazebo con el plugin de kinect:
>>
>> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/recorder$
>> ./recorder --Ice.Config=simulatedKinect.cfg
>> Outgoing.cpp:424: Ice::ObjectNotExistException:
>> object does not exist:
>> identity: `CameraI'
>> facet:
>> operation: ice_isA
>>
>>
>>
>> kinectViewer conectado a gazebo con plugin de kinect:
>>
>> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/kinectViewer$
>> ./kinectViewer --Ice.Config=kinectViewer.cfg
>> Outgoing.cpp:424: Ice::ObjectNotExistException:
>> object does not exist:
>> identity: `CameraI'
>> facet:
>> operation: ice_isA
>> terminate called after throwing an instance of
>> 'IceUtil::NullHandleException'
>>   what():  /usr/include/IceUtil/Handle.h:46: IceUtil::NullHandleException
>> Abortado (`core' generado)
>>
>>
>>
>> La salida de la ejecución de gazebo con el plugin de kinect al que conecto
>> algunos de los componentes anteriores, por si puede ser de utilidad, es:
>>
>> jnbosgos en teleko:~/pfc/jderobot/trunk/src/stable/components/gazeboserver/pluginsGazebo/kinect$
>> gazebo kinect.world
>> Gazebo multi-robot simulator, version 1.7.3
>> Copyright (C) 2013 Open Source Robotics Foundation.
>> Released under the Apache 2 License.
>> http://gazebosim.org
>>
>> Gazebo multi-robot simulator, version 1.7.3
>> Copyright (C) 2013 Open Source Robotics Foundation.
>> Released under the Apache 2 License.
>> http://gazebosim.org
>>
>> Msg Waiting for master.Warning [parser.cc:361] Converting a deprecated SDF
>> source[/home/jnbosgos/pfc/jderobot/trunk/src/stable/components/gazeboserver/pluginsGazebo/kinect/kinect.world].
>> Warning [Converter.cc:58]   Version[1.0] to Version[1.4]
>>   Please use the gzsdf tool to update your SDF files.
>>     $ gzsdf convert [sdf_file]
>> Warning [parser.cc:361] Converting a deprecated SDF
>> source[/home/jnbosgos/.gazebo/models/ground_plane/model.sdf].
>> Warning [Converter.cc:58]   Version[1.2] to Version[1.4]
>>   Please use the gzsdf tool to update your SDF files.
>>     $ gzsdf convert [sdf_file]
>> Warning [parser.cc:361] Converting a deprecated SDF
>> source[/home/jnbosgos/.gazebo/models/sun/model.sdf].
>> Warning [Converter.cc:58]   Version[1.2] to Version[1.4]
>>   Please use the gzsdf tool to update your SDF files.
>>     $ gzsdf convert [sdf_file]
>> Msg Waiting for master
>> Msg Connected to gazebo master @ http://127.0.0.1:11345
>> Msg Publicized address: 192.168.1.108
>>
>> Msg Connected to gazebo master @ http://127.0.0.1:11345
>> Msg Publicized address: 192.168.1.108
>> Kinect Endpoints > default -h localhost -p 9998
>> Constructor CameraI
>> safeThread
>> Constructor CameraDepth
>> safeThread
>>         adapter->add(object, ic->stringToIdentity(Kinect));
>>
>>
>>  y el fichero de configuración de recorder 'simulatedKinect.cfg':
>>
>> Recorder.FileName=datos.jde
>> Recorder.nCameras=1
>> Recorder.nDethSensors=1
>> Recorder.nLasers=0
>> Recorder.DepthSensor1.Proxy=CameraDepth:tcp -h localhost -p 9998
>> Recorder.Camera1.Proxy=CameraI:tcp -h localhost -p 9998
>> Recorder.GUI=1
>>
>> Recorder.Hostname=localhost
>> Recorder.Port=9990
>> Recorder.Format=png
>> Recorder.PngCompression=0
>> #from 0 to 9. A higher value means a smaller size
>> Recorder.JpgQuality=80
>> # from 0 to 100 (the higher is the better)
>> Recorder.Laser.Samples=180
>> Recorder.Hz=10
>>
>>
>> Un saludo,
>> Juan
>>
>> [1] [Jderobot] Problema con openniServer al hacer el  
>> make<http://jderobot-developer-list.2315034.n4.nabble.com/Jderobot-Problema-con-openniServer-al-hacer-el-make-tp4641664.html>
>>
>



------------------------------------------------------------------
Laboratorio de Análisis del Movimiento, Biomecánica, Ergonomía y  
Control Motor (LAMBECOM).
Departamento de Fisioterapia, Terapia Ocupacional, Rehabilitación y  
Medicina Física.
Universidad Rey Juan Carlos (URJC).


More information about the Jde-developers mailing list