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

    Building ROS node with OpenCV

    Ask your questions right here!
    6
    31
    3166
    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.
    • modaltbM
      modaltb ModalAI Team
      last edited by

      @sarahl , here's an example of how we map and HDMI adapter into docker, not exactly the same but shows the usage:

      https://docs.modalai.com/hdmi-input-accessory-manual/#start-the-ffmpeg-docker

      S 2 Replies Last reply Reply Quote 0
      • S
        sarahl @modaltb
        last edited by

        @modaltb thanks, I actually tried something similar by mapping /dev to /dev, and also passing it in with the --device parameter, but I'll try this out! is there a reason it's mapped as /dev to /opt in here? Should the /dev directory not be used in the docker contained? I did notice when I plugged and unplugged the device and ran ls /dev, that the device list did not update.

        1 Reply Last reply Reply Quote 0
        • S
          sarahl @modaltb
          last edited by

          @modaltb actually I think it's working now, and I somehow didn't actually have to map the /dev port. Turns out I just had a typo in my launch file. 🤦 Thanks again for all the help!

          1 Reply Last reply Reply Quote 0
          • S
            sarahl
            last edited by

            @modaltb I wanted to send an update, I was able to build and run an Ubuntu 18.04 + ROS Melodic docker + OpenCV 4.2.0 (because some of my nodes weren't working on the ROS Kinetic docker), but did require using multi-line arguments as @Voxlady suggested to reduce the size enough to fit. It seems like the size constraints are somewhere around 2.7 GB virtual docker size, and stem from too many docker overlays. Is there anyway around that in case there is a need for larger docker images?

            1 Reply Last reply Reply Quote 0
            • modaltbM
              modaltb ModalAI Team
              last edited by

              Hi @sarahl , unfortunately I don't have a quick answer for this 😿

              1 Reply Last reply Reply Quote 0
              • Eric KatzfeyE
                Eric Katzfey ModalAI Team
                last edited by

                @sarahl You could try using an SD card to build. This would give you a lot more space. You would have to change the Docker start service to tell it to use the SD card instead of /data for the build.

                ryan_meagherR 1 Reply Last reply Reply Quote 0
                • ryan_meagherR
                  ryan_meagher @Eric Katzfey
                  last edited by ryan_meagher

                  @Eric-Katzfey Thanks for the suggestion.

                  For anyone else interested in doing this, these are the steps I took to accomplish this.

                  • In order to change where the root of the docker runtime points to in the docker service go to
                    /etc/systemd/system/docker-start.service and change the following line so that it uses the sd card(ext4 format) in the voxl ExecStart=/usr/bin/docker daemon -g /mnt/sdcard

                  • restart the service for the changes to take effect: systemctl restart docker-start.service

                  • Delete the directories that docker uses in the data partition:cd /data; rm -rf containers linkgraph.db overlay tmp volumes graph network repositories-overlay trust

                  • [NOTE] The previous commands will delete any images that were previously available.

                  • You can now run voxl-configure-docker-support.sh and a hello world image will be created
                    and the directories that were deleted from the /data partition will be in the /mnt/sdcard
                    directory.

                  • You can verify that you have freed up the /data partition via df -h

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

                    Thank you for following up! Added to the docs here: https://docs.modalai.com/docker-on-voxl/

                    ryan_meagherR 2 Replies Last reply Reply Quote 0
                    • ryan_meagherR
                      ryan_meagher @Chad Sweet
                      last edited by

                      @Chad-Sweet cool, happy to contribute!

                      1 Reply Last reply Reply Quote 0
                      • ryan_meagherR
                        ryan_meagher @Chad Sweet
                        last edited by ryan_meagher

                        @Chad-Sweet Hey, I updated my voxl to the newest system image and after doing so my docker is using docker-start.service while before it was using docker-daemon.service.

                        Not sure why this has changed, but I have updated the above instructions and wanted to let you know so you could change this in the documentation.

                        Is there a reason why this would have changed after flashing a new system image onto the device? Both times I configured my docker by using voxl-configure-docker-support.sh

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