본문 바로가기
  • 경제적 자유를 얻는 그날까지
엔지니어링/드론

[ VOXL ] 펌웨어 업데이트(ver 0.4.6) 및 세팅

by 베니스상인 2021. 7. 1.

 

modalai 사이트에 들어가서 voxl_platform_3-3-0-0.4.6-b 버전을 다운로드 받아 설치

 

설치과정에서 이전 설정데이터를 보존하고 설치할 것인지 아니면 모두 포멧하고 설치할 것인지 묻는데 이번에는 모두 포멧하고 신규로 설치하였음

swift@swift-HP-Pavilion-dv6-Notebook-PC:~/workspace$ cd voxl_platform_3-3-0-0.4.6-b/
swift@swift-HP-Pavilion-dv6-Notebook-PC:~/workspace/voxl_platform_3-3-0-0.4.6-b$ ll
total 24
drwxrwxr-x  4 swift swift 4096  6월 25 03:08 ./
drwxrwxrwx 14 root  root  4096  6월 30 00:24 ../
-rwxrwxr-x  1 swift swift 5686  6월 25 03:08 install.sh*
drwxrwxr-x  2 swift swift 4096  6월 25 03:08 system-image/
drwxrwxr-x  2 swift swift 4096  6월 25 03:06 voxl-suite_0.4.6/
swift@swift-HP-Pavilion-dv6-Notebook-PC:~/workspace/voxl_platform_3-3-0-0.4.6-b$ sudo ./install.sh 
[INFO] adb installed
[INFO] fastboot installed

This process will completely wipe your VOXL's file system but will
preserve the /data/ partition which contains things like calibration,
wifi config, and docker images.
you can optionally wipe the /data/ parition, although we encourage
you not to unless you have a good reason.

1) preserve(recommended)
2) wipe
#? 2
[INFO] Rebooting into fastboot...
[INFO] Waiting for fastboot...
target reported max download size of 536870912 bytes
sending 'aboot' (494 KB)...
OKAY [  0.057s]
writing 'aboot'...
OKAY [  0.030s]
finished. total time: 0.087s
target reported max download size of 536870912 bytes
sending 'boot' (56070 KB)...
OKAY [  0.339s]
writing 'boot'...
OKAY [  0.562s]
finished. total time: 0.901s
target reported max download size of 536870912 bytes
erasing 'system'...
OKAY [  0.013s]
sending sparse 'system' 1/4 (522964 KB)...
OKAY [  3.584s]
writing 'system' 1/4...
OKAY [  9.778s]
sending sparse 'system' 2/4 (521547 KB)...
OKAY [  3.647s]
writing 'system' 2/4...
OKAY [ 10.114s]
sending sparse 'system' 3/4 (524111 KB)...
OKAY [  3.781s]
writing 'system' 3/4...
OKAY [ 10.651s]
sending sparse 'system' 4/4 (76257 KB)...
OKAY [  0.888s]
writing 'system' 4/4...
OKAY [  2.900s]
finished. total time: 45.356s
target reported max download size of 536870912 bytes
erasing 'userdata'...
OKAY [  0.020s]
sending 'userdata' (142611 KB)...
OKAY [  0.822s]
writing 'userdata'...
OKAY [  1.506s]
finished. total time: 2.348s
target reported max download size of 536870912 bytes
sending 'persist' (4292 KB)...
OKAY [  0.077s]
writing 'persist'...
OKAY [  0.077s]
finished. total time: 0.154s
target reported max download size of 536870912 bytes
erasing 'cache'...
OKAY [  0.019s]
sending 'cache' (5152 KB)...
OKAY [  0.078s]
writing 'cache'...
OKAY [  0.084s]
finished. total time: 0.182s
target reported max download size of 536870912 bytes
sending 'recoveryfs' (126585 KB)...
OKAY [  0.711s]
writing 'recoveryfs'...
OKAY [  3.870s]
finished. total time: 4.581s
[INFO] Done flashing all images. Rebooting device in 2 seconds
rebooting...

finished. total time: 0.824s
[INFO] Waiting for device...
ModalAI 3.3.0

BUILDER: ekatzfey

BUILD_TIME: 2021-06-06_19:28

[INFO] Finished!

The next step is to follow the VOXL Quickstart guides
to connect to a network and install supporting software.
https://docs.modalai.com/voxl-quickstarts/

[INFO] Finished installing the base System Image

=================================================================
We highly recommend installing the voxl-suite software package
which provides ModalAI Algorithms and supporting software.
This platform installer includes voxl-suite for offline install.

Note, if your VOXL is currently connected to the internet this
installer will pull the latest voxl-suite, otherwise it will
install only the packages bundled with this offline installer.

If your VOXL is online right now and you wish to only install the
the bundled packages without upgrading, you can adb into voxl in
another terminal, unconfigure wifi, and reboot before continuing
with the installer in this terminal.

