ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Autoware 집중 공략! (2) 사용해보기
    ROS & Autoware 2019. 6. 9. 15:43

    0. Warming up

    Autoware 공식 메뉴얼 (Autoware의 구조에 대한 상세한 설명을 담고 있습니다. 꼭 한번 정독하시기를 추천 드립니다.)

    https://github.com/CPFL/Autoware-Manuals/blob/master/en/Autoware_UsersManual_v1.1.md

     

    이번 글에서는 TierIV로 부터 제공되는 Data를 바탕으로 시뮬레이션을 진행하면서 Autoware가 어떤 기능들로 구성되어 있는지에 대해 알아볼 것입니다.

    지금 당장 사용하지는 않지만 우선 TierIV에서 제공하는 Sample 데이터를 미리 다운로드 받아놓는게 좋습니다. (용량이 약 3GB로 상당히 크기 때문에 시간이 걸립니다.)

     

    Moriyama Sample ROSBAG Data

    http://db3.ertl.jp/autoware/sample_data/sample_moriyama_150324.tar.gz

    ROSBAG 데이터는 ROS에서 노드간의 메세지 통신을 캡처 해놓은 데이터 형식입니다. 일본에서 만든 프로그램이기 때문에 일본의 모리야마라는 지역의 도로 일부를 직접 차량을 주행하며 라이다 센서와 GPS 센서를 활용하여 데이터를 캡처한 것으로 추측합니다.

     

    Moriyama Sample Route File

    http://db3.ertl.jp/autoware/sample_data/sample_moriyama_data.tar.gz

    PCD(PointCloudData) 파일과 csv, 설정 파일이 담겨있습니다.

     

     

     

     

    1. Autoware Runtime Manager 살펴보기

    Autoware Runtime Manager는 총 11개의 Tab으로 구성되어 있습니다. 굉장히 많지만 중요도가 모두 같지는 않기 때문에 핵심적인 Tab과 그 역할에 대해 중점적으로 설명 해보겠습니다.

     

    * Quick Start Tab

     

     

     

     

     

     

     

    2. Simulation 하기

    tar -xvf sample_moriyama_data.tar.gz
    tar -xvf sample_moriyama_150324.tar.gz 

     

    압축을 해제하면 data 폴더를 확인할 수 있습니다. 위 디렉토리를 Home 디렉토리 하위의 숨겨진 .autoware 내부의 data 폴더로 이동시키세요. (OverWrite가 필요하면 OverWrite를 진행하세요.)

    data 파일을 덮어 씌웁니다.

    왜 하필 Home/.autoware/data 경로인지 궁금해 하시는 분들이 분명 계실겁니다. 그 이유를 간략히 설명하자면 해당 절대 경로로 사용되는 스크립트들이 존재하기 때문입니다. 그런 스크립트는 수가 적지 않기 때문에 모든 스크립트들을 수정하는 것보다 파일들의 경로를 수정하는 것이 더 효율적이기 때문이에요.

     

    이제 QuickStart Tab에 quick_start_*.launch 파일들을 설정해줍시다.

     

    Ref 버튼을 클릭하여 각 항목에 대응되는 launch 파일들을 설정해줍시다. 각 launch 파일들은 Autoware/docs/quick_start/ 디렉토리 하위에 위치해 있습니다.

     

    위 처럼 설정하세요.

     

     

    ROSBAG(.bag파일)의 정보를 확인할 수 있습니다.

     

     

    Simulation Play를 클릭하고 곧이어 Pause 버튼을 클릭하세요.

    .bag 파일을 읽어들이면 bag 파일에 캡처 된 Topic들이 발행될 것이고 이를 Topics 탭에서 확인할 수 있습니다.

    Topic Tab 클릭 -> Refresh 클릭(반드시 해야해요 그래야 갱신됨) -> /nmea_sentence와 points_raw가 발행되는지 확인하세요.

     

    RViz 버튼을 클릭하여 RViz 노드를 실행시키세요.
    ROS의 얼굴, RViz!

    RViz는 ROS의 다양한 자료형들을 시각화 해주는 프로그램입니다. Gazebo와 함께 ROS의 대표적인 Visualization Tool 이죠!

    이 프로그램을 제대로 사용하기 위해서는 여러 개념들을 이해하고 있어야 하지만 우선은 속성으로 반드시 알아야 하는 필수적인 것들에 대해서 설명하겠습니다.

     

    가시화 가능한 Display Type들을 추가/설정하고 Topic을 연결할 수 있습니다.

    RViz의 좌측 메뉴는 RViz에서 표현 가능한 디스플레이 타입들을 추가하는 메뉴입니다. Add 버튼을 클릭하면 Display Type의 리스트를 확인할 수 있습니다. 

     

    Display Type들과 현재 발행되고 있는 Topic으로 볼 수 있는 방법 두가지가 있습니다.

     

    RViz의 DisplayType 들이 실제 출력되는 디스플레이 화면입니다.

     

    DisplayType List는 파일 형태로 관리할 수 있습니다. TierIV 측에서도 Sample Data에 대한 시뮬레이션을 가시화하기에 적합한 DisplayType List를 파일로 구성해 놓았습니다. RViz 상단의 File - Open Config 탭을 통해 미리 구성된 RViz 설정을 사용할 수 있습니다.

    해당 configuration 파일은 Git에서 다운로드 받은 Autoware/ros/src/.config/rviz/ 디렉토리 하위에 default.rviz로 위치해 있습니다.

     

    default.rviz를 선택하고 open 버튼을 클릭합시다.

    그럼 아래와 같이 DisplayType List가 설정되는 것을 확인할 수 있습니다.

    현재 몇가지 에러가 보이는걸 확인할 수 있지만 이는 추후에 이야기 해보죠.

     

    자 이제 다시 RuntimeManager의 Quick Start 탭으로 돌아옵시다.

    Quick Start는 Moriyama Sample에 대한 실행 스크립트(launch 파일)들을 시작하는 메뉴입니다.

    토글 버튼을 클릭하게 되면 각각에 대응되던 launch 파일들이 실행됩니다.

    Map, Localization, Detection 버튼을 클릭하세요.

    그 뒤엔 Map Tab에서 home/.autoware/data/tf/tf.launch TF 토글 버튼을 활성화 합니다.

    TF 노드는 Frame 들을 구동시키는 Node 정보를 가지고 있습니다.

    위 4개의 버튼을 클릭해도 아마 아무것도 출력되지 않거나 차가 흔들리는 등 이상한 현상이 발견될 겁니다.

    1) Fixed Frame이 world로 설정되어 있는지 2)TF의 하위 Status (base_link, gps, map, mobility, velodyne, world)가 모두 Transform OK로 출력되는지 3)Frames의 6개가 모두 Check 되어 있는지 4)Tree가 아래와 같은 구조를 띄고 있는지 Display Type List에서 4가지를 체크해야 합니다. (모든 조건을 충족해야 합니다.)

    4가지를 확인 해야합니다.

     

    만약 해당 조건을 하나라도 만족하지 않는다면 정상적으로 출력되지 않을겁니다.

    이를 해결하는 방법에 대해 설명하겠습니다.

     

    1. RViz를 먼저 실행하고 

    2. 

     

     

    정상적으로 동작했을때 디스플레이

     

    Moriyama Sample 에서는 Localization을 위해서 gps와 lidar에서 발행하는 PointCloud를 활용합니다.
    Vector Map과 PointCloud 로만 Visualization 했을때

    'ROS & Autoware' 카테고리의 다른 글

    Autoware 집중 공략! (1) 설치하기  (1) 2019.06.02
Designed by Tistory.