modifying voxl-mapper



  • @Matthew-Booker Screenshot_20220811-222954_WhatsApp.png
    This is the output on voxl cross.but on voxl2 we couldn't run the command for opkg.
    Can you please tell the equivalent command for voxl 2 ?



  • This post is deleted!


  • Can I double check. Did you run ./install_build_deps.sh before trying to build?

    If building for a VOXL 2 the full command would be ./install_build_deps.sh qrb5165 stable



  • If we are building it for voxlcam, what should be used?

    If we use ./install_build_deps.sh apq8096 stable, we get the error,
    '-- Configuring done
    -- Generating done
    -- Build files have been written to: /home/root/voxlcam_mapper/voxl-mapper/build64
    Consolidate compiler generated dependencies of target mav_trajectory_generation
    [ 25%] Built target mav_trajectory_generation
    Consolidate compiler generated dependencies of target mav_planning_common
    [ 36%] Built target mav_planning_common
    Consolidate compiler generated dependencies of target voxblox_planning_common
    Consolidate compiler generated dependencies of target mav_path_smoothing
    [ 44%] Built target voxblox_planning_common
    [ 58%] Built target mav_path_smoothing
    Consolidate compiler generated dependencies of target voxblox_loco_planner
    [ 69%] Built target voxblox_loco_planner
    Consolidate compiler generated dependencies of target mav_local_planner
    [ 77%] Built target mav_local_planner
    Consolidate compiler generated dependencies of target voxl-mapper
    [ 80%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/voxl_mapper.cc.o
    /home/root/voxlcam_mapper/voxl-mapper/server/voxl-mapper/voxl_mapper.cc: In member function 'virtual bool voxblox::TsdfServer::loadMap(std::string, std::string)':
    /home/root/voxlcam_mapper/voxl-mapper/server/voxl-mapper/voxl_mapper.cc:1164:54: error: 'class voxblox::Layervoxblox::TsdfVoxel' has no member named 'loadBlocksFromFile'
    bool tsdf_loaded = tsdf_map_->getTsdfLayerPtr()->loadBlocksFromFile(
    ^
    /home/root/voxlcam_mapper/voxl-mapper/server/voxl-mapper/voxl_mapper.cc:1172:54: error: 'class voxblox::Layervoxblox::EsdfVoxel' has no member named 'loadBlocksFromFile'
    bool esdf_loaded = esdf_map_->getEsdfLayerPtr()->loadBlocksFromFile(
    ^
    server/voxl-mapper/CMakeFiles/voxl-mapper.dir/build.make:159: recipe for target 'server/voxl-mapper/CMakeFiles/voxl-mapper.dir/voxl_mapper.cc.o' failed
    make[2]: *** [server/voxl-mapper/CMakeFiles/voxl-mapper.dir/voxl_mapper.cc.o] Error 1
    CMakeFiles/Makefile2:398: recipe for target 'server/voxl-mapper/CMakeFiles/voxl-mapper.dir/all' failed
    make[1]: *** [server/voxl-mapper/CMakeFiles/voxl-mapper.dir/all] Error 2
    Makefile:135: recipe for target 'all' failed
    make: *** [all] Error 2
    '



  • @Nishkala you can instead use ./install_build_deps.sh apq8096 sdk-0.8



  • This post is deleted!


  • This post is deleted!


  • @Matthew-Booker Thanks a lot!

    What works for me is:

    voxl-cross:~/voxl-mapper(master)(0.0.7)$ ./install_build_deps.sh apq8096 sdk-0.8
    voxl-cross:~/voxl-mapper(master)(0.0.7)$ ./build.sh apq8096
    voxl-cross:~/voxl-mapper(master)(0.0.7)$ ./make_package.sh ipk
    scp voxl-mapper_0.0.7.ipk root@10.0.1.10:

    On voxl 1 board, I added arm64 7 to /etc/opkg/arch.conf
    voxl:~$ voxl-configure-opkg dev
    opkg install --force-reinstall --force-downgrade --force-depends --force-overwrite voxl-mapper_0.0.7.ipk

    Then everything seems to work so far!



  • @Matthew-Booker However, when I try to save the mesh from the portal, in my compiled version, I get this symbol not found error. Any ideas why it can not find this function and how to fix it? Many thanks in advance.

    skipped 2 point clouds
    WARNING bytes left in tof point cloud pipe
    skipped 3 point clouds
    skipped 1 point clouds
    voxl-mapper: symbol lookup error: voxl-mapper: undefined symbol: _ZNK7voxblox5LayerINS_9TsdfVoxelEE10saveToFileESsb
    Fault address: 0x7f60053888
    Access to this address is not allowed.
    Segmentation fault



  • @Arjun-Jain Looks like a mismatch in the voxl-voxblox version. Since you've already configured opkg you should just be able to run opkg install voxl-voxblox and it should work.



  • @Matthew-Booker How to do the same on voxl2

    I tried the below commands
    voxl-cross:~/voxl-mapper(master)(0.0.7)$ ./install_build_deps.sh apq8096 sdk-0.8
    voxl-cross:~/voxl-mapper(master)(0.0.7)$ ./build.sh apq8096
    voxl-cross:~/voxl-mapper(master)(0.0.7)$ ./make_package.sh
    voxl-cross:~/voxl-mapper(master)(0.0.7)$ ./deploy_to_voxl.sh

    On the voxl2 board
    voxl2:/$ voxl-configure-pkg-manager
    Chose sdk 0.8
    voxl2:/$ apt update
    voxl2:/$ voxl-mapper

    I got the below error
    '
    Loading our own config file
    Loading extrinsics config file
    Trying to init tsdf server
    terminate called after throwing an instance of 'std::bad_alloc'
    what(): std::bad_alloc
    Aborted
    '



  • @Nishkala When you build for voxl2 you need to use qrb5165 not apq8096 so the full command would be:
    ./install_build_deps.sh qrb5165 sdk-0.8
    ./build.sh qrb5165
    ./make_package.sh



  • @Matthew-Booker
    I ran the below commands on voxl cross:
    ./install_build_deps.sh qrb5165 sdk-0.8
    ./build.sh qrb5165
    ./make_package.sh
    ./deploy_to_voxl.sh

    I ran voxl-mapper after this on the board and got the error 'voxl-mapper: symbol lookup error: voxl-mapper: undefined symbol: _ZNK7voxblox5LayerINS_9EsdfVoxelEE10saveToFileENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb
    '

    I wanted to add arm64 to /etc/opkg/arch.conf but voxl2 uses apt. How to solve the above issue?



  • That error occurs when theres a voxl-voxblox version mismatch. The version of voxl-voxblox on your voxl2 is older. On your voxl2 if you run the following it should update

    apt install voxl-voxblox



  • This post is deleted!


  • @Matthew-Booker
    This worked! Thank you



  • This post is deleted!

Log in to reply