본문 바로가기

Project/KUSMO

[KUSMO] 7/31 ~8/1

728x90
  • Navigation 진행 중 여러 Error 발생

 

1. Sensor Port Open Error

  • Lidar, IMU의 Port가 가끔씩 열리지 않는 문제
  • 센서를 뽑았다 꼽으면 해결 됨 (항상 해결되진 않음)

 

2. Control Loop Error

  • Control / Map update Loop가 의도한 주기대로 되지 않는 문제

 

 

3. Timestamp Synchronize Error

  • Odometry와 IMU의 Timestamp가 1초 이상 차이나는 문제 발생
  • Timestamps of odometry and imu are x seconds apart
    • Sensor의 Timestapm가 1초 이상 차이날 때 발생하는 Error
    • 일치되지 않은 두 Host들의 Clock이 같은 ROS Core에 연결되거나 Message가 높은 System Load로 인해 Delay된 경우 발생
  • Filter time older than xxx message buffer
    • 두 Sensor의 입력의 Timestamp가 일치하지 않을 때 발생하는 Error
    • 모든 Sensor의 입력은 Messgae Buffer에 10초동안 저장됨
    • 두 Sensor의 입력이 10초이상 차이나면 Message Buffer에서 Data가 사라지며 해당 Error 발생
  • message_filters Package로 해결 가능?
  • 현재 IMU Node는 Jetson Nano에서, Odom Publish Node는 Remote PC에서 실행시키고 둘은 SSH로 연결되어있는데, Network Delay나 두 장치간의 통신 Latency가 생겨 위 Error의 원인이 될 수 있음
    • ROS Time(ros::Time)을 사용하여 해결 가능
    • Node를 launch할 때 use_sim_time Parameter를 true로 설정

 

- 해결 방안

odom_data_pub_quat = node.advertise<nav_msgs::Odometry>("odom_data_quat", 1);
ros::Rate loop_rate(30);   

ros::Publisher imu_data_pub = nh.advertise<sensor_msgs::Imu>("imu/data", 1);
ros::Rate loop_rate(100);
  • imu data와 odometry의 publishing rate가 달라 이를 100으로 통일시켰으나 Rviz상에서 로봇이 현실에서 움직이는 것보다 훨씬 빨리 움직이는 문제 발생
  • Navigation System은 Odometry 정보에 의존하여 로봇의 위치와 속도를 추종하는데, Odometry의 Publishing Rate를 증가시키면 System이 더 빠른 속도를 인식하게 됨

 

// Scale down the cycleDistance and cycleAngle by a factor to match the update rate
double updateRateFactor = 30.0 / 100.0;     // Scale factor for 30 Hz update rate 
cycleDistance *= updateRateFactor;
cycleAngle *= updateRateFactor;
  • Odometry Velocity가 Motion Update에 쓰이기 전 기존의 주파수를 현재 주파수로 나누고, 나눈 값을 통해 Velocity값을 낮춤

 

 

 

4. Could not get robot pose / local plan

  • robot pose와 local plan을 받지 못하는 문제

 

5.

 

 

6. Invalid Trajectory, Rotation cmd in collision

 

 

7. 주행 간 문제

  • 회전 후 Map 깨짐 현상(회전시키면 자세가 달라짐) + Particle 수렴 속도가 느림

  • 직선으로 쭉 갔다오면 위치가 다름
    • Encoder 값 문제로 추정

 

  • 장애물에 붙어서 감

 

  • acc_x_lim을 크게 올렸을 때 생기는 경고문

 

  • Local Planner가 Global Plan을 따르지 않고 장애물에 부딪힘

 

  • Local Plan이 너무 장애물에 붙여서 생김
    • goal_distance_bias를 기존의 24에서 60으로 올려 해결

 

  • 장애물 근처에 있을 때 회전할 수 없다는 경고

 

 

 

 


참고 자료 :

http://wiki.ros.org/robot_pose_ekf/Troubleshooting

 

robot_pose_ekf/Troubleshooting - ROS Wiki

Understanding log messages Errors when using package Timestamps of odometry and imu are x seconds apart This error occurs when the timestamps of the sensor messages that are received differ more than 1 second. This is probably an indication of timing issue

wiki.ros.org

 

'Project > KUSMO' 카테고리의 다른 글

[KUSMO] 8/21  (0) 2023.08.22
[KUSMO] 8/14~15, 18  (0) 2023.08.15
[KUSMO] 7/24  (0) 2023.07.24
[KUSMO] 7/21  (0) 2023.07.24
[KUSMO] 6/27  (0) 2023.06.27