SLAM Fourteen 강의 - ch3 실습

1. ch3의 전체 단계

  1. C++ 오픈 소스 선형 대수 라이브러리인 Eigen 라이브러리를 설치했는지 확인하십시오.
sudo apt-get install libeigen3-dev

설명: 행렬에 대한 빠른 선형 대수 연산을 제공하고 방정식 풀이와 같은 기능도 포함합니다. g2o\Sophus와 같은 상위 수준 소프트웨어 라이브러리도 Eigen 라이브러리를 사용합니다.

  1. 터미널에 ch3 폴더를 입력하고 다음 명령어를 실행하여 컴파일합니다.
mkdir build
cd build
cmake ..
//注意,j4还是其他主要看自己的电脑情况
make -j4
  1. 빌드 파일에서 실행합니다.

2. 서류의 집행

1. 실습: 아이겐

빌드 파일에서 useEigen으로 더 이동한 다음 ./eigenMatrix를 실행하여 다음 결과를 얻습니다.

matrix 2x3 from 1 to 6:
1 2 3
4 5 6
print matrix 2x3:
1       2       3
4       5       6
[1,2,3;4,5,6]*[3,2,1]=10 28
[1,2,3;4,5,6]*[4,5,6]: 32 77
random matrix:
 0.680375   0.59688 -0.329554
-0.211234  0.823295  0.536459
 0.566198 -0.604897 -0.444451
transpose:
 0.680375 -0.211234  0.566198
  0.59688  0.823295 -0.604897
-0.329554  0.536459 -0.444451
sum: 1.61307
trace: 1.05922
times 10:
 6.80375   5.9688 -3.29554
-2.11234  8.23295  5.36459
 5.66198 -6.04897 -4.44451
inverse:
-0.198521   2.22739    2.8357
  1.00605 -0.555135  -1.41603
 -1.62213   3.59308   3.28973
det: 0.208598
Eigen values =
0.0242899
 0.992154
  1.80558
Eigen vectors =
-0.549013 -0.735943  0.396198
 0.253452 -0.598296 -0.760134
-0.796459  0.316906 -0.514998
time of normal inverse is 0.14ms
x = -55.7896 -298.793  130.113 -388.455 -159.312  160.654 -40.0416 -193.561  155.844  181.144  185.125 -62.7786  19.8333 -30.8772 -200.746  55.8385 -206.604  26.3559 -14.6789  122.719 -221.449   26.233  -318.95 -78.6931  50.1446  87.1986 -194.922  132.319  -171.78 -4.19736   11.876 -171.779  48.3047  84.1812 -104.958 -47.2103 -57.4502 -48.9477 -19.4237  28.9419  111.421  92.1237 -288.248 -23.3478  -275.22 -292.062  -92.698  5.96847 -93.6244  109.734
time of Qr decomposition is 0.089ms
x = -55.7896 -298.793  130.113 -388.455 -159.312  160.654 -40.0416 -193.561  155.844  181.144  185.125 -62.7786  19.8333 -30.8772 -200.746  55.8385 -206.604  26.3559 -14.6789  122.719 -221.449   26.233  -318.95 -78.6931  50.1446  87.1986 -194.922  132.319  -171.78 -4.19736   11.876 -171.779  48.3047  84.1812 -104.958 -47.2103 -57.4502 -48.9477 -19.4237  28.9419  111.421  92.1237 -288.248 -23.3478  -275.22 -292.062  -92.698  5.96847 -93.6244  109.734
time of ldlt decomposition is 0.043ms
x = -55.7896 -298.793  130.113 -388.455 -159.312  160.654 -40.0416 -193.561  155.844  181.144  185.125 -62.7786  19.8333 -30.8772 -200.746  55.8385 -206.604  26.3559 -14.6789  122.719 -221.449   26.233  -318.95 -78.6931  50.1446  87.1986 -194.922  132.319  -171.78 -4.19736   11.876 -171.779  48.3047  84.1812 -104.958 -47.2103 -57.4502 -48.9477 -19.4237  28.9419  111.421  92.1237 -288.248 -23.3478  -275.22 -292.062  -92.698  5.96847 -93.6244  109.734

2. 실습: 고유 기하학 모듈

(1) 고유 수집 모듈의 데이터 시연
빌드에 useGeometry를 입력하고 ./eigenGeometry를 실행하면 다음과 같은 결과가 나타납니다.

rotation matrix =
 0.707 -0.707      0
 0.707  0.707      0
     0      0      1
(1,0,0) after rotation (by angle axis) = 0.707 0.707     0
(1,0,0) after rotation (by matrix) = 0.707 0.707     0
yaw pitch roll = 0.785    -0     0
Transform matrix =
 0.707 -0.707      0      1
 0.707  0.707      0      3
     0      0      1      4
     0      0      0      1
v tranformed = 1.71 3.71    4
quaternion from rotation vector =     0     0 0.383 0.924
quaternion from rotation matrix =     0     0 0.383 0.924
(1,0,0) after rotation = 0.707 0.707     0
should be equal to 0.707 0.707     0     0

(2) 실제 좌표 변환 예제
빌드에 예제를 입력하고 ./coordinateTransform을 실행하면 다음과 같은 결과가 나타납니다.

-0.0309731    0.73499   0.296108

3. 시각적 표현

(1) 궤적 표시 빌드
에 예제를 입력하고 ./plotTrajectory를 실행한 후 결과는 다음과 같습니다.

플롯 궤적
동시에 터미널 출력:

총 620개의 포즈 항목 읽기

(2) 고유 수집 모듈의 시각적 데모 빌드
에 visualGeometry를 입력하고 ./visualizeGeometry를 실행하면 결과는 다음과 같습니다.
시각화 기하학

문제

1. 제목이 나타납니다. ./plotTrajectory 실행 시 다음과 같은 오류가 발생합니다.

cannot find trajectory file at ./examples/trajectory.txt

해결 방법: plotTrajectory.cpp 파일을 변경하고 11./examples/trajectory.txt 줄을 다음과 같이 변경합니다.

// path to trajectory file
string trajectory_file = "/home/fighter/slam/slambook2/ch3/examples/trajectory.txt";

이유: 주된 이유는 파일을 찾을 수 없기 때문입니다. 더 많은 문제와 문제를 피하기 위해 절대 경로로 직접 변경하는 것이 좋습니다.

Je suppose que tu aimes

Origine blog.csdn.net/qq_44164791/article/details/131143151
conseillé
Classement