Do you want to install voxl-suite now? (y/n)
=================================================================
y
[INFO] adb installed
[INFO] Waiting for device
[INFO] updating /etc/opkg/opkg.conf on target
[INFO] Pushing package manifest to target
Packages.gz: 1 file pushed. 0.5 MB/s (3260 bytes in 0.006s)
Packages.stamps: 1 file pushed. 0.7 MB/s (3378 bytes in 0.005s)
docker_1.9.0+git76d6bc9a9f1690e16f3721...d. 3.2 MB/s (10813204 bytes in 3.251s)
libmodal_exposure_0.0.2.ipk: 1 file pushed. 0.9 MB/s (37022 bytes in 0.040s)
libmodal_json_0.3.5.ipk: 1 file pushed. 2.7 MB/s (57710 bytes in 0.021s)
libmodal_pipe_2.0.7.ipk: 1 file pushed. 3.0 MB/s (105778 bytes in 0.034s)
librc_math_1.1.5.ipk: 1 file pushed. 2.6 MB/s (133742 bytes in 0.048s)
libvoxl_cutils_0.0.2.ipk: 1 file pushed. 1.8 MB/s (7268 bytes in 0.004s)
libvoxl_io_0.5.4.ipk: 1 file pushed. 4.1 MB/s (109262 bytes in 0.025s)
mavlink-camera-manager_0.0.2.ipk: 1 fi...shed. 5.1 MB/s (29270 bytes in 0.006s)
opencv_4.5.2-1.ipk: 1 file pushed. 3.5 MB/s (33672102 bytes in 9.062s)
openmp_10.0.2.ipk: 1 file pushed. 2.5 MB/s (402474 bytes in 0.157s)
voxl-camera-server_0.7.1.ipk: 1 file p...hed. 2.9 MB/s (595698 bytes in 0.196s)
voxl-cpu-monitor_0.1.7.ipk: 1 file pushed. 2.1 MB/s (33894 bytes in 0.016s)
voxl-dfs-server_0.2.0.ipk: 1 file pushed. 5.3 MB/s (69644 bytes in 0.012s)
voxl-docker-support_1.1.3.ipk: 1 file pushed. 3.3 MB/s (6536 bytes in 0.002s)
voxl-gphoto2_0.0.5.ipk: 1 file pushed. 4.0 MB/s (33240 bytes in 0.008s)
voxl-imu-server_0.8.1.ipk: 1 file pushed. 3.8 MB/s (61954 bytes in 0.016s)
voxl-mavlink_0.0.2.ipk: 1 file pushed. 3.8 MB/s (905272 bytes in 0.225s)
voxl-modem_0.12.0.ipk: 1 file pushed. 3.3 MB/s (1402560 bytes in 0.406s)
voxl-mpa-tools_0.2.6.ipk: 1 file pushed. 1.5 MB/s (95496 bytes in 0.060s)
voxl-nodes_0.1.6.ipk: 1 file pushed. 3.7 MB/s (923724 bytes in 0.235s)
voxl-qvio-server_0.3.1.ipk: 1 file pushed. 2.4 MB/s (167410 bytes in 0.068s)
voxl-streamer_0.2.3.ipk: 1 file pushed. 2.6 MB/s (46224 bytes in 0.017s)
voxl-suite_0.4.6.ipk: 1 file pushed. 0.3 MB/s (1902 bytes in 0.006s)
voxl-tag-detector_0.0.2.ipk: 1 file pu...ed. 4.9 MB/s (1310128 bytes in 0.253s)
voxl-tflite_0.0.1.ipk: 1 file pushed. 3.5 MB/s (14250478 bytes in 3.884s)
voxl-tflite-server_0.1.0.ipk: 1 file p...d. 3.5 MB/s (19035172 bytes in 5.168s)
voxl-utils_0.7.1.ipk: 1 file pushed. 1.6 MB/s (98584 bytes in 0.060s)
voxl-vision-px4_0.9.2.ipk: 1 file pushed. 2.5 MB/s (68870 bytes in 0.026s)
voxl-vpn_0.0.3.ipk: 1 file pushed. 2.1 MB/s (14528 bytes in 0.007s)
[INFO] Installing voxl-suite on target
Downloading http://voxl-packages.modalai.com/stable/Packages.gz.
wget: bad address 'voxl-packages.modalai.com'
Downloading file:///home/root/voxl-suite-ipk/Packages.gz.
Updated source 'local'.
Collected errors:
 * opkg_download_backend: Failed to download http://voxl-packages.modalai.com/stable/Packages.gz, wget returned 1.
Installing voxl-suite (0.4.6) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-suite_0.4.6.ipk.
Installing libmodal_exposure (0.0.2) on root.
Downloading file:///home/root/voxl-suite-ipk/libmodal_exposure_0.0.2.ipk.
Installing opencv (4.5.2-1) on root.
Downloading file:///home/root/voxl-suite-ipk/opencv_4.5.2-1.ipk.
Installing openmp (10.0.2) on root.
Downloading file:///home/root/voxl-suite-ipk/openmp_10.0.2.ipk.
Installing libmodal_json (0.3.5) on root.
Downloading file:///home/root/voxl-suite-ipk/libmodal_json_0.3.5.ipk.
Installing librc_math (1.1.5) on root.
Downloading file:///home/root/voxl-suite-ipk/librc_math_1.1.5.ipk.
Installing libvoxl_cutils (0.0.2) on root.
Downloading file:///home/root/voxl-suite-ipk/libvoxl_cutils_0.0.2.ipk.
Installing libvoxl_io (0.5.4) on root.
Downloading file:///home/root/voxl-suite-ipk/libvoxl_io_0.5.4.ipk.
Installing voxl-mavlink (0.0.2) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-mavlink_0.0.2.ipk.
Installing libmodal_pipe (2.0.7) on root.
Downloading file:///home/root/voxl-suite-ipk/libmodal_pipe_2.0.7.ipk.
Installing voxl-camera-server (0.7.1) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-camera-server_0.7.1.ipk.
Installing voxl-cpu-monitor (0.1.7) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-cpu-monitor_0.1.7.ipk.
Installing voxl-dfs-server (0.2.0) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-dfs-server_0.2.0.ipk.
Installing voxl-imu-server (0.8.1) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-imu-server_0.8.1.ipk.
Installing voxl-mpa-tools (0.2.6) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-mpa-tools_0.2.6.ipk.
Installing voxl-qvio-server (0.3.1) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-qvio-server_0.3.1.ipk.
Installing voxl-tag-detector (0.0.2) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-tag-detector_0.0.2.ipk.
Installing voxl-tflite-server (0.1.0) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-tflite-server_0.1.0.ipk.
Installing voxl-tflite (0.0.1) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-tflite_0.0.1.ipk.
Installing voxl-vision-px4 (0.9.2) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-vision-px4_0.9.2.ipk.
Installing voxl-nodes (0.1.6) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-nodes_0.1.6.ipk.
Installing mavlink-camera-manager (0.0.2) on root.
Downloading file:///home/root/voxl-suite-ipk/mavlink-camera-manager_0.0.2.ipk.
Upgrading voxl-docker-support from 1.1.1 to 1.1.3 on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-docker-support_1.1.3.ipk.
Removing obsolete file /etc/systemd/system/docker-start.service.
Removing obsolete file /etc/systemd/system/docker-prepare.service.
Installing voxl-gphoto2 (0.0.5) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-gphoto2_0.0.5.ipk.
Installing voxl-modem (0.12.0) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-modem_0.12.0.ipk.
Installing voxl-streamer (0.2.3) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-streamer_0.2.3.ipk.
Upgrading voxl-utils from 0.5.1 to 0.7.1 on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-utils_0.7.1.ipk.
Installing voxl-vpn (0.0.3) on root.
Downloading file:///home/root/voxl-suite-ipk/voxl-vpn_0.0.3.ipk.
voxl-suite installer detected system image 3.3.0
Configuring libmodal_json.

