Autoware/ROS로 지도 만들기
참고 : htps : // 이 m/유키 싸이와/있어 ms/21 아 6% 88% 90
대차
측정용으로 대차를 만들어 보았다.
(※ 최종적으로는 모터를 붙여 달릴 예정)
Velodyne의 노드 시작
방법 1. Autoware UI에서
ARM의 Sensing 탭에서 VLP-16을 클릭합니다.
points_raw 주제에서 데이터가 흐른다.
방법 2. ROS 명령으로
$ roscore&
$ roslaunch velodyne_pointcloud VLP16_points.launch &
$ rosnode list
$ rostopic echo /velodyne_points //データが来ているのが分かる
velodyne_points 주제에서 데이터가 흐릅니다.
ROSBAG로 기록
방법 1. Autoware UI에서
ROSBAG 버튼을 클릭합니다.
방법 2. ROS 명령으로
$ rosbag record -a //すべてのノードを記録
$ rosbag record -O vlp-16.bag /velodyne_points //ファイル名を指定してVelodyneノードのみ記録
vlp-16.bag 파일이 생성됩니다.
참고 : 녹화 중에는 RViz에서 보면서 천천히 이동합니다.
포인트 클라우드로
방법 1. Autoware UI에서
ARM의 Sensing 탭에서 VLP-16을 클릭합니다.
points_raw 주제에서 데이터가 흐른다.
방법 2. ROS 명령으로
$ roscore&
$ roslaunch velodyne_pointcloud VLP16_points.launch &
$ rosnode list
$ rostopic echo /velodyne_points //データが来ているのが分かる
velodyne_points 주제에서 데이터가 흐릅니다.
ROSBAG로 기록
방법 1. Autoware UI에서
ROSBAG 버튼을 클릭합니다.
방법 2. ROS 명령으로
$ rosbag record -a //すべてのノードを記録
$ rosbag record -O vlp-16.bag /velodyne_points //ファイル名を指定してVelodyneノードのみ記録
vlp-16.bag 파일이 생성됩니다.
참고 : 녹화 중에는 RViz에서 보면서 천천히 이동합니다.
포인트 클라우드로
$ rosbag record -a //すべてのノードを記録
$ rosbag record -O vlp-16.bag /velodyne_points //ファイル名を指定してVelodyneノードのみ記録
※참고: htps // p 여지 ct. Nicki bp. 이. jp/미라이/주 sk1906/다 y3. pdf
topic 이름이 'points_raw'가 아니면 pcd 파일에 기록되지 않으므로,
「velodyne_points」로 기록한 경우는, topic명을 이하로 전송한다.
htps : // 이 m/미소라고 d/있어 ms/6d9세990에 b19c105d96#3d마 p%에4%BD%9C%에6%88%90
$ rosrun topic_tools relay /velodyne_points /points_raw
덧붙여서, 참고 PDF에 있는 ndt_mapping.rviz는 찾을 수 없었다.
$ find ./ -name ndt_mapping.rviz
// ヒットしない。
만든 지도 확인
RViz로 확인한다. ARM의 Map 탭에서 TF를 누른 다음 Rviz 버튼에서 시작하면 아래와 같이 표시되었다.
설정값에 대하여
좁은 장소나 실내의 맵에서는 Computing > ndt_mapping에서 minimum Scan range를 0.25 등으로 설정
각종 에러에 대해서
아래와 같은 에러가 나올 때가 있었다.
// TF指定がされていない場合
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Lookup would require extrapolation into the past. Requested time 1609378636.168447000 but the earliest data is at time 1609383678.572532467, when looking up transform from frame [velodyne] to frame [world]]
// MapタブのTFが定義されてない場合
Global Status:Error
Fixed Frame [world] does not exist
// Velodyne座標がWorld座標とリンクしていない場合
Points Raw:
Status: Error
For frame [velodyne]: Fixed Frame [world] does not exist
// Velodyne座標がWorld座標とリンクしていない場合
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Could not find a connection between 'world' and 'velodyne' because they are not part of the same tree.Tf has two or more unconnected trees.]
// Minimum_range
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Lookup would require extrapolation into the future. Requested time 1609686391.451981000 but the latest data is at time 1609686288.021054000, when looking up transform from frame [velodyne] to frame [world]]
htps : // 코 m/덴덴쇼/있어 ms/959c6d510593546f4020
이것은 잘 할 수 없었다.
rosrun tf static_transform_publisher 0 0 0 0 0 0 map frame 100
프레임/TF 연결 방법
좌표계를 world→map→base_link(차량)→velodyne과 링크시켜 줄 필요가 있다.
좁은 장소나 실내의 맵에서는 Computing > ndt_mapping에서 minimum Scan range를 0.25 등으로 설정
각종 에러에 대해서
아래와 같은 에러가 나올 때가 있었다.
// TF指定がされていない場合
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Lookup would require extrapolation into the past. Requested time 1609378636.168447000 but the earliest data is at time 1609383678.572532467, when looking up transform from frame [velodyne] to frame [world]]
// MapタブのTFが定義されてない場合
Global Status:Error
Fixed Frame [world] does not exist
// Velodyne座標がWorld座標とリンクしていない場合
Points Raw:
Status: Error
For frame [velodyne]: Fixed Frame [world] does not exist
// Velodyne座標がWorld座標とリンクしていない場合
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Could not find a connection between 'world' and 'velodyne' because they are not part of the same tree.Tf has two or more unconnected trees.]
// Minimum_range
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Lookup would require extrapolation into the future. Requested time 1609686391.451981000 but the latest data is at time 1609686288.021054000, when looking up transform from frame [velodyne] to frame [world]]
htps : // 코 m/덴덴쇼/있어 ms/959c6d510593546f4020
이것은 잘 할 수 없었다.
rosrun tf static_transform_publisher 0 0 0 0 0 0 map frame 100
프레임/TF 연결 방법
좌표계를 world→map→base_link(차량)→velodyne과 링크시켜 줄 필요가 있다.
// TF指定がされていない場合
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Lookup would require extrapolation into the past. Requested time 1609378636.168447000 but the earliest data is at time 1609383678.572532467, when looking up transform from frame [velodyne] to frame [world]]
// MapタブのTFが定義されてない場合
Global Status:Error
Fixed Frame [world] does not exist
// Velodyne座標がWorld座標とリンクしていない場合
Points Raw:
Status: Error
For frame [velodyne]: Fixed Frame [world] does not exist
// Velodyne座標がWorld座標とリンクしていない場合
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Could not find a connection between 'world' and 'velodyne' because they are not part of the same tree.Tf has two or more unconnected trees.]
// Minimum_range
For frame [velodyne]: No transform to fixed frame [world]. TF error: [Lookup would require extrapolation into the future. Requested time 1609686391.451981000 but the latest data is at time 1609686288.021054000, when looking up transform from frame [velodyne] to frame [world]]
rosrun tf static_transform_publisher 0 0 0 0 0 0 map frame 100
좌표계를 world→map→base_link(차량)→velodyne과 링크시켜 줄 필요가 있다.
TF 트리를 시각화하고 확인
$ rosrun tf view_frames
이 커맨드를 치는 것으로, 트리 구조도가 PDF 출력되어 알기 쉽다.
결국 완성된 지도
점군이 얇지만,,
Reference
이 문제에 관하여(Autoware/ROS로 지도 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/atsuto/items/f26d63b778a783929ab7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)