이전 내용
bresenham line으로 local occupancy grid를 만들었다. 여기서도 bresenham의 경계가 되는 45'라인에 문제가 있었다. lidar가 미치는 영역 밖으로도 unknown표시하는 부분에서도 어려움이 있었다.
작업 내용
1. rrt 알고리즘을 구현하면서 new_node에서 nan이나 너무 큰 값이 나오기도 했다. (아래는 터미널 로깅 내용) Steering이후 nearset_node와 new_node 사이 장애물을 확인한 다음 No collision으로 new_node의 좌표를 보내준다.
dawgs_nx@dawgs:~/dawgs_f1tenth/labs_f1tenth/lab7$ ros2 run lab7_pkg rrt_node
1749735465.830973 [0] rrt_node: using network interface wlan0 (udp/192.168.0.8) selected arbitrarily from: wlan0, docker0
[INFO] [1749735466.084489151] [RRT]: Created new RRT Object.
[INFO] [1749735466.122454555] [rrt_node]: rrt initialized
[INFO] [1749735466.123270472] [rrt_node]: odom_topic received: 100
[INFO] [1749735466.123429322] [rrt_node]: sampling: 0, (-0.49, 0.93)
[INFO] [1749735466.123640013] [rrt_node]: Check collision size: 23
[INFO] [1749735466.305715654] [rrt_node]: sampling: 1, (0.65, 1.33)
[INFO] [1749735469.824420821] [rrt_node]: No collision: (nan, nan)
[INFO] [1749735469.836986643] [rrt_node]: odom_topic received: 100
[INFO] [1749735470.256181121] [rrt_node]: sampling: 1, (0.25, -0.42)
[INFO] [1749735473.524945691] [rrt_node]: No collision: (-1.28, -0.20)
[INFO] [1749735479.137131443] [rrt_node]: Too small steer dist: (2.04, -1.70) -> (2.04, -1.70)
[INFO] [1749735480.926329743] [rrt_node]: No collision: (1.41, 1459396304482002481214975241147297479143278610165727801780021157082148657072061788506157206218934533540501500110153386426776406706463459161063803467473257720521954413585552677593199874685762717842669568.00)
2. Sampling을 잘하고 있는지 rviz로 확인하려던 차에 steering 함수에 문제가 있는 것을 발견했다.(위 내용) 그러면서 rviz에도 node를 표시할 수 없었다. Node실행순서를 안맞춰서 그런건지 steering함수 문제로 rviz가 죽은 것인지 확인해봐야 한다.
[rviz2-1] rviz2: /tmp/binarydeb/ros-foxy-rviz-ogre-vendor-8.2.8/.obj-aarch64-linux-gnu/ogre-v1.12.1-prefix/src/ogre-v1.12.1/OgreMain/include/OgreAxisAlignedBox.h:225: void Ogre::AxisAlignedBox::setExtents(const Vector3&, const Vector3&): Assertion `(min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"' failed.
[ERROR] [rviz2-1]: process has died [pid 15670, exit code -6, cmd '/opt/ros/foxy/lib/rviz2/rviz2 -d /home/dawgs_nx/dawgs_f1tenth/sim_ws/install/f1tenth_gym_ros/share/f1tenth_gym_ros/launch/particle_bridge_v4.rviz --ros-args -r __node:=rviz'].
3. MarkerArray를 표현하는 함수를 만들었지만 steering이 문제인지 visualization함수의 문제인지 모르게 rviz를 표현할 수 없었다. (위 로깅)
잘했던 부분
1. 문제를 해결하지는 못했지만. 전체적인 문제점을 발견했다.
아쉬웠던 부분
1. bresenham에서 항상 양의 방향으로 occupancy를 업데이트하는 점을 수정해야겠다.
참고자료
'작업 일지 > F1Tenth' 카테고리의 다른 글
| [작업 일지] f1tenth - rrt path 만들기 (0) | 2025.06.18 |
|---|---|
| [작업 일지] f1tenth - rrt sampling (3) | 2025.06.13 |
| [작업 일지] f1tenth - mapping.cartographer (0) | 2025.04.20 |
| [작업 일지] f1tenth lab5.SLAM and pure pursuit (0) | 2025.03.01 |
| [작업 일지] f1tenth lab5.SLAM and pure pursuit (0) | 2025.02.06 |