JetsonTX2에서 ROS를 사용한 GPS 감지
환경
장치: JetsonTX2
Jetpack 버전: 3.2
ROS: 키네틱
OS: Ubuntu16.04
가속도 센서: BU-353-S4( htps //w w. Ida-japan. 이. jp/GPS/부 353-S4(우 SB). pdf )
GPS 연결
Jetson에 GPS를 연결합니다. USB 포트에 꽂는 것만.
연결되면 다음 명령으로 GPS가 인식되는지 확인합니다.
bash
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 17ef:6047 Lenovo
Bus 001 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Tecnnology, Inc. PL2303 Serial Port가 표시되면 OK.
다음으로/dev 이하에서 시리얼 포트로서 인식되고 있는 것을 확인한다.
bash$ ls /dev/ttyUSB*
/dev/ttyUSB0
이 경우 USB0로 인식되고 있는 것을 확인할 수 있다.
GPS에서 신호 확인
시리얼 포트에서 송수신을 수행하는 명령으로 확인합니다. 설치되어 있지 않으면 다음 명령으로 설치한다.
$ sudo apt-get install cu
이하의 커맨드로 수신 데이터를 확인할 수 있다. 인수에는, 앞서 조사한 USB의 시리얼 포트를 지정해, 보 레이트는 GPS 모듈의 사양에 맞추어 4800으로 한다.
$ cu -s 4800 -l /dev/ttyUSB0
Connected.
$GPGGA,052923.037,,,,,0,00,,,M,0.0,M,,0000*5D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,052923.037,V,,,,,,,301119,,,N*4D
$GPGGA,052924.037,,,,,0,00,,,M,0.0,M,,0000*5A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,2,1,08,24,75,007,32,57,79,173,22,01,62,020,,11,58,045,*72
$GPGSV,2,2,08,25,26,185,,04,19,064,,23,13,054,,16,01,328,*7D
$GPRMC,052924.037,V,,,,,,,301119,,,N*4A
$GPGGA,052925.037,,,,,0,00,,,M,0.0,M,,0000*5B
상기와 같은 데이터를 수신할 수 있으면 OK.
정지하려면 "~"(칠다)를 친다.
ROS 패키지 도입
GPS 데이터를 수신하는 ROS 패키지 중에서 ROS 추천nmea_navsat_driver을 이용한다. 또한이 패키지를 사용하려면 nmea_msgs도 필요합니다.
설치에는 다음 명령을 실행합니다.
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros-drivers/nmea_msgs.git
$ git clone https://github.com/ros-drivers/nmea_navsat_driver.git
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
GPS 로깅
센서값의 로깅에는 rosbag를 사용한다.
참고: h tps:// 퀵했다. 작은 m/srs/있어 MS/f6 그림 2c36996 그림 34b C4d73
실행 방법
첫 번째 터미널에서 roscore를 시작하고 두 번째 터미널에서 nmea_navsat_driver를 시작합니다. 세 번째 터미널에서는 rosbag 파일을 생성하여 로그를 출력합니다.
Tearminal1$ roscore
Tearminal2$ rosrun nmea_navsat_driver nmea_serial_driver
Tearminal3$ cd catkin_ws
$ mkdir rosbag
$ cd rosbag
$ rosbag record -a -O test-gps
출력 결과 확인
$ rosbag info test-gps.bag
path: test-gps.bag
version: 2.0
duration: 2:27s (147s)
start: Nov 30 2019 10:59:23.44 (1575079163.44)
end: Nov 30 2019 11:01:50.50 (1575079310.50)
size: 80.2 KB
messages: 447
compression: none [1/1 chunks]
types: geometry_msgs/TwistStamped [98d34b0043a2093cf9d9345ab6eef12e]
rosgraph_msgs/Log [acffd30cd6b6de30f120938c17c593fb]
sensor_msgs/NavSatFix [2d3a8cd499b9b4a0249fb98fd05cfa48]
sensor_msgs/TimeReference [fded64a0265108ba86c3d38fb11c0c16]
topics: /fix 147 msgs : sensor_msgs/NavSatFix
/rosout 6 msgs : rosgraph_msgs/Log (2 connections)
/time_reference 147 msgs : sensor_msgs/TimeReference
/vel 147 msgs : geometry_msgs/TwistStamped
/fix가 위치 정보이다.
데이터 시각화
다음 명령을 실행하면 다음과 같은 창이 나타납니다. 세로로 rosbag에 들어있는 ROS 화제가 어쨌든, 파란 수직선은 그 시간에 publish되었다는 것을 보여준다.
$ rqt_bag test-gps.bag
각 주제를 마우스 오른쪽 버튼으로 클릭하고 view->plot을 선택하면 그래프를 볼 수 있습니다. 이제 각 데이터를 비교할 수 있습니다.
CSV 출력
다음 명령을 실행하여 가속도 데이터, 속도, 회전 각도 등의 로그를 CSV 파일로 출력
할 수 있다.
rostopic echo -b test-gps.bag -p /fix > test-gps-data-raw.csv
CSV에서 그래프를 작성해 보았다. 다음과 같이 GPS에서의 위치 정보를 플롯할 수 있다.
기타
로깅 중 컴퓨터 종료 및 로그 데이터 복원 방법
Reference
이 문제에 관하여(JetsonTX2에서 ROS를 사용한 GPS 감지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DrChickenGeorge/items/610f6732f14f4fe8b934
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Jetson에 GPS를 연결합니다. USB 포트에 꽂는 것만.
연결되면 다음 명령으로 GPS가 인식되는지 확인합니다.
bash
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 17ef:6047 Lenovo
Bus 001 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Tecnnology, Inc. PL2303 Serial Port가 표시되면 OK.
다음으로/dev 이하에서 시리얼 포트로서 인식되고 있는 것을 확인한다.
bash
$ ls /dev/ttyUSB*
/dev/ttyUSB0
이 경우 USB0로 인식되고 있는 것을 확인할 수 있다.
GPS에서 신호 확인
시리얼 포트에서 송수신을 수행하는 명령으로 확인합니다. 설치되어 있지 않으면 다음 명령으로 설치한다.
$ sudo apt-get install cu
이하의 커맨드로 수신 데이터를 확인할 수 있다. 인수에는, 앞서 조사한 USB의 시리얼 포트를 지정해, 보 레이트는 GPS 모듈의 사양에 맞추어 4800으로 한다.
$ cu -s 4800 -l /dev/ttyUSB0
Connected.
$GPGGA,052923.037,,,,,0,00,,,M,0.0,M,,0000*5D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,052923.037,V,,,,,,,301119,,,N*4D
$GPGGA,052924.037,,,,,0,00,,,M,0.0,M,,0000*5A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,2,1,08,24,75,007,32,57,79,173,22,01,62,020,,11,58,045,*72
$GPGSV,2,2,08,25,26,185,,04,19,064,,23,13,054,,16,01,328,*7D
$GPRMC,052924.037,V,,,,,,,301119,,,N*4A
$GPGGA,052925.037,,,,,0,00,,,M,0.0,M,,0000*5B
상기와 같은 데이터를 수신할 수 있으면 OK.
정지하려면 "~"(칠다)를 친다.
ROS 패키지 도입
GPS 데이터를 수신하는 ROS 패키지 중에서 ROS 추천nmea_navsat_driver을 이용한다. 또한이 패키지를 사용하려면 nmea_msgs도 필요합니다.
설치에는 다음 명령을 실행합니다.
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros-drivers/nmea_msgs.git
$ git clone https://github.com/ros-drivers/nmea_navsat_driver.git
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
GPS 로깅
센서값의 로깅에는 rosbag를 사용한다.
참고: h tps:// 퀵했다. 작은 m/srs/있어 MS/f6 그림 2c36996 그림 34b C4d73
실행 방법
첫 번째 터미널에서 roscore를 시작하고 두 번째 터미널에서 nmea_navsat_driver를 시작합니다. 세 번째 터미널에서는 rosbag 파일을 생성하여 로그를 출력합니다.
Tearminal1$ roscore
Tearminal2$ rosrun nmea_navsat_driver nmea_serial_driver
Tearminal3$ cd catkin_ws
$ mkdir rosbag
$ cd rosbag
$ rosbag record -a -O test-gps
출력 결과 확인
$ rosbag info test-gps.bag
path: test-gps.bag
version: 2.0
duration: 2:27s (147s)
start: Nov 30 2019 10:59:23.44 (1575079163.44)
end: Nov 30 2019 11:01:50.50 (1575079310.50)
size: 80.2 KB
messages: 447
compression: none [1/1 chunks]
types: geometry_msgs/TwistStamped [98d34b0043a2093cf9d9345ab6eef12e]
rosgraph_msgs/Log [acffd30cd6b6de30f120938c17c593fb]
sensor_msgs/NavSatFix [2d3a8cd499b9b4a0249fb98fd05cfa48]
sensor_msgs/TimeReference [fded64a0265108ba86c3d38fb11c0c16]
topics: /fix 147 msgs : sensor_msgs/NavSatFix
/rosout 6 msgs : rosgraph_msgs/Log (2 connections)
/time_reference 147 msgs : sensor_msgs/TimeReference
/vel 147 msgs : geometry_msgs/TwistStamped
/fix가 위치 정보이다.
데이터 시각화
다음 명령을 실행하면 다음과 같은 창이 나타납니다. 세로로 rosbag에 들어있는 ROS 화제가 어쨌든, 파란 수직선은 그 시간에 publish되었다는 것을 보여준다.
$ rqt_bag test-gps.bag
각 주제를 마우스 오른쪽 버튼으로 클릭하고 view->plot을 선택하면 그래프를 볼 수 있습니다. 이제 각 데이터를 비교할 수 있습니다.
CSV 출력
다음 명령을 실행하여 가속도 데이터, 속도, 회전 각도 등의 로그를 CSV 파일로 출력
할 수 있다.
rostopic echo -b test-gps.bag -p /fix > test-gps-data-raw.csv
CSV에서 그래프를 작성해 보았다. 다음과 같이 GPS에서의 위치 정보를 플롯할 수 있다.
기타
로깅 중 컴퓨터 종료 및 로그 데이터 복원 방법
Reference
이 문제에 관하여(JetsonTX2에서 ROS를 사용한 GPS 감지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DrChickenGeorge/items/610f6732f14f4fe8b934
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo apt-get install cu
$ cu -s 4800 -l /dev/ttyUSB0
Connected.
$GPGGA,052923.037,,,,,0,00,,,M,0.0,M,,0000*5D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,052923.037,V,,,,,,,301119,,,N*4D
$GPGGA,052924.037,,,,,0,00,,,M,0.0,M,,0000*5A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,2,1,08,24,75,007,32,57,79,173,22,01,62,020,,11,58,045,*72
$GPGSV,2,2,08,25,26,185,,04,19,064,,23,13,054,,16,01,328,*7D
$GPRMC,052924.037,V,,,,,,,301119,,,N*4A
$GPGGA,052925.037,,,,,0,00,,,M,0.0,M,,0000*5B
GPS 데이터를 수신하는 ROS 패키지 중에서 ROS 추천nmea_navsat_driver을 이용한다. 또한이 패키지를 사용하려면 nmea_msgs도 필요합니다.
설치에는 다음 명령을 실행합니다.
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros-drivers/nmea_msgs.git
$ git clone https://github.com/ros-drivers/nmea_navsat_driver.git
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
GPS 로깅
센서값의 로깅에는 rosbag를 사용한다.
참고: h tps:// 퀵했다. 작은 m/srs/있어 MS/f6 그림 2c36996 그림 34b C4d73
실행 방법
첫 번째 터미널에서 roscore를 시작하고 두 번째 터미널에서 nmea_navsat_driver를 시작합니다. 세 번째 터미널에서는 rosbag 파일을 생성하여 로그를 출력합니다.
Tearminal1$ roscore
Tearminal2$ rosrun nmea_navsat_driver nmea_serial_driver
Tearminal3$ cd catkin_ws
$ mkdir rosbag
$ cd rosbag
$ rosbag record -a -O test-gps
출력 결과 확인
$ rosbag info test-gps.bag
path: test-gps.bag
version: 2.0
duration: 2:27s (147s)
start: Nov 30 2019 10:59:23.44 (1575079163.44)
end: Nov 30 2019 11:01:50.50 (1575079310.50)
size: 80.2 KB
messages: 447
compression: none [1/1 chunks]
types: geometry_msgs/TwistStamped [98d34b0043a2093cf9d9345ab6eef12e]
rosgraph_msgs/Log [acffd30cd6b6de30f120938c17c593fb]
sensor_msgs/NavSatFix [2d3a8cd499b9b4a0249fb98fd05cfa48]
sensor_msgs/TimeReference [fded64a0265108ba86c3d38fb11c0c16]
topics: /fix 147 msgs : sensor_msgs/NavSatFix
/rosout 6 msgs : rosgraph_msgs/Log (2 connections)
/time_reference 147 msgs : sensor_msgs/TimeReference
/vel 147 msgs : geometry_msgs/TwistStamped
/fix가 위치 정보이다.
데이터 시각화
다음 명령을 실행하면 다음과 같은 창이 나타납니다. 세로로 rosbag에 들어있는 ROS 화제가 어쨌든, 파란 수직선은 그 시간에 publish되었다는 것을 보여준다.
$ rqt_bag test-gps.bag
각 주제를 마우스 오른쪽 버튼으로 클릭하고 view->plot을 선택하면 그래프를 볼 수 있습니다. 이제 각 데이터를 비교할 수 있습니다.
CSV 출력
다음 명령을 실행하여 가속도 데이터, 속도, 회전 각도 등의 로그를 CSV 파일로 출력
할 수 있다.
rostopic echo -b test-gps.bag -p /fix > test-gps-data-raw.csv
CSV에서 그래프를 작성해 보았다. 다음과 같이 GPS에서의 위치 정보를 플롯할 수 있다.
기타
로깅 중 컴퓨터 종료 및 로그 데이터 복원 방법
Reference
이 문제에 관하여(JetsonTX2에서 ROS를 사용한 GPS 감지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DrChickenGeorge/items/610f6732f14f4fe8b934
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ roscore
$ rosrun nmea_navsat_driver nmea_serial_driver
$ cd catkin_ws
$ mkdir rosbag
$ cd rosbag
$ rosbag record -a -O test-gps
$ rosbag info test-gps.bag
path: test-gps.bag
version: 2.0
duration: 2:27s (147s)
start: Nov 30 2019 10:59:23.44 (1575079163.44)
end: Nov 30 2019 11:01:50.50 (1575079310.50)
size: 80.2 KB
messages: 447
compression: none [1/1 chunks]
types: geometry_msgs/TwistStamped [98d34b0043a2093cf9d9345ab6eef12e]
rosgraph_msgs/Log [acffd30cd6b6de30f120938c17c593fb]
sensor_msgs/NavSatFix [2d3a8cd499b9b4a0249fb98fd05cfa48]
sensor_msgs/TimeReference [fded64a0265108ba86c3d38fb11c0c16]
topics: /fix 147 msgs : sensor_msgs/NavSatFix
/rosout 6 msgs : rosgraph_msgs/Log (2 connections)
/time_reference 147 msgs : sensor_msgs/TimeReference
/vel 147 msgs : geometry_msgs/TwistStamped
다음 명령을 실행하면 다음과 같은 창이 나타납니다. 세로로 rosbag에 들어있는 ROS 화제가 어쨌든, 파란 수직선은 그 시간에 publish되었다는 것을 보여준다.
$ rqt_bag test-gps.bag
각 주제를 마우스 오른쪽 버튼으로 클릭하고 view->plot을 선택하면 그래프를 볼 수 있습니다. 이제 각 데이터를 비교할 수 있습니다.
CSV 출력
다음 명령을 실행하여 가속도 데이터, 속도, 회전 각도 등의 로그를 CSV 파일로 출력
할 수 있다.
rostopic echo -b test-gps.bag -p /fix > test-gps-data-raw.csv
CSV에서 그래프를 작성해 보았다. 다음과 같이 GPS에서의 위치 정보를 플롯할 수 있다.
기타
로깅 중 컴퓨터 종료 및 로그 데이터 복원 방법
Reference
이 문제에 관하여(JetsonTX2에서 ROS를 사용한 GPS 감지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DrChickenGeorge/items/610f6732f14f4fe8b934
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
rostopic echo -b test-gps.bag -p /fix > test-gps-data-raw.csv
로깅 중 컴퓨터 종료 및 로그 데이터 복원 방법
Reference
이 문제에 관하여(JetsonTX2에서 ROS를 사용한 GPS 감지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/DrChickenGeorge/items/610f6732f14f4fe8b934텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)