Done installing libmodal_json

Configuring libmodal_pipe.

Done installing libmodal_pipe

Configuring openmp.

done installing openmp

Configuring opencv.

done installing opencv

Configuring voxl-dfs-server.

Done installing voxl-dfs-server

Configuring voxl-tflite.
Configuring voxl-tflite-server.

Done installing voxl-tflite-server

Configuring voxl-gphoto2.

Done installing voxl-gphoto2

Configuring voxl-docker-support.
Removed symlink /etc/systemd/system/multi-user.target.wants/docker.service.

done installing voxl-docker-support
configure and set up with voxl-configure-docker-support.sh

Configuring libmodal_exposure.

Done installing libmodal_exposure

Configuring mavlink-camera-manager.

Done installing mavlink-camera-manager

Configuring librc_math.

done installing librc_math

Configuring voxl-mpa-tools.

Done installing voxl-mpa-tools

Configuring voxl-qvio-server.

Done installing voxl-qvio-server

Configuring voxl-vpn.

done installing voxl-vpn

Configuring libvoxl_cutils.

Done installing libvoxl_cutils

Configuring libvoxl_io.

Done installing libvoxl_io

Configuring voxl-vision-px4.

Done installing voxl-vision-px4

Configuring voxl-streamer.
INFO: making new /etc/modalai/voxl-streamer.conf

Done installing voxl-streamer

Configuring voxl-cpu-monitor.

Enabling voxl-cpu-monitor

Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-cpu-monitor.service to /etc/systemd/system/voxl-cpu-monitor.service.

Done installing voxl-cpu-monitor

Configuring voxl-imu-server.
enabling voxl-imu-server service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-imu-server.service to /etc/systemd/system/voxl-imu-server.service.

Done installing voxl-imu-server

Configuring voxl-mavlink.

Done installing voxl-mavlink

Configuring voxl-camera-server.

Done installing voxl-camera-server

Please run voxl-configure-cameras

Configuring voxl-modem.
Disabling and removing any old modem scripts.


done installing voxl-modem

Configuring voxl-utils.
Hiding systemctl tab competions, replacing with modalai's
manually adding modal_bash_tweaks to .bashrc

done installing voxl-utils

Configuring voxl-tag-detector.

Done installing voxl-tag-detector

Configuring voxl-nodes.

Done installing voxl-nodes

Configuring voxl-suite.

===================================================== 
|            Done installing voxl-suite             |
|                                                   |
|   Please visit our online quickstart guides at    |
|       https://docs.modalai.com/quickstarts/       |
|                                                   |
|      To configure Modal Pipe Architecture (MPA)   |
|       services, please run voxl-configure-mpa     |
|                                                   |
| To see what MPA services are enabled and running, |
|           please run voxl-inspect-services        |
|                                                   |
|   To see a list of MPA utilities available, adb   |
|      or ssh into VOXL and type voxl{TAB}{TAB}     |
===================================================== 

[INFO] Done installing voxl-suite

 

설치된 버전을 voxl에서 확인

swift@swift-HP-Pavilion-dv6-Notebook-PC:~$ adb shell
/ # bash
yocto:/$ 
yocto:/$ 
yocto:/$ voxl-version 
cat: /etc/modalai/voxl-software-bundle-version.txt: No such file or directory
--------------------------------------------------------------------------------
system-image:    ModalAI 3.3.0 BUILDER: ekatzfey BUILD_TIME: 2021-06-06_19:28
kernel:          #1 SMP PREEMPT Sun Jun 6 19:41:01 UTC 2021 3.18.71-perf
factory-bundle:  1.0.1 (Yocto installation)
--------------------------------------------------------------------------------
architecture:    aarch64
processor:       apq8096
os:              GNU/Linux
--------------------------------------------------------------------------------
voxl-suite:
Package: voxl-suite
Version: 0.4.6
Depends: libmodal_exposure (>= 0.0.2), libmodal_json (>= 0.3.5), librc_math (>= 1.1.5), libvoxl_cutils (>= 0.0.2), libvoxl_io (>= 0.5.4), opencv (>= 4.5.2-1), voxl-mavlink (>= 0.0.2), libmodal_pipe (>= 2.0.7), voxl-camera-server (>= 0.7.1), voxl-cpu-monitor (>= 0.1.7), voxl-dfs-server (>= 0.2.0), voxl-imu-server (>= 0.8.1), voxl-mpa-tools (>= 0.2.6), voxl-qvio-server (>= 0.3.1), voxl-tag-detector (>= 0.0.2), voxl-tflite-server (>= 0.1.0), voxl-vision-px4 (>= 0.9.2), openmp (>= 10.0.2), voxl-tflite (>= 0.0.1), voxl-nodes (>= 0.1.6), mavlink-camera-manager (>= 0.0.2), voxl-docker-support (>= 1.1.3), voxl-gphoto2 (>= 0.0.5), voxl-modem (>= 0.12.0), voxl-streamer (>= 0.2.3), voxl-utils (>= 0.7.1), voxl-vpn (>= 0.0.3)
Replaces: voxl-suite-dev
Status: install user installed
Section: base
Architecture: all
Maintainer: james@modalai.com
MD5Sum: a800fd5f7c98cfa4e6ed1638cf25d909
Size: 1902
Filename: voxl-suite_0.4.6.ipk
Description: meta-package for voxl-suite software collection
Installed-Time: 373

--------------------------------------------------------------------------------

 

 

voxl 에 wifi 설정

yocto:/$ voxl-wifi station U+Net659B 6000xxxxxx
backing up wpa_supplicant.conf
creating new wpa_supplicant.conf for station mode

Reboot for changes to take effect
yocto:/$ reboot

.

.

.

yocto:/$ ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:17010 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17010 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1808844 (1.7 MiB)  TX bytes:1808844 (1.7 MiB)

wlan0     Link encap:Ethernet  HWaddr EC:5C:68:CD:25:A1  
          inet addr:192.168.219.186  Bcast:192.168.219.255  Mask:255.255.255.0
          inet6 addr: fe80::ee5c:68ff:fecd:25a1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
          TX packets:691 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3000 
          RX bytes:13205 (12.8 KiB)  TX bytes:330706 (322.9 KiB)

