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

    What are my options for ROS support on VOXL?

    ROS
    3
    10
    913
    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.
    • Ed SutterE
      Ed Sutter
      last edited by

      I am just getting started with VOXL Flight Deck. I've walked through several quick starts and have used ADB and SSH as well as QGC/WiFi to connect to my target. All good. I see that my shipped system is running a Yocto built version of Linux that has ROS Indigo.
      I was hoping to use ROS Melodic. Is there any upgrade path to be able to run ROS Melodic on VOXL?

      1 Reply Last reply Reply Quote 0
      • Chad SweetC
        Chad Sweet ModalAI Team
        last edited by

        Here is a tutorial using mavros with kinetic.

        From there you can see instructions for running Docker on VOXL that points to the Dockerfile for the kinetic image. You should be able to upgrade to Melodic using similar techniques

        Ed SutterE 2 Replies Last reply Reply Quote 0
        • Ed SutterE
          Ed Sutter @Chad Sweet
          last edited by Ed Sutter

          @Chad-Sweet Thanks, I'll dig into that...
          Am I correct to assume that it is common practice to run with the Yocto based Linux as the "base" platform and then launch various docker images with some form of Ubuntu in parallel with that?

          Assuming it is, has anyone already created a "rosmelodic-bionic" docker image?
          Seems the docker files here https://gitlab.com/voxl-public/voxl-docker-images/roskinetic-docker are where to start. True?
          Sorry, I'm editing this as I go. I'll stop now...

          1 Reply Last reply Reply Quote 0
          • Ed SutterE
            Ed Sutter @Chad Sweet
            last edited by

            @Chad-Sweet I'm working on a docker image to support ROS melodic on Ubuntu 18.04; meanwhile, I'd still appreciate your thoughts on this...
            Just based on a pretty thorough docker-on-voxl page vs "coming soon" for the MPA-to-ROS page, it appears the better route is to push toward docker; especially if I have ROS-melodic experience. True? Thoughts?

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

              Hi,

              The "coming soon" for voxl-mpa-to-ros refers more to the documentation on our end as we finalize the structure of the package, it is already in a completely usable state. I think the issue for you is that it is not a new implementation of ros on voxl but just a rosnode for publishing MPA topics within the already existing indigo (or melodic on voxl2) infrastructure. We don't have any plans for supporting melodic natively on voxl1 since the voxl system is based on an older yocto build as opposed to a relatively standard Ubuntu 18 for voxl2.

              1 Reply Last reply Reply Quote 0
              • Ed SutterE
                Ed Sutter
                last edited by

                Thanks for the quick response. I was offline for the last 36 hours waiting for a network repair...
                Anyway, the fundamental problem I'm having with voxl-mpa-to-ros is a build failure...
                I follow the instructions in the README.md but end up with a failure in build.sh...
                Several CMAKE warnings like this:

                CMake Warning at /opt/ros/indigo/share/cpp_common/cmake/cpp_commonConfig.cmake:111 (message):
                  Project 'cpp_common' specifies 'NOTFOUND/usr/include' as an include dir,
                  which is not found.  It does neither exist as an absolute directory nor in
                  '/opt/ros/indigo/NOTFOUND/usr/include'.  Ask the maintainer 'Dirk Thomas
                  <dthomas@osrfoundation.org>' to fix it.
                Call Stack (most recent call first):
                  /opt/ros/indigo/share/roscpp/cmake/roscppConfig.cmake:169 (find_package)
                  /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
                  CMakeLists.txt:43 (find_package)
                

                Then the final error:

                /home/root/catkin_ws/src/./include/interfaces/ai_detection_interface.h:38:41: fatal error: voxl_mpa_to_ros/AiDetection.h: No
                such file or directory
                 #include <voxl_mpa_to_ros/AiDetection.h>
                                                         ^
                compilation terminated.
                CMakeFiles/voxl_mpa_to_ros_node.dir/build.make:206: recipe for target 'CMakeFiles/voxl_mpa_to_ros_node.dir/src/interface_mana
                ger.cpp.o' failed
                make[2]: *** [CMakeFiles/voxl_mpa_to_ros_node.dir/src/interface_manager.cpp.o] Error 1
                Scanning dependencies of target voxl_mpa_to_ros_generate_messages_lisp
                [ 66%] Generating Lisp code from voxl_mpa_to_ros/AiDetection.msg
                [ 66%] Built target voxl_mpa_to_ros_generate_messages_lisp
                Scanning dependencies of target voxl_mpa_to_ros_generate_messages_py
                [ 73%] Generating Python from MSG voxl_mpa_to_ros/AiDetection
                [ 80%] Generating Python msg __init__.py for voxl_mpa_to_ros
                [ 80%] Built target voxl_mpa_to_ros_generate_messages_py
                [ 80%] Built target voxl_mpa_to_ros_generate_messages_cpp
                Scanning dependencies of target voxl_mpa_to_ros_generate_messages
                [ 80%] Built target voxl_mpa_to_ros_generate_messages
                CMakeFiles/Makefile2:1546: recipe for target 'CMakeFiles/voxl_mpa_to_ros_node.dir/all' failed
                make[1]: *** [CMakeFiles/voxl_mpa_to_ros_node.dir/all] Error 2
                Makefile:138: recipe for target 'all' failed
                make: *** [all] Error 2
                Invoking "make install -j8 -l8" failed
                voxl-emulator:~$
                

                This is the result when running build.sh apq8096, which I assume is correct for Voxl-Flight-Deck. Are those instructions up to date? I am running with docker image "voxl-eumlator:V1.7".

                1 Reply Last reply Reply Quote 0
                • Chad SweetC
                  Chad Sweet ModalAI Team
                  last edited by

                  Maybe this post helps? https://forum.modalai.com/topic/1097/subscribe-to-voxl_mpa_to_ros-topics/2?_=1660186237636

                  1 Reply Last reply Reply Quote 0
                  • Ed SutterE
                    Ed Sutter
                    last edited by

                    Not sure how that topic applies to my question (sorry, I certainly admit to being new to VOXL). Right now all I'm trying to do is build that repository by cloning it and following the build steps outlined in the README.md file. No changes, I'm just trying to verify that I have my host environment set up properly.
                    Am I correct to assume that this should build clean as is?

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

                      I just pulled down master and it built successfully (you have the correct docker image and version , voxl-emulator-1.7).

                      voxl-emulator:~/voxl-mpa-to-ros$ ./install_build_deps.sh apq8096 stable 
                      using apq8096 stable repo
                      adding arm64 to opkg conf
                      Downloading http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64//Packages.gz.
                      Updated source 'stable'.
                      installing: 
                      libmodal-json
                      libmodal-pipe
                      libvoxl-cutils
                      Installing libmodal-json (0.4.2) on root.
                      Downloading http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64//libmodal-json_0.4.2.ipk.
                      Configuring libmodal-json.
                      Installing libmodal-pipe (2.4.0) on root.
                      Downloading http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64//libmodal-pipe_2.4.0.ipk.
                      Configuring libmodal-pipe.
                      Installing libvoxl-cutils (0.1.1) on root.
                      Downloading http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64//libvoxl-cutils_0.1.1.ipk.
                      Configuring libvoxl-cutils.
                      
                      Done installing dependencies
                      
                      
                      voxl-emulator:~/voxl-mpa-to-ros$ ./clean.sh 
                      
                      
                      voxl-emulator:~/voxl-mpa-to-ros$ ./build.sh apq8096
                      Base path: /home/root/voxl-mpa-to-ros/catkin_ws
                      Source space: /home/root/voxl-mpa-to-ros/catkin_ws/src
                      Build space: /home/root/voxl-mpa-to-ros/catkin_ws/build
                      Devel space: /home/root/voxl-mpa-to-ros/catkin_ws/devel
                      Install space: /home/root/voxl-mpa-to-ros/catkin_ws/install
                      ####
                      #### Running command: "cmake /home/root/voxl-mpa-to-ros/catkin_ws/src -DCMAKE_BUILD_TYPE=Release -DCATKIN_DEVEL_PREFIX=/home/root/voxl-mpa-to-ros/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/root/voxl-mpa-to-ros/catkin_ws/install -G Unix Makefiles" in "/home/root/voxl-mpa-to-ros/catkin_ws/build"
                      ####
                      -- The C compiler identification is GNU 4.9.3
                      -- The CXX compiler identification is GNU 4.9.3
                      -- Check for working C compiler: /usr/bin/cc
                      -- Check for working C compiler: /usr/bin/cc -- works
                      -- Detecting C compiler ABI info
                      -- Detecting C compiler ABI info - done
                      -- Detecting C compile features
                      -- Detecting C compile features - done
                      -- Check for working CXX compiler: /usr/bin/c++
                      -- Check for working CXX compiler: /usr/bin/c++ -- works
                      -- Detecting CXX compiler ABI info
                      -- Detecting CXX compiler ABI info - done
                      -- Detecting CXX compile features
                      -- Detecting CXX compile features - done
                      -- Using CATKIN_DEVEL_PREFIX: /home/root/voxl-mpa-to-ros/catkin_ws/devel
                      -- Using CMAKE_PREFIX_PATH: /opt/ros/indigo
                      -- This workspace overlays: /opt/ros/indigo
                      -- Found PythonInterp: /usr/bin/python (found version "2.7.9") 
                      -- Using PYTHON_EXECUTABLE: /usr/bin/python
                      -- Using default Python package layout
                      -- Found PY_em: /usr/lib/python2.7/site-packages/em.pyc  
                      -- Using empy: /usr/lib/python2.7/site-packages/em.pyc
                      -- Using CATKIN_ENABLE_TESTING: ON
                      -- Call enable_testing()
                      -- Using CATKIN_TEST_RESULTS_DIR: /home/root/voxl-mpa-to-ros/catkin_ws/build/test_results
                      -- Found gtest: gtests will be built
                      -- Using Python nosetests: /usr/bin/nosetests-2.7
                      -- catkin 0.6.19
                      
                      { A bunch of cmake warnings here that I hid for readability }
                      
                      -- voxl_mpa_to_ros: 1 messages, 0 services
                      -- Configuring done
                      -- Generating done
                      -- Build files have been written to: /home/root/voxl-mpa-to-ros/catkin_ws/build
                      ####
                      #### Running command: "make install -j16 -l16" in "/home/root/voxl-mpa-to-ros/catkin_ws/build"
                      ####
                      Scanning dependencies of target _voxl_mpa_to_ros_generate_messages_check_deps_AiDetection
                      Scanning dependencies of target voxl_mpa_to_ros_node
                      [  6%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/interfaces/imu_interface.cpp.o
                      [ 13%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/interfaces/camera_interface.cpp.o
                      [ 26%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/interfaces/stereo_interface.cpp.o
                      [ 26%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/interfaces/ai_detection_interface.cpp.o
                      [ 33%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/interfaces/vio_interface.cpp.o
                      [ 40%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/interfaces/point_cloud_interface.cpp.o
                      [ 46%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/mpa_ros_node.cpp.o
                      [ 53%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/interface_manager.cpp.o
                      [ 60%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/utils/camera_helpers.cpp.o
                      [ 66%] Building CXX object CMakeFiles/voxl_mpa_to_ros_node.dir/src/utils/common_utils.cpp.o
                      [ 66%] Built target _voxl_mpa_to_ros_generate_messages_check_deps_AiDetection
                      Scanning dependencies of target voxl_mpa_to_ros_generate_messages_cpp
                      Scanning dependencies of target voxl_mpa_to_ros_generate_messages_lisp
                      Scanning dependencies of target voxl_mpa_to_ros_generate_messages_py
                      [ 73%] Generating C++ code from voxl_mpa_to_ros/AiDetection.msg
                      [ 80%] Generating Python from MSG voxl_mpa_to_ros/AiDetection
                      [ 86%] Generating Lisp code from voxl_mpa_to_ros/AiDetection.msg
                      [ 93%] Generating Python msg __init__.py for voxl_mpa_to_ros
                      [ 93%] Built target voxl_mpa_to_ros_generate_messages_lisp
                      [ 93%] Built target voxl_mpa_to_ros_generate_messages_py
                      [ 93%] Built target voxl_mpa_to_ros_generate_messages_cpp
                      Scanning dependencies of target voxl_mpa_to_ros_generate_messages
                      [ 93%] Built target voxl_mpa_to_ros_generate_messages
                      [100%] Linking CXX executable /home/root/voxl-mpa-to-ros/catkin_ws/devel/lib/voxl_mpa_to_ros/voxl_mpa_to_ros_node
                      /usr/lib/gcc/arm-oemllib32-linux-gnueabi/4.9.3/../../../../arm-oemllib32-linux-gnueabi/bin/ld: warning: skipping incompatible /usr/lib64/libmodal_pipe.so while searching for modal_pipe
                      /usr/lib/gcc/arm-oemllib32-linux-gnueabi/4.9.3/../../../../arm-oemllib32-linux-gnueabi/bin/ld: warning: skipping incompatible /usr/lib64/libmodal_json.so while searching for modal_json
                      [100%] Built target voxl_mpa_to_ros_node
                      Install the project...
                      -- Install configuration: "Release"
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/_setup_util.py
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/env.sh
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/setup.bash
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/setup.sh
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/setup.zsh
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/.rosinstall
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/msg/AiDetection.msg
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/cmake/voxl_mpa_to_ros-msg-paths.cmake
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/include/voxl_mpa_to_ros
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/include/voxl_mpa_to_ros/AiDetection.h
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/common-lisp/ros/voxl_mpa_to_ros
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/common-lisp/ros/voxl_mpa_to_ros/msg
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/common-lisp/ros/voxl_mpa_to_ros/msg/voxl_mpa_to_ros-msg.asd
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/common-lisp/ros/voxl_mpa_to_ros/msg/_package_AiDetection.lisp
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/common-lisp/ros/voxl_mpa_to_ros/msg/_package.lisp
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/common-lisp/ros/voxl_mpa_to_ros/msg/AiDetection.lisp
                      Listing /home/root/voxl-mpa-to-ros/catkin_ws/devel/lib/python2.7/site-packages/voxl_mpa_to_ros ...
                      Compiling /home/root/voxl-mpa-to-ros/catkin_ws/devel/lib/python2.7/site-packages/voxl_mpa_to_ros/__init__.py ...
                      Listing /home/root/voxl-mpa-to-ros/catkin_ws/devel/lib/python2.7/site-packages/voxl_mpa_to_ros/msg ...
                      Compiling /home/root/voxl-mpa-to-ros/catkin_ws/devel/lib/python2.7/site-packages/voxl_mpa_to_ros/msg/_AiDetection.py ...
                      Compiling /home/root/voxl-mpa-to-ros/catkin_ws/devel/lib/python2.7/site-packages/voxl_mpa_to_ros/msg/__init__.py ...
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros/__init__.py
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros/__init__.pyc
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros/msg
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros/msg/_AiDetection.pyc
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros/msg/__init__.py
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros/msg/_AiDetection.py
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/python2.7/site-packages/voxl_mpa_to_ros/msg/__init__.pyc
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/pkgconfig/voxl_mpa_to_ros.pc
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/cmake/voxl_mpa_to_ros-msg-extras.cmake
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/cmake/voxl_mpa_to_rosConfig.cmake
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/cmake/voxl_mpa_to_rosConfig-version.cmake
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/package.xml
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/launch
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/share/voxl_mpa_to_ros/launch/voxl_mpa_to_ros.launch
                      -- Installing: /home/root/voxl-mpa-to-ros/catkin_ws/install/lib/voxl_mpa_to_ros/voxl_mpa_to_ros_node
                      -- Removed runtime path from "/home/root/voxl-mpa-to-ros/catkin_ws/install/lib/voxl_mpa_to_ros/voxl_mpa_to_ros_node"
                      voxl-emulator:~/voxl-mpa-to-ros$ ./make_package.sh ipk
                      Package Name:  voxl-mpa-to-ros
                      version Number:  0.3.3
                      starting building IPK package
                      ar: creating voxl-mpa-to-ros_0.3.3.ipk
                      DONE
                      voxl-emulator:~/voxl-mpa-to-ros$ 
                      
                      Ed SutterE 1 Reply Last reply Reply Quote 1
                      • Ed SutterE
                        Ed Sutter @Guest
                        last edited by

                        @Alex-Gardner Ok, thanks much for running that. Since it built clean for you, that made it clear that there was something bad about my environment (the whole reason I'm down this rabbit hole!).
                        Anyway, my typical configuration is to ssh into my Linux machine from a W10 box using Cygwin/SSH. Apparently something in the build.sh script doesn't like that; hence my failures. When I build directly through the console of that Linux machine the build completes successfully.
                        Sorry for the confusion, and thanks to all for the responses.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Powered by NodeBB | Contributors