-
Notifications
You must be signed in to change notification settings - Fork 111
requirements
SSL-Vision is a Linux application. We do not plan to support any other operating system in the future. The reference distribution is Ubuntu in the latest LTS version. The application will probably run on any other up to date Linux distribution without problems. For the reference distribution, we made sure that all software dependencies are part of the distribution and have a compatible version, thus no downloads from additional sources will be needed.
The following tools and libraries are required to get and compile SSL-Vision:
- git
- g++
- QT >= 4.3 with opengl and networking support
- cmake
- Eigen3
- Google protocol buffers (protoc)
- OpenGL
- GLU
- libdc1394 Version >= 2.0
- libjpeg
- libpng
- (optional) OpenCV
To get all these packages in Ubuntu, run the InstallPackagesUbuntu.sh
install script.
To get all these packages in Arch, run the InstallPackagesArch.sh
install script.
SSL-Vision has been developed and tested on x86-compatible computers. Any more or less up to date machine should run the application smoothly. Since the application is multi-threaded, having multiple CPU cores is an advantage.
The system currently supports 1394B / FireWire 800 as well as 1394A / FireWire 400, Video4Linux, Matrix-Vision BlueFox2 (USB) and Gigabit Ethernet cameras (using flycap).
In theory, all FireWire cameras should work with SSL-Vision. Here is a list of all cameras we actually use for testing and thus know how they perform:
Camera | Resolution | Frame rate | Image encoding |
---|---|---|---|
AVT Stingray F046C * | 780x580 | 60Hz | YUV422 |
AVT Marlin F046C | 780x580 | 36Hz | YUV422 |
AVT Guppy F036C | 780x480 | 59Hz | Raw8 |
* recommended model
Camera: mvBlueFOX-MLC200wC (with S-Mount, M12 thread with 0.5mm pitch)
https://www.matrix-vision.com/USB2.0-single-board-camera-mvbluefox-mlc.html
Matching S-Mount Lenses:
FoV 62°: https://www.lensation.de/product/BT6020V2/
FoV 100°: https://www.lensation.de/product/BT3620C/
FoV 140°: https://www.lensation.de/product/BT2520C/
A lock ring is required to fix the lenses to a certain position.
Lock Ring: https://www.lensation.de/product/lrm12v2/
With an example setup of one camera at 2.5m height an area of 3.4x2.2m can be covered with a 100° FoV lens. The distortion of the 140° lens is quite large and should be avoided if possible.
Illumination of 1000lux is perfect. It allows shutter times of 5ms. On the above mentioned area this can be achieved with four flourescent tubes (T8, 1200mm, 36W). Cold white color tubes are recommended. Less illumination can be tolerated when shutter times are increased.
We recommend using a PCIx dual-OHCI FireWire 800 card like the following: http://www.alliedvisiontec.com/us/products/accessories/firewire-accessories/view/pci-express-dual-ohci-4-ports-1394b.html
Alternatively a version with housing can be used. Note that the default mount for this camera is a C-Mount (lenses listed above are S-Mount). Please request S-Mount version from Matrix-Vision to use recommended lenses.
https://www.matrix-vision.com/USB2.0-industrial-camera-mvbluefox.html
In theory, all GigE cameras should work with SSL-Vision. Here is a list of all cameras we actually use for testing and thus know how they perform:
Camera | Resolution | Frame rate | Image encoding |
---|---|---|---|
Point Grey (FLIR) Grasshopper 3 (GSC-PGE-23S6C) | 960x600 | 60Hz | YUV422 |
You can check out the most recent version from the repository using git:
git clone https://github.com/RoboCup-SSL/ssl-vision.git
After having checked out the code, the code can be built by executing:
make
Depending on the configuration of your OS, you might need to ensure that you have full access to the FireWire devices /dev/fw*
. This might require logging in as root.
To run the application as non-root user in Ubuntu-based distributions, you should add your non-root user to the "disk" and "video" groups, and then logout/login to reflect these changes.
After a successful compilation process, the ./bin
directory will contain three binaries:
- vision - The SSL-Vision application
- client - A simple sample client
- graphicalClient - A graphical sample client
You have to run those executables from the project root folder, e.g. bin/vision