This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/OPT8241-CDK-EVM: VoxelSDK on Raspberry Pi (PCL Compile Problem)

Part Number: OPT8241-CDK-EVM

Tool/software: Linux

Hallo,

I recently got a bunch of Development kits which we want to use with a Raspberry Pi. I followed your Voxel SDK installation routine as given on Github several times on Ubuntu Mate 16.04.02 on a Raspberry Pi 3B and 3B+ with the same result.

I wanted to compile PCL but get stuck at around 64% because I run out of memory (I already increased the swap file to 4GB with the same result). Is it possible to run the EVK oder VoxelSDK without the PCL?

also. I used ccmake .. to setup the maefile as your given cmake commands gave me errors (No Module GPU found in Makefile and so on).

What we actually want to do is take about 10 Depth Images 3 times a day on a long term period. So we wouldn't need any visualisation or so, because the depth frames will be analyzed on another PC.

Does anybody have a working image for a raspberry Pi?

  • Hi Sebastian,

    Currently, we do not have a VoxelSDK version without PCL. However, all requirements of PCL are stored in the VoxelPCL directory. If you want to remove PCL, just remove the dependencies on VoxelPCL (you may have to remove some apps like SimpleVoxelViewer and VoxelCLI for this to work).

    If Ubuntu Mate is heavy, can you try running in Raspbian instead? See https://github.com/3dtof/voxelsdk/issues/166

    Suramya

  • Hi Suramya,

    thank you for your suggestion. I tried to set it up on raspian but apparently some of the dependables are not available right now (probably I am working on a Pi 3B+).

    However I checked again on mate and still got stuck at about 63% in the surface package. I included the error below. It's stuck there when I use 6GB of swap space which should be enough I think. I checked with free -m and the swap space is not filled up as it seems.

    I also tried some of the DEB packages but it wasn't successful as it seems libboost-chrono1.54.0 is needed and I don't get it. Is there any other way to work with the Camera? Like a uSB driver and some basic Python Library or so? I really just need some depth frames which can't be that hard I think and coping with the VoxelSDK seems to be a bit.....frustrating at least.

    [ 63%] Building CXX object surface/CMakeFiles/pcl_surface.dir/src/mls.cpp.o
    virtual memory exhausted: Operation not permitted
    surface/CMakeFiles/pcl_surface.dir/build.make:254: recipe for target 'surface/CMakeFiles/pcl_surface.dir/src/mls.cpp.o' failed
    make[2]: *** [surface/CMakeFiles/pcl_surface.dir/src/mls.cpp.o] Error 1
    CMakeFiles/Makefile2:1280: recipe for target 'surface/CMakeFiles/pcl_surface.dir/all' failed
    make[1]: *** [surface/CMakeFiles/pcl_surface.dir/all] Error 2
    Makefile:160: recipe for target 'all' failed
    make: *** [all] Error 2

  • Hi Sebastian,

    VoxelSDK is the only code we provide for the camera. This generates a python wrapper, but again, for that to work, the shared libraries should be present.

    I'm currently creating a patch that builds without PCL, if it's not present. It's not fully working, but I've attached the steps for the build to work without PCL. These changes should be incorporated along with the instructions given for Ubuntu Mate:

    • From the top level VoxelSDK directory, remove the following lines
        
      include_directories(
        Voxel
        TI3DToF
        #VoxelPCL - This needs to be commented out
        ${PROJECT_BINARY_DIR}/Voxel
        ${PROJECT_BINARY_DIR}/TI3DToF
        #${PROJECT_BINARY_DIR}/VoxelPCL - this also needs to be commented out
        ${COMMON_INCLUDE}
      )
      add_subdirectory(Voxel)
      #add_subdirectory(VoxelPCL) - this needs to be commented
      add_subdirectory(TI3DToF)
      add_subdirectory(Test)
      #add_subdirectory(App) - this needs to be commented
      add_subdirectory(Util)

      After these changes, PCL will not be a requirement and you can build VoxelSDK directly. You'll get the python bindings (if you have swig) and can use them for capturing data. 

  • Hi Suramya,

    thanks a lot. I could compile VoxelSDK without PCL and the python bindings seem to work when I run the Python Scripts in /Test.

    Now I can finally try to write software for the camera ;-).