yocto:/$ 

 

 

 

 

 

 

voxl에서 configuration 수행

yocto:/$ voxl-configure-cameras 

Which camera configuration are you using?
For M500 & Flight Deck use: 3
For uSeeker & VOXLCAM  use: 7 rotate_stereo

0  None
1  Tracking + Stereo
2  Tracking Only
3  Hires + Stereo + Tracking
4  Hires + Tracking
5  TOF + Tracking
6  Hires + TOF + Tracking
7  TOF + Stereo + Tracking
8  Hires Only
9  TOF Only
10 Stereo only

3
Do you want to rotate the Stereo Camera images 180 degrees?
This is ONLY for Rev1 uSeeker & VOXLCAM!
1) no
2) yes_rotate
#? 1
attempting to use camera configuration 3
making new backup of /system/etc/camera/camera_config.xml
making symlink for tracking upright 8-bit
making symlink for stereo upright 8-bit
Writing new configuration to /etc/modalai/voxl-camera-server.conf
enabling and starting voxl-camera-server
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-camera-server.service to /etc/systemd/system/voxl-camera-server.service.
Done Configuring Cameras

yocto:/$ voxl-configure-vision-px4 
Starting Wizard
 
Do you want to reset the config file to factory defaults?
1) yes
2) no
#? 1
wiping old config file
Created new json file: /etc/modalai/voxl-vision-px4.conf
 
Do you want to enable the voxl-vision-px4 service to allow
communication with a PX4 flight controller?
1) yes
2) no
#? 1
 
Now we are going to do a preliminary configuration of /etc/modalai/voxl-vision-px4.conf
 
Which IP address is your QGroundControl station at?
If you do not wish to hard-code the QGC IP address into VOXL then you will
need to configure VOXL's IP address in QGC's Comm Links settings page.
Just press enter to leave this option as-is. 
192.168.219.182
setting qgc_ip to 192.168.219.182
 
Do you want to enable voxl-vision-px4 to command PX4
to fly a figure eight path when flipped into offboard mode?
Don't enable this if you intend to do your own offboard
control via MAVROS or similar.
1) yes
2) no
#? 1
enabling  voxl-vision-px4 systemd service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-vision-px4.service to /etc/systemd/system/voxl-vision-px4.service.
starting  voxl-vision-px4 systemd service
Done configuring voxl-vision-px4
yocto:/$ 
yocto:/$ 
yocto:/$ 

yocto:/$ voxl-configure-qvio 
Starting Wizard
 
Do you want to reset the config file to factory defaults?
1) yes
2) no
#? 1
wiping old config file
loading qvio config file
Creating new config file: /etc/modalai/voxl-qvio-server.conf
 
Do you want to enable the voxl-qvio-server service to allow
visual inertial odometry?
1) yes
2) no
#? 1
 
Now we are going to do a preliminary configuration of /etc/modalai/voxl-qvio-server.conf
 
Which IMU should voxl-qvio-server use? We recommend
IMU 1 for VOXL and VOXL-CAM
IMU 0 for VOXL Flight all-in-one board.
1) imu_1_voxl
2) imu_0_voxl_flight
#? 2
enabling  voxl-qvio-server systemd service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-qvio-server.service to /etc/systemd/system/voxl-qvio-server.service.
starting  voxl-qvio-server systemd service
Done configuring voxl-qvio-server
yocto:/$ 
yocto:/$ 

yocto:/$ voxl-configure-tag-detector 
Starting Wizard
 
Do you want to reset the config file to factory defaults?
1) yes
2) no
#? 1
wiping old config file
Creating new config file: /etc/modalai/voxl-tag-detector.conf
Created new empty json file: /etc/modalai/tag_locations.conf
The JSON tag location data was modified during parsing, saving the changes to disk
 
do you want to enable or disable voxl-tag-detector
1) enable
2) disable
#? 1
enabling  voxl-tag-detector systemd service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-tag-detector.service to /etc/systemd/system/voxl-tag-detector.service.
starting  voxl-tag-detector systemd service
Done configuring voxl-tag-detector

yocto:/$ voxl-configure-dfs 
Starting Wizard
 
Do you want to reset the config file to factory defaults?
1) yes
2) no
#? 1
wiping old config file
Creating new config file: /etc/modalai/voxl-dfs-server.conf
 
do you want to enable or disable voxl-dfs-server
1) enable
2) disable
#? 1
enabling  voxl-dfs-server systemd service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-dfs-server.service to /etc/systemd/system/voxl-dfs-server.service.
starting  voxl-dfs-server systemd service
Done configuring voxl-dfs-server

yocto:/$ voxl-configure-extrinsics 
Starting Wizard
which preset extrinsics file would you like to use?
1) leave_alone      3) useeker_voxlcam
2) m500_flight_deck  4) custom
#? 2
wiping old extrinsics config file
copying /usr/share/modalai/extrinsic_configs/m500_flight_deck.conf to /etc/modalai/extrinsics.conf
loading and updating file with voxl-inspect-extrinsics -q
done configuring extrinsics

yocto:/$ voxl-configure-imu 
Starting Wizard
 
Do you want to reset the config file to factory defaults?
1) yes
2) no
#? 1
wiping old config file
Creating new config file: /etc/modalai/voxl-imu-server.conf
 
Do you want to enable the voxl-imu-server
This is required for visual inertial odometry.
1) yes
2) no
#? 1
 
enabling  voxl-imu-server systemd service
starting  voxl-imu-server systemd service
Done configuring voxl-imu-server

yocto:/$ voxl-configure-tflite 
Starting Wizard
 
Do you want to reset the config file to factory defaults?
1) yes
2) no
#? 1
wiping old config file
Creating new config file: /etc/modalai/voxl-tflite-server.conf
The config file was modified during parsing, saving the changes to disk
 
do you want to enable or disable voxl-tflite-server
1) enable
2) disable
#? 2
disabling voxl-tflite-server systemd service
Removed symlink /etc/systemd/system/multi-user.target.wants/voxl-tflite-server.service.
stopping voxl-tflite-server systemd service
Done configuring voxl-tflite-server
yocto:/$ 

yocto:/$ 

 

 

설정파일 확인

yocto:/$ vi /etc/modalai/voxl-vision-px4.conf 

 

 

