본문 바로가기
정나우/ROS

[에러해결] start point deviates from current robot state more than 0.01 joint

by 정_나우 2022. 7. 25.

https://search.shopping.naver.com/book/catalog/32497854655?NaPm=ct%3Dl60g6qdc%7Cci%3Dfdb0a3977cc9e8fb38c42b9c656eecc64161746f%7Ctr%3Dboksl%7Csn%3D95694%7Chk%3D21c30b3f263172de905794e44c884cc5b2e69686 

 

ROS 로봇 프로그래밍 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

이 책을 보고 MoveIt!을 통해 매니퓰레이션을 만드는 과정 중 industrial_trajectory_filter를 적용하다가

start point deviates from current robot state more than 0.01 joint

Plan&Execute 부분에서 다음과 같은 오류가 발생했다.


해결 방법은 launch/ompl_planning_pipeline.launch.xml 파일의 planning_adapter 부분에서 

default_planner_request_adapters/AddTimeParameterization

를 추가하는 것이다. 

 

그럼

  <!-- The request adapters (plugins) used when planning with OMPL.
       ORDER MATTERS -->
  <arg name="planning_adapters" value="default_planner_request_adapters/AddTimeParameterization
  				industrial_trajectory_filters/UniformSampleFilter
  				industrial_trajectory_filters/AddsmoothingFilter
                default_planner_request_adapters/AddTimeParameterization
  				default_planner_request_adapters/FixWorkspaceBounds
  				default_planner_request_adapters/FixStartStateBounds
  				default_planner_request_adapters/FixStartStateCollision
  				default_planner_request_adapters/FixStartStatePathConstraints" />

다음과 같이 된다. 강의에서는 위에 두개만 추가하라고 되어있는데 나는 저 코드가 default로 추가되어 있지 않아 발생한 오류인 것 같다.


그래서 industrial_trajectory_filter를 적용하면 어떤 차이가 있을까

기존 방식을 보면 매니퓰레이션의 움직임이 일정한 속도로 이동하는데 이렇게 되면 급출발 급정거로 모터에 많은 힘이 들어가게 된다.

 

여기에 industrial_trajectory_filter를 적용하게 되면

출발하고 도착할 때 속도를 서서히 올리거나 줄이고 있다.

이렇게 하면 모터에 부담이 덜 가해지기 때문에 좀 더 현실에서 사용하는 데에 적합하다.

 

아마 예전에 로봇공학 수업 때 배운 사다리꼴 속도 프로파일이 이게 아닌가 싶다.

 

댓글