open_vins | open source platform for visual-inertial navigation research | Robotics library

 by   rpng C++ Version: v2.6.3 License: GPL-3.0

kandi X-RAY | open_vins Summary

kandi X-RAY | open_vins Summary

open_vins is a C++ library typically used in Automation, Robotics applications. open_vins has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub.

An open source platform for visual-inertial navigation research.

            kandi-support Support

              open_vins has a medium active ecosystem.
              It has 1613 star(s) with 518 fork(s). There are 73 watchers for this library.
              It had no major release in the last 12 months.
              There are 8 open issues and 283 have been closed. On average issues are closed in 51 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of open_vins is v2.6.3

            kandi-Quality Quality

              open_vins has no bugs reported.

            kandi-Security Security

              open_vins has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              open_vins is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              open_vins releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of open_vins
            Get all kandi verified functions for this library.

            open_vins Key Features

            No Key Features are available at this moment for open_vins.

            open_vins Examples and Code Snippets

            No Code Snippets are available at this moment for open_vins.

            Community Discussions


            Install OV7251 driver in RPI-3B+ to use with ROS
            Asked 2020-Aug-12 at 15:47

            I wanted to install the OV7251 camera driver to work with a module I've recently purchased, the Arducam OV7251 MIPI, as I need to perform SLAM-like system called Virtual Inertial Navigation (VIN) and global shutter cameras are preferred for this. As far as my system goes, I'm using ROS Kinetic on an RPI-3B+ running Ubuntu 16.04 . I am using this camera as it is near my price point (<20$), and goes through the RPI's CSI Port, which sources say is easier and faster than ones going through USB.

            I wanted to take this camera and publish its data to a topic, that way the repository I'm using for VIN, OpenVINS, can track the camera's position. Now, the camera that I'm using doesn't have much on it other than the manufacturer's github page, which does not work on Ubuntu, and cannot connect to ROS. Now, I'm decently inexperienced with RPI's, ROS included, since I wanted to originally perform this on an Arduino, but that was majorly impossible, so I doubt I would be able to write a simple ROS node, let alone one that connected with the CSI port.

            Currently, I am unable to find many libraries for this, and help given to me has proved to be un-substantial. The camera does not natively have drivers supported on RPI, which is why I cannot find any /dev/video libraries, cheese turns up nothing, and the command $ Vcgencmd get_camera returns no detected devices. Someone suggested kernel hacking, in order to enable the module in menuconfig using libraries like the ones here. While I do not know much about kernel hacking, he reccomended that I follow this guide and after I run the defconfig line, I should search for "OV7251" in menuconfig and modularize the only one which popped up. And despite flashing and repeating this process multiple times to ensure I did not choose the wrong branch, the rpi-5.4.y branch, or wrong model, the RPI-3B+, I ended up being stuck on the rainbow screen after I rebooted every time. I know that the rainbow screen either means low power, which it wasn't because I had it run before, or a kernel error, which would most likely make sense.

            Now, while I would most definitely like to fix the rainbow screen error, I would also like to know, how after installing the OV7251 driver, how do I get it working with ROS to send data to topics? Since I doubt I could write my own node, is there a library that I could look for to perform this, or would libraries that did not work previously due to a missing driver suddenly work now, or would I have to take an existing one and modify it? In any case, A more low-level tutorial to accomplish this would be quite handy seeing as I am new.

            But, in the case this is not software, and the reason this camera is not supported is for good reason, is there any other cheap global shutter camera I can work with? I couldn't seem to find many over my various searches, but maybe you all have better luck/experience in this field. Although, I did manage to find another library by this same manufacturer which happens to support my camera model and even has a ROS node that works on ubuntu. However, I believe that if this can be done, then so can doing so by just the CSI port rather than buying an additional 40$ USB camera hat for the pi, and along with that, I am starting to doubt the validity of this companies repositories.

            Yet the fact I am finding little information on the topic of this camera alone on the CSI port of an RPI and how renowned this company it scares me that it could be impossible, which if it is, do link me some other good and hopefully well-documented cameras, which could very well be a lot to ask for. And if it is just simply impossible to get the results I want with the parameters I have set, then how badly would a rolling shutter camera affect VIN'S performance, and furthermore is there any special dataset designed for rolling shutter which could minimize the drop in quality? This terrain is all too new to me.



            Answered 2020-Aug-12 at 15:47

            Ok, so I got a rpi engineer to add a dtoverlay for the ov7251 in the rpi's firmware, and the most recent rpi-update has the overlay in the kernel.

            I did sudo rpi-update to install the update, i then added dtoverlay=ov7251 to /boot/config.txt in order to enable the overlay, and i edited it by running sudo nano /boot/config.txt. And the repository only has one dependency, v4l-utils, which is installed easily enough by running sudo apt-get install v4l-utils. Finally i ran sudo reboot to initialize the changes.

            And in order to pull the images into ROS, i edited a v4l2 node called usb_cam in order to accept the pixel format that the ov7251 camera uses (Y10). My fork can be found here. In order to install it, (since the docs for the original repo say very little on installation), i ran:



            How to use OpenVINS Library To Get Position
            Asked 2020-Jun-30 at 07:00

            So, I finally got ROS, OpenCV, and OpenVINS installed on my rpi3 running ubuntu 16.04. I want to be able to send the video from a standard rpi monochrome camera setup and mpu-9250 through a VIN application and send the estimated position of the camera over wifi to the game service unity. Ive been looking into their 'getting started' page, and the tutorial seems very high level. Forgive me, for I do not work much with rpi's and more so arduinos, so most of this is new to me. Im trying to understand how I can do this, so far I know i need to send data to some subscribed topics the program is looking under, yet I do not know what data I need to send for each topic, what program I would use to send it, how, and what format it needs to be in. I also dont know if that is the only thing I need to do. And after all this, I still do not understand fully on how to launch the program(s) after everything is fully said and done.

            I have read the documentation they have posted over and over and I know they mention the subjects I am mentioning but the sections they talk about that pertain to them in question I cannot fully conceptualize. If someone who has knowledge in the field of using github repositories or uses VINS specifically and would like to make a more low-level tutorial for someone like me that would be much appreciated, if not, do link me to one where I could find descriptors more comprehensive than those provided by this github. The documentation all the while seems great for this repository, and it is a shame I cannot fully utilise it. As always, all input is appreciated, thanks. =)



            Answered 2020-Jun-30 at 07:00

            You may refer to one of the launch in this folder. For example, line 24-26 in this file


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install open_vins

            You can download it from GitHub.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Robotics Libraries


            by commaai


            by ApolloAuto


            by AtsushiSakai


            by carla-simulator


            by ArduPilot

            Try Top Libraries by rpng


            by rpngC++


            by rpngC++


            by rpngC++


            by rpngPython


            by rpngPython