What are my options for ROS support on VOXL?



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


  • Dev Team

    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



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



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


  • Dev Team

    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.



  • 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".


  • Dev Team


Log in to reply