ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    modifying voxl-mapper

    Ask your questions right here!
    4
    23
    1707
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      howard
      last edited by

      Hello team,
      We wanted to modify the source code of voxl-mapper to send z coordinate. We have changed the code and now we would like to build it. We tried building it using voxl-cross but we got the following error

      CMakeFiles/Makefile2:340: recipe for target 'server/voxblox_loco_planner/CMakeFiles/voxblox_loco_planner.dir/all' failed
      make[1]: *** [server/voxblox_loco_planner/CMakeFiles/voxblox_loco_planner.dir/all] Error 2
      Makefile:135: recipe for target 'all' failed
      make: *** [all] Error 2
      

      Do we need to use voxl-emulator or something?can you please help us with this.
      thank you

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User
        last edited by

        Hi Howard,

        The error occurs further up in the text. Without it I'm not sure what the issue is. Please could you post a more complete image of the error?

        H 2 Replies Last reply Reply Quote 0
        • H
          howard @Guest
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • H
            howard
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • H
              howard @Guest
              last edited by

              @Matthew-Booker
              Sorry for being late, we were trying to build the package again on voxl cross,
              We got the following error,
              https://docs.google.com/document/d/1C1fZl-i5CzY3OUXER0KUOl3I6TGEhlw1XSsiebbMCr4/edit?usp=drivesdk
              After analysis we felt that ceres server package was missing hence we installed it using the instructions provided on the ceres server page. https://ceres-solver.org/installation.html
              We even customised the build by using tye command

              cmake -DCMAKE_CXX_FLAGS="-march=native" /home/root/ceres-solver
              

              After running make install as seen in above link
              We noticed that the libceres.a file was in /usr/local/bin and not in /usr/lib64
              Hence we copied libceres.a file to usr/lib64 but we ended up getting the following error, '/usr/lib64/libceres.a: error adding symbols: file in wrong format'
              The scenario can be seen in the below document.

              https://docs.google.com/document/d/1Q_5aam02v79-E3MosS6sw1BJ_0q3x1HUCCt_twu33Ao/edit?usp=drivesdk

              Please help us in solving the error
              Thanks!

              1 Reply Last reply Reply Quote 0
              • ?
                A Former User
                last edited by

                Hi Howard,

                So the issue here is you've built ceres-solver for the native architecture which would mean that if you are running voxl-cross on your own desktop it built ceres-solver for your desktops architecture. In any case we have our own ceres-solver which you can install. Could you post the results of running cat /etc/opkg/opkg.conf on your VOXL?

                Also just a heads up that I should have mentioned earlier. In about a week or two there will be a major update to voxl-mapper which should bring a lot of improvements but will change a lot of things.

                H 1 Reply Last reply Reply Quote 0
                • H
                  howard @Guest
                  last edited by

                  @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 ?

                  1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User
                    last edited by

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User
                      last edited by A Former User

                      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

                      1 Reply Last reply Reply Quote 0
                      • N
                        Nishkala
                        last edited by Nishkala

                        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
                        '

                        1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User
                          last edited by

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

                          Arjun JainA 3 Replies Last reply Reply Quote 0
                          • Arjun JainA
                            Arjun Jain @Guest
                            last edited by

                            This post is deleted!
                            Arjun JainA 1 Reply Last reply Reply Quote 0
                            • Arjun JainA
                              Arjun Jain @Arjun Jain
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • Arjun JainA
                                Arjun Jain @Guest
                                last edited by

                                @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!

                                N 2 Replies Last reply Reply Quote 0
                                • Arjun JainA
                                  Arjun Jain @Guest
                                  last edited by

                                  @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

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User
                                    last edited by

                                    @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.

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      Nishkala @Arjun Jain
                                      last edited by Nishkala

                                      @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
                                      '

                                      ? 1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User @Nishkala
                                        last edited by

                                        @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

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          Nishkala @Arjun Jain
                                          last edited by

                                          @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?

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User
                                            last edited by

                                            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

                                            N 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Powered by NodeBB | Contributors