OMOROBOT/Tuning Parameters

[ros2] navigation 시 모바일 로봇 초기 위치 설정하기

mle21 2023. 11. 24. 06:00
반응형

omorobot의 ros2 패키지를 사용하여 navigation을 하려고 rviz 화면을 띄우면 map 화면이 나타난다. 그런데 Global Status: Error이 떠 있다. 모바일 로봇 초기 위치가 설정되어 있지 않아서 나타나는 에러이다. 오늘은 navigation 시 초기 위치 설정하는 방법에 대해서 알아보자.


1. omorobot ros2 패키지 중 navigation 패키지로 이동

 

2. navigation 패키지 안의 param 폴더 내 *.yaml 파일 수정 (ex. omo_r1mini-foxy > omo_r1mini.yaml)

amcl:
  ros__parameters:
    use_sim_time: False
    alpha1: 0.2
    alpha2: 0.2
    alpha3: 0.2
    alpha4: 0.2
    alpha5: 0.2
    base_frame_id: "base_footprint"
    beam_skip_distance: 0.5
    beam_skip_error_threshold: 0.9
    beam_skip_threshold: 0.3
    do_beamskip: false
    global_frame_id: "map"
    lambda_short: 0.1
    laser_likelihood_max_dist: 2.0
    laser_max_range: 10.0
    laser_min_range: 0.12
    laser_model_type: "likelihood_field"
    max_beams: 60
    max_particles: 2000
    min_particles: 500
    odom_frame_id: "odom"
    pf_err: 0.05
    pf_z: 0.99
    recovery_alpha_fast: 0.0
    recovery_alpha_slow: 0.0
    resample_interval: 1
    robot_model_type: "differential"
    save_pose_rate: 0.5
    sigma_hit: 0.2
    tf_broadcast: true
    transform_tolerance: 1.0
    update_min_a: 0.2
    update_min_d: 0.25
    z_hit: 0.5
    z_max: 0.05
    z_rand: 0.5
    z_short: 0.05
    
    # 아래 내용 추가
    set_initial_pose: true
    initial_pose:
      x: 0.0
      y: 0.0
      z: 0.0
      yaw: 0.0

 

3. workspace 새로 build 및 실행


반응형

@ 상기 *.yaml 파일 제일 아래부분에 추가한 사항에서 보는 바와 같이 초기 위치가 다 0.0이므로 map 상의 모바일 플랫폼의 실제 위치를 2D Pose Estimate 버튼을 눌러서 새로 잡아줘야 한다.


728x90