/**
 * VOXL Vision PX4 Configuration File
 *
 */
{
        "qgc_ip":       "192.168.219.182",
        "en_localhost_mavlink_udp":     true,
        "en_secondary_qgc":     false,
        "secondary_qgc_ip":     "192.168.1.214",
        "qgc_udp_port_number":  14550,
        "localhost_udp_port_number":    14551,
        "udp_mtu":      512,
        "en_vio":       true,
        "en_voa":       false,
        "en_send_vio_to_qgc":   false,
        "en_send_voa_to_qgc":   false,
        "en_set_clock_from_gps":        true,
        "en_force_onboard_mav1_mode":   true,
        "en_reset_px4_on_error":        true,
        "qvio_auto_reset_quality":      0.00050000002374872565,
        "en_adsb":      false,
        "adsb_uart_bus":        7,
        "adsb_uart_baudrate":   57600,
        "px4_uart_bus": 5,
        "px4_uart_baudrate":    921600,
        "offboard_mode":        "figure_eight",
        "follow_tag_id":        0,
        "en_tag_fixed_frame":   false,
        "fixed_frame_filter_len":       5,
        "en_transform_mavlink_pos_setpoints_from_fixed_frame":  false
}

 

 

카메라 캘리브레이션 수행

 

VOXL에서 ros 셋업

- Mater는 VOXL이 되고, ROS도 자기 자신의 IP로 설정한다. roscore를 실행하면 자신이 서버로 실행되는 것을 확인할 수 있다.

#!/bin/bash

################################################################################
# script to set up user-specific ros environment variables. This should be kept
# as /home/root/ros_env.sh on the robot and should be called by .bashrc
# so that it is loaded when bash starts.
#
# author: james@modalai.com
################################################################################


# Set ROS_IP & ROS_MASTER_URI appropriately for your configuration
# 192.168.8.1 is default for the robot in soft access point mode
export ROS_MASTER_URI=http://localhost:11311/
export ROS_IP=192.168.219.186
unset ROS_HOSTNAME

yocto:/$ roscore
... logging to /home/root/.ros/log/99ca858c-d9e0-11eb-bdc5-ec5c68cd25a1/roslaunch-apq8096-3611.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.219.186:55381/
ros_comm version 1.11.21


SUMMARY
========

PARAMETERS
 * /rosdistro: indigo
 * /rosversion: 1.11.21

NODES

auto-starting new master
process[master]: started with pid [3630]
ROS_MASTER_URI=http://192.168.219.186:11311/

setting /run_id to 99ca858c-d9e0-11eb-bdc5-ec5c68cd25a1
process[rosout-1]: started with pid [3643]
started core service [/rosout]

 

 

호스트 PC 에서는 ROS_IP를 현재  호스트 PC의 IP로 설정하고 Master는 서버가 되는 VOXL 로 설정한다.

서버가 실행되고 있다면, rostopic list를 확인해서 아래와 같이 두개의 토픽이 연결되면 정상적으로 서버와 ROS가 연결된 것이다.

swift@swift-HP-Pavilion-dv6-Notebook-PC:~$ vim ~/my_ros_env.sh 

# ignore ROS_HOSTNAME, it only causes problems and overrides ROS_IP
unset ROS_HOSTNAME

# configure ROS IPs HERE
export ROS_MASTER_IP=192.168.219.186
export ROS_IP=192.168.219.182

# ROS_MASTER_URI is derived from ROS_MASTER_IP
export ROS_MASTER_URI=http://${ROS_MASTER_IP}:11311/

## bonus alias to ssh into ros master
alias sshh='sshpass -p oelinux123 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@${ROS_MASTER_IP}'

 

swift@swift-HP-Pavilion-dv6-Notebook-PC:~$ bash

 

swift@swift-HP-Pavilion-dv6-Notebook-PC:~$ rostopic list
/rosout
/rosout_agg

 

 

 

캘리브레이션 수행 결과

 

swift@swift-HP-Pavilion-dv6-Notebook-PC:~/git/voxl-camera-calibration$ rosrun camera_calibration cameracalibrator.py --camera_name=stereo --no-service-check --pattern 'acircles' --size 4x11 --square 0.060 right:=/stereo/right/image_raw left:=/stereo/left/image_raw right_camera:=/stereo/right left_camera:=/stereo/left
Using plumb_bob model

CUSTOM CALIBRATOR, with ModalAI Fisheye Patch
CUSTOM CALIBRATOR, with ModalAI Fisheye Patch
*** Added sample 1, p_x = 0.493, p_y = 0.540, p_size = 0.117, skew = 0.015
*** Added sample 2, p_x = 0.291, p_y = 0.539, p_size = 0.137, skew = 0.039
*** Added sample 3, p_x = 0.112, p_y = 0.532, p_size = 0.152, skew = 0.048
*** Added sample 4, p_x = 0.685, p_y = 0.537, p_size = 0.115, skew = 0.022
*** Added sample 5, p_x = 0.827, p_y = 0.558, p_size = 0.174, skew = 0.080
*** Added sample 6, p_x = 0.916, p_y = 0.530, p_size = 0.110, skew = 0.179
*** Added sample 7, p_x = 0.966, p_y = 0.539, p_size = 0.116, skew = 0.029
*** Added sample 8, p_x = 0.609, p_y = 0.427, p_size = 0.118, skew = 0.001
*** Added sample 9, p_x = 0.618, p_y = 0.238, p_size = 0.119, skew = 0.007
*** Added sample 10, p_x = 0.606, p_y = 0.828, p_size = 0.114, skew = 0.037
*** Added sample 11, p_x = 0.616, p_y = 0.468, p_size = 0.168, skew = 0.320
*** Added sample 12, p_x = 0.613, p_y = 0.527, p_size = 0.168, skew = 0.099
*** Added sample 13, p_x = 0.471, p_y = 0.676, p_size = 0.170, skew = 0.025
*** Added sample 14, p_x = 0.594, p_y = 0.638, p_size = 0.214, skew = 0.031
*** Added sample 15, p_x = 0.568, p_y = 0.395, p_size = 0.236, skew = 0.063
*** Added sample 16, p_x = 0.694, p_y = 0.427, p_size = 0.278, skew = 0.038
*** Added sample 17, p_x = 0.608, p_y = 0.457, p_size = 0.371, skew = 0.009
*** Added sample 18, p_x = 0.624, p_y = 0.601, p_size = 0.419, skew = 0.045
*** Added sample 19, p_x = 0.759, p_y = 0.642, p_size = 0.527, skew = 0.020
*** Added sample 20, p_x = 0.733, p_y = 0.453, p_size = 0.516, skew = 0.032
*** Added sample 21, p_x = 0.550, p_y = 0.510, p_size = 0.537, skew = 0.002
*** Added sample 22, p_x = 0.702, p_y = 0.354, p_size = 0.260, skew = 0.294
*** Added sample 23, p_x = 0.703, p_y = 0.357, p_size = 0.247, skew = 0.478
*** Added sample 24, p_x = 0.524, p_y = 0.450, p_size = 0.251, skew = 0.241
*** Added sample 25, p_x = 0.468, p_y = 0.452, p_size = 0.254, skew = 0.386
*** Added sample 26, p_x = 0.449, p_y = 0.442, p_size = 0.245, skew = 0.549
*** Added sample 27, p_x = 0.475, p_y = 0.426, p_size = 0.278, skew = 0.141
*** Added sample 28, p_x = 0.621, p_y = 0.581, p_size = 0.265, skew = 0.225
*** Added sample 29, p_x = 0.682, p_y = 0.280, p_size = 0.194, skew = 0.245
*** Added sample 30, p_x = 0.671, p_y = 0.316, p_size = 0.207, skew = 0.018
*** Added sample 31, p_x = 0.590, p_y = 0.107, p_size = 0.199, skew = 0.022
*** Added sample 32, p_x = 0.706, p_y = 0.686, p_size = 0.174, skew = 0.048
*** Added sample 33, p_x = 0.600, p_y = 0.985, p_size = 0.194, skew = 0.043
*** Added sample 34, p_x = 0.299, p_y = 0.661, p_size = 0.159, skew = 0.898
Stero Calibration, calculating left intrinsics

