2d nav goal

2d nav goal을 사용하면 경로 생성과 경로 주행이 동시에 되는데 경로 생성만 하고 주행은 컨트롤러로 하고 싶습니다. 혹시 가능할까요…?

Navigation의 AMCL이라는 노드에서 최종적으로 CMD_VEL 명령을 드라이버 노드(R1mini bringup)에 전달하게 됩니다.
아래 그림의 우측처럼 중간에 CMD_VEL 명령어를 우회하는 브로커 노드를 만들고 여기에서 사용자 정의된 Controller에서 전달받아서 드라이버에 전달하면 됩니다.
단, AMCL에서 Publish 하는 CMD_VEL 명령의 경로(Path)를 변경해주어야겠죠?
image

r1 mini가 아닌 r1을 이용하여 위의 과정을 수행하려고 합니다. 말씀하신 amcl 노드를 가지고 있는 /omo_r1/omo_r1_navigation/launch/amcl.launch 파일에는 cmd_vel과 관련된 내용은 보이지 않습니다.

아 move_base를 잘못 설명하였군요.
omo_r1_navigation/launch/move_base.launch 파일을 보시면 아래와 같은 부분이 있습니다. 이 토픽을 변경하시면 됩니다.

<arg name="cmd_vel_topic" default="/cmd_vel" />

답변 감사합니다.
teleop의 cmd_vel을 받도록 수정하였고 nav goal을 사용하여 도착지 설정 후 경로 생성만 되는 것을 확인하였습니다.
그런데 teleop으로 주행을 시작하기 전에는 local pathplanning이 발생하는 것으로 보이는데 주행을 시작한 이후로는 경로가 고정되어 있습니다.
원래 그런건가요…?(gazebo 상에서는 teleop으로 주행 중에도 local path planning이 발생하였습니다.)

영상 확인을 원하시면 메일로 보내겠습니다.

영상을 kyuhyong@omorobot.com 으로 보내주시면 확인해보겠습니다.
그런데 저도 그런 방법으로는 구동해본적이 없어서 한번 시도해봐야겠네요.
어쩌면 amcl에서도 cmd_vel이 업데이트 되어야할수도 있습니다.

amcl에 cmd_vel을 추가하니 local pathplanning도 수행하는 것을 확인하였습니다. 감사합니다 :slight_smile:

1개의 좋아요