이 책을 보고 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를 적용하게 되면
출발하고 도착할 때 속도를 서서히 올리거나 줄이고 있다.
이렇게 하면 모터에 부담이 덜 가해지기 때문에 좀 더 현실에서 사용하는 데에 적합하다.
아마 예전에 로봇공학 수업 때 배운 사다리꼴 속도 프로파일이 이게 아닌가 싶다.
'정나우 > ROS' 카테고리의 다른 글
[오류해결] ModuleNotFoundError: No module named 'defusedxml' (1) | 2022.09.19 |
---|---|
MoveIt!을 이용한 2-axis Prismatic joint Gazebo에서 구현하기 (0) | 2022.08.04 |
Gazebo에 stl 파일 모델 불러오기 (2) | 2022.07.22 |
무브잇으로 만든 매니퓰레이터에 뎁스카메라 설치하기 (0) | 2022.07.20 |
MoveIt으로 만든 매니퓰레이터 Gazebo와 연동하기 (0) | 2022.07.19 |
댓글