06:08:36.791948
Using instrinsic guess
Stero Calibration, calculating right intrinsics

06:10:16.107361
Using instrinsic guess
Stero Calibration, calculating extrinsics

06:11:35.785814
06:11:37.229243

Left:
('D = ', [-0.20099785076321408, 0.13584242405396152, -0.0012522508948169843, -0.002924983033385084, 0.0])
('K = ', [487.78222252582907, 0.0, 316.7052046978907, 0.0, 483.68945632813364, 248.98621821725786, 0.0, 0.0, 1.0])
('R = ', [0.9996428882547967, 0.013880473092577908, -0.022834807385526297, -0.013958029055412002, 0.9998973309809934, -0.003240512609761938, 0.022787483110166866, 0.0035580842896104433, 0.9997339999468318])
('P = ', [492.2398831241363, 0.0, 332.88626861572266, 0.0, 0.0, 492.2398831241363, 236.94992446899414, 0.0, 0.0, 0.0, 1.0, 0.0])

Right:
('D = ', [-0.19115835744763957, 0.10296895413294488, 0.0003378239406851646, 0.001380354169275595, 0.0])
('K = ', [488.5546672114401, 0.0, 288.46040490925213, 0.0, 484.8516379231433, 226.21881451841824, 0.0, 0.0, 1.0])
('R = ', [0.9970875589766488, 0.03550108728122841, -0.06749868543785455, -0.03527124590828362, 0.9993672160738276, 0.0045941973101844055, 0.06761907235436776, -0.0022000542489043857, 0.9977087855758496])
('P = ', [492.2398831241363, 0.0, 332.88626861572266, -125.94791941738121, 0.0, 492.2398831241363, 236.94992446899414, 0.0, 0.0, 0.0, 1.0, 0.0])
('self.T ', [-0.2551217563538923, -0.009083555058048618, 0.017270683026231])
('self.R ', [0.9987646728427508, -0.021186983251726067, 0.044947080238919156, 0.021489079087970427, 0.999749555930431, -0.006248591589870922, -0.044803434703867405, 0.007206743897012907, 0.9989698269122742])
None
# oST version 5.0 parameters


[image]

width
640

height
480

[stereo/left]

camera matrix
487.782223 0.000000 316.705205
0.000000 483.689456 248.986218
0.000000 0.000000 1.000000

distortion
-0.200998 0.135842 -0.001252 -0.002925 0.000000

rectification
0.999643 0.013880 -0.022835
-0.013958 0.999897 -0.003241
0.022787 0.003558 0.999734

projection
492.239883 0.000000 332.886269 0.000000
0.000000 492.239883 236.949924 0.000000
0.000000 0.000000 1.000000 0.000000

# oST version 5.0 parameters


[image]

width
640

height
480

[stereo/right]

camera matrix
488.554667 0.000000 288.460405
0.000000 484.851638 226.218815
0.000000 0.000000 1.000000

distortion
-0.191158 0.102969 0.000338 0.001380 0.000000

rectification
0.997088 0.035501 -0.067499
-0.035271 0.999367 0.004594
0.067619 -0.002200 0.997709

projection
492.239883 0.000000 332.886269 -125.947919
0.000000 492.239883 236.949924 0.000000
0.000000 0.000000 1.000000 0.000000


('Wrote calibration data to', '/tmp/calibrationdata.tar.gz')
('Wrote calibration data to', '/tmp/calibrationdata.tar.gz')

Left:
('D = ', [-0.20099785076321408, 0.13584242405396152, -0.0012522508948169843, -0.002924983033385084, 0.0])
('K = ', [487.78222252582907, 0.0, 316.7052046978907, 0.0, 483.68945632813364, 248.98621821725786, 0.0, 0.0, 1.0])
('R = ', [0.9996428882547967, 0.013880473092577908, -0.022834807385526297, -0.013958029055412002, 0.9998973309809934, -0.003240512609761938, 0.022787483110166866, 0.0035580842896104433, 0.9997339999468318])
('P = ', [492.2398831241363, 0.0, 332.88626861572266, 0.0, 0.0, 492.2398831241363, 236.94992446899414, 0.0, 0.0, 0.0, 1.0, 0.0])

