-
Notifications
You must be signed in to change notification settings - Fork 0
2.1. SSL vision (and cameras)
Things related to ssl-vision running in the lab.
Model: AXIS M3005 Network Camera
Manual: https://www.axis.com/dam/public/77/32/08/axis-m3005-v-network-camera--user-manual-en-US-98711.pdf (also in datasheets in ./seegoals/firmware/datasheets/)
The cameras has 10/11/12 written on them which identifies them as specified below.
You need to plugin the camera to a POE switch and hold down the reset button at the same time until it start flashing orange. Then it'll try to fetch an IP from a DHCP server, if it fails it'll set a default IP (192.168.0.90).
OBS: If you do reset them, you'll have to update their firmware to Version 5.51.7.6 from here, otherwise LiU IT will scream at us.
The cameras are only accessible from fetdatorn. There are four cameras but only two are configured.
To access stream on Linux: mpv rtsp://root:<password>@192.168.1.10/axis-media/media.amp, you can choose a streaming profile as follows mpv rtsp://root:raswa151@192.168.1.10/axis-media/media.amp?streamprofile=balanced. It's also possible to access the cameras by typing the IP address into a browser (make sure https isn't used). NOTE, try to access the cameras by using a browser using the information below before continuing.
- Username/password: root/raswa151
- Network: The switch at fetdatorn
- IP: 192.168.1.10/24
- Username/password: root/raswa151
- Network: The switch at fetdatorn
- IP: 192.168.1.11/24
- Username/password: root/raswa151
- Network: The switch at fetdatorn
- IP: 192.168.1.12/24
If you can't connect to the cameras, do the following:
- Run the command
ip addr - Check if
enp4s0has the IP192.168.1.1/24. - If not, run the command
sudo ip addr add 192.168.1.1/24 dev enp4s0
Download the repo ssl-vision from the SeeGoals git and switch to the branch called image-file-reading.
Before you can run SSL-Vision, it needs to be compiled. Before compiling, one modification needs to be made in InstallPackagesUbuntu.sh: change "22.04" to "21". Finally run the following commands:
make configure_vapixmake
You can now run the program by typing screen -c screen.camera in a terminal (not in the built-in VS Code terminal). This will run 2 python scripts and SSL-vision in separate tabs. You can navigate between the tabs by pressing either n for next or p for previous. Exit by pressing x.
After opening SSL-Vision, find the tree on the left side of the window. Choose a thread to put the stream on (ex Thread 0) and openImage Capture -> VAPIX -> Capture Settings and fill in the fields:
- Ip: See above
- Port: 554
- Username: See above
- Password: See above
The rest can be left as it is.
To start the stream, open Image Capture -> Capture Control and choose the control module VAPIX, finally press start capture.
Just follow https://github.com/RoboCup-SSL/ssl-vision/wiki/camera-calibration and the image below.
To calibrate the field lines, go into the Camera Calibration tab in SSL-vision. The Line Search Corridor Width specifies the area in which SSL-vision will look for lines.
- Place the blue points to the correct corners by dragging them. IMPORTANT the coordinates of the points must be correct.
- Change the
Camera HeightandDistortionparameters by dragging their sliders. - Adjust the
Line search Corridor Widthparameter so that all lines are within the boundaries displayed in SSL-vision as blue.
If you can't see these lines, go to the tab
Thread x/Visualization(x is the id of the thread you are using) and make sure thedetected edgesoption is set to True.
- Press the
Detect additional calibration pointsbutton followed by theDo full calibrationbutton. - If the camera position, represented in SSL-vision by a red cross, is not located at the correct location, start over from step 1.
TODO: Make a nicer sketch