Right:
('D = ', [-0.19115835744763957, 0.10296895413294488, 0.0003378239406851646, 0.001380354169275595, 0.0])
('K = ', [488.5546672114401, 0.0, 288.46040490925213, 0.0, 484.8516379231433, 226.21881451841824, 0.0, 0.0, 1.0])
('R = ', [0.9970875589766488, 0.03550108728122841, -0.06749868543785455, -0.03527124590828362, 0.9993672160738276, 0.0045941973101844055, 0.06761907235436776, -0.0022000542489043857, 0.9977087855758496])
('P = ', [492.2398831241363, 0.0, 332.88626861572266, -125.94791941738121, 0.0, 492.2398831241363, 236.94992446899414, 0.0, 0.0, 0.0, 1.0, 0.0])
('self.T ', [-0.2551217563538923, -0.009083555058048618, 0.017270683026231])
('self.R ', [0.9987646728427508, -0.021186983251726067, 0.044947080238919156, 0.021489079087970427, 0.999749555930431, -0.006248591589870922, -0.044803434703867405, 0.007206743897012907, 0.9989698269122742])
# oST version 5.0 parameters


[image]

width
640

height
480

[stereo/left]

camera matrix
487.782223 0.000000 316.705205
0.000000 483.689456 248.986218
0.000000 0.000000 1.000000

distortion
-0.200998 0.135842 -0.001252 -0.002925 0.000000

rectification
0.999643 0.013880 -0.022835
-0.013958 0.999897 -0.003241
0.022787 0.003558 0.999734

projection
492.239883 0.000000 332.886269 0.000000
0.000000 492.239883 236.949924 0.000000
0.000000 0.000000 1.000000 0.000000

# oST version 5.0 parameters


[image]

width
640

height
480

[stereo/right]

camera matrix
488.554667 0.000000 288.460405
0.000000 484.851638 226.218815
0.000000 0.000000 1.000000

distortion
-0.191158 0.102969 0.000338 0.001380 0.000000

rectification
0.997088 0.035501 -0.067499
-0.035271 0.999367 0.004594
0.067619 -0.002200 0.997709

projection
492.239883 0.000000 332.886269 -125.947919
0.000000 492.239883 236.949924 0.000000
0.000000 0.000000 1.000000 0.000000


swift@swift-HP-Pavilion-dv6-Notebook-PC:~/git/voxl-camera-calibration$ 

swift@swift-HP-Pavilion-dv6-Notebook-PC:~/git/voxl-camera-calibration$ ./push_stereo_cal_to_voxl.sh 
Generating SNAV stereo camera calibration . . . 
('Left Image Width: ', 640)
('Left Image Height: ', 480)
('Left Principal Point X:', 316.705205)
('Left Principal Point Y:', 248.986218)
('Left Focal Length X:', 487.782223)
('Left Focal Length Y:', 483.689456)
('Left Distortion Ceoffs:', [-0.200998, 0.135842, -0.001252, -0.002925, 0.0])
('Right Image Width: ', 640)
('Right Image Height: ', 480)
('Right Principal Point X:', 288.460405)
('Right Principal Point Y:', 226.218815)
('Right Focal Length X:', 488.554667)
('Right Focal Length Y:', 484.851638)
('Right Distortion Coeffs:', [-0.191158, 0.102969, 0.000338, 0.00138, 0.0])
('Extrinsic translation:', array([-0.25512187, -0.00908353,  0.01727076]))
('Extrinsic rotation:', [0.006730299220591391, 0.044892470668601511, 0.021346170553477491])
/tmp/calibrationdata/calibration.stereo.xml: ... file pushed. 0.3 MB/s (2523 bytes in 0.008s)
/tmp/calibrationdata/left.yaml: 1 file pushed. 0.3 MB/s (657 bytes in 0.002s)
/tmp/calibrationdata/right.yaml: 1 file pushed. 0.2 MB/s (659 bytes in 0.003s)
/tmp/calibrationdata/opencv_stereo_intrinsics...1 file pushed. 0.2 MB/s (781 bytes in 0.004s)
/tmp/calibrationdata/opencv_stereo_extrinsics...1 file pushed. 0.4 MB/s (466 bytes in 0.001s)
DONE

 

 

 

Tracking 카메라 캘리브레이션

swift@swift-HP-Pavilion-dv6-Notebook-PC:~/git/voxl-camera-calibration/result_20210701$ rosrun camera_calibration cameracalibrator.py -c tracking -p 'acircles' --size 4x11 --square 0.060 --fisheye image:=/tracking/image_raw
Using fisheye model

CUSTOM CALIBRATOR, with ModalAI Fisheye Patch
*** Added sample 1, p_x = 0.533, p_y = 0.305, p_size = 0.142, skew = 0.145
*** Added sample 2, p_x = 0.504, p_y = 0.349, p_size = 0.175, skew = 0.242
*** Added sample 3, p_x = 0.505, p_y = 0.194, p_size = 0.228, skew = 0.221
*** Added sample 4, p_x = 0.498, p_y = 0.117, p_size = 0.218, skew = 0.429
*** Added sample 5, p_x = 0.491, p_y = 0.044, p_size = 0.229, skew = 0.107
*** Added sample 6, p_x = 0.475, p_y = 0.000, p_size = 0.200, skew = 0.347
*** Added sample 7, p_x = 0.502, p_y = 0.028, p_size = 0.166, skew = 0.235
*** Added sample 8, p_x = 0.487, p_y = 0.028, p_size = 0.167, skew = 0.478
*** Added sample 9, p_x = 0.480, p_y = 0.458, p_size = 0.190, skew = 0.177
*** Added sample 10, p_x = 0.482, p_y = 0.559, p_size = 0.190, skew = 0.079
*** Added sample 11, p_x = 0.454, p_y = 0.175, p_size = 0.186, skew = 0.500
*** Added sample 12, p_x = 0.448, p_y = 0.152, p_size = 0.171, skew = 0.691
*** Added sample 13, p_x = 0.608, p_y = 0.002, p_size = 0.288, skew = 0.305
*** Added sample 14, p_x = 0.529, p_y = 0.140, p_size = 0.168, skew = 0.303
*** Added sample 15, p_x = 0.530, p_y = 0.279, p_size = 0.160, skew = 0.363
*** Added sample 16, p_x = 0.564, p_y = 0.212, p_size = 0.166, skew = 0.081
*** Added sample 17, p_x = 0.619, p_y = 0.144, p_size = 0.179, skew = 0.146
*** Added sample 18, p_x = 0.745, p_y = 0.119, p_size = 0.173, skew = 0.327
*** Added sample 19, p_x = 0.768, p_y = 0.109, p_size = 0.155, skew = 0.484
*** Added sample 20, p_x = 0.523, p_y = 0.023, p_size = 0.161, skew = 0.027
*** Added sample 21, p_x = 0.383, p_y = 0.044, p_size = 0.134, skew = 0.170
*** Added sample 22, p_x = 0.295, p_y = 0.070, p_size = 0.120, skew = 0.276
*** Added sample 23, p_x = 0.177, p_y = 0.102, p_size = 0.130, skew = 0.319
*** Added sample 24, p_x = 0.177, p_y = 0.206, p_size = 0.138, skew = 0.436
*** Added sample 25, p_x = 0.094, p_y = 0.251, p_size = 0.123, skew = 0.329
*** Added sample 26, p_x = 0.676, p_y = 0.098, p_size = 0.132, skew = 0.214
*** Added sample 27, p_x = 0.768, p_y = 0.129, p_size = 0.123, skew = 0.063
*** Added sample 28, p_x = 0.847, p_y = 0.186, p_size = 0.127, skew = 0.126
*** Added sample 29, p_x = 0.911, p_y = 0.240, p_size = 0.125, skew = 0.210
*** Added sample 30, p_x = 0.446, p_y = 0.004, p_size = 0.277, skew = 0.186
*** Added sample 31, p_x = 0.429, p_y = 0.141, p_size = 0.269, skew = 0.130
*** Added sample 32, p_x = 0.561, p_y = 0.355, p_size = 0.110, skew = 0.053
*** Added sample 33, p_x = 0.438, p_y = 0.269, p_size = 0.173, skew = 0.065
*** Added sample 34, p_x = 0.388, p_y = 0.273, p_size = 0.159, skew = 0.223
*** Added sample 35, p_x = 0.424, p_y = 0.257, p_size = 0.139, skew = 0.418
*** Added sample 36, p_x = 0.476, p_y = 0.412, p_size = 0.166, skew = 0.009
*** Added sample 37, p_x = 0.525, p_y = 0.788, p_size = 0.180, skew = 0.290
*** Added sample 38, p_x = 0.522, p_y = 0.783, p_size = 0.197, skew = 0.097
*** Added sample 39, p_x = 0.516, p_y = 0.925, p_size = 0.189, skew = 0.156
*** Added sample 40, p_x = 0.543, p_y = 0.723, p_size = 0.227, skew = 0.190
*** Added sample 41, p_x = 0.549, p_y = 0.519, p_size = 0.242, skew = 0.030
*** Added sample 42, p_x = 0.559, p_y = 0.389, p_size = 0.247, skew = 0.100
*** Added sample 43, p_x = 0.519, p_y = 0.259, p_size = 0.238, skew = 0.006
*** Added sample 44, p_x = 0.452, p_y = 0.664, p_size = 0.154, skew = 0.134
*** Added sample 45, p_x = 0.441, p_y = 0.784, p_size = 0.138, skew = 0.197
('D = ', [-0.011229927651636424, 0.010916796798835383, 0.0015813380365809543, -0.003647359333015381])
('K = ', [284.3169117380536, 0.0, 304.52848501622094, 0.0, 286.57369510008715, 231.32535348377903, 0.0, 0.0, 1.0])
('R = ', [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0])
('P = ', [289.8136901855469, 0.0, 300.96068948638276, 0.0, 0.0, 292.22698974609375, 232.4428063606938, 0.0, 0.0, 0.0, 1.0, 0.0])
None
# oST version 5.0 parameters


[image]

width
640

height
480

[tracking]

camera matrix
284.316912 0.000000 304.528485
0.000000 286.573695 231.325353
0.000000 0.000000 1.000000

distortion
-0.011230 0.010917 0.001581 -0.003647

rectification
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000

projection
289.813690 0.000000 300.960689 0.000000
0.000000 292.226990 232.442806 0.000000
0.000000 0.000000 1.000000 0.000000


('Wrote calibration data to', '/tmp/calibrationdata.tar.gz')
('D = ', [-0.011229927651636424, 0.010916796798835383, 0.0015813380365809543, -0.003647359333015381])
('K = ', [284.3169117380536, 0.0, 304.52848501622094, 0.0, 286.57369510008715, 231.32535348377903, 0.0, 0.0, 1.0])
('R = ', [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0])
('P = ', [289.8136901855469, 0.0, 300.96068948638276, 0.0, 0.0, 292.22698974609375, 232.4428063606938, 0.0, 0.0, 0.0, 1.0, 0.0])
# oST version 5.0 parameters


[image]

width
640

height
480

[tracking]

camera matrix
284.316912 0.000000 304.528485
0.000000 286.573695 231.325353
0.000000 0.000000 1.000000

distortion
-0.011230 0.010917 0.001581 -0.003647

rectification
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000

projection
289.813690 0.000000 300.960689 0.000000
0.000000 292.226990 232.442806 0.000000
0.000000 0.000000 1.000000 0.000000

 

swift@swift-HP-Pavilion-dv6-Notebook-PC:~/git/voxl-camera-calibration$ ./push_tracking_cal_to_voxl.sh 
Generating SNAV downward camera calibration . . . 
('Downward Image Width: ', 640)
('Downward Image Height: ', 480)
('Downward Principal Point X:', 304.528485)
('Downward Principal Point Y:', 231.325353)
('Downward Focal Length X:', 284.316912)
('Downward Focal Length Y:', 286.573695)
('Downward Distortion Ceoffs:', [-0.01123, 0.010917, 0.001581, -0.003647])
/tmp/calibrationdata/calibration.downward.xml...1 file pushed. 0.6 MB/s (936 bytes in 0.002s)
/tmp/calibrationdata/ost.yaml: 1 file pushed. 0.2 MB/s (638 bytes in 0.003s)
/tmp/calibrationdata/opencv_intrinsics.yml: 1 file pushed. 0.1 MB/s (415 bytes in 0.008s)
DONE

 

 

 

728x90

'엔지니어링 > 드론' 카테고리의 다른 글

SWaP-C?  (0) 2021.08.11
[ VOXL ] VOXL-DFS-SERVER 컴파일 완료  (0) 2021.07.17
[ VOXL ] 2021.06.12 작업일지  (1) 2021.06.12
[VOXL] voxl-docker opencv-opencl image build  (0) 2021.06.09
[ VOXL ] VOXL-DFS-SERVER  (0) 2021.06.05

댓글