Openmanipulator-x Gazebo와 moveit 연동 먹통현상

안녕하세요. 로보틱스에 입문한 학생입니다. 다름이 아니라 “roslaunch moveit_setup_assistant setup_assistant.launch” 해당 명령어를 통해 moveit demo.launch파일을 만들고 이를 통해 gazebo와 연동시키려 했습니다. 하지만 demo.launch파일을 실행시켜서 moveit.rivz로 moveit 시뮬레이션상의 매니퓰레이터를 컨트롤 할 수는 있지만 gazebo상의 매니퓰레이터는 moveit의 움직임을 따라하지는 않고 가만히 있습니다…제가 어떤점을 놓치고 있는걸까요? 현재 우분투 20.04를 사용중이고 noetic로 설치하였습니다
Screenshot from 2023-10-09 17-08-55

안녕하세요.

MoveIt와 Gazebo의 연동 문제를 해결하기 위해 몇 가지 확인해야 할 사항이 있습니다.
아래의 단계를 따라서 확인해보세요.

  1. 로봇 모델 및 URDF 파일:
  • 먼저, 로봇 모델과 URDF 파일이 올바르게 설정되어 있는지 확인하세요. URDF 파일은 로봇의 링크, 조인트 및 다른 시뮬레이션과 제어 정보를 정의합니다. MoveIt 및 Gazebo가 이러한 정보를 정확하게 인식해야 합니다.
  1. launch 파일 확인:
  • moveit_setup_assistant.launch로 생성된 demo.launch 파일을 확인하여 URDF 파일 경로 및 관련 설정이 올바른지 확인하세요. MoveIt와 Gazebo가 같은 로봇 모델을 사용하도록 설정되어야 합니다.
  1. TF (Transform) 확인:
  • MoveIt와 Gazebo 간의 변환 정보가 올바른지 확인하세요. TF 트리 (ROS의 Transform Library)를 통해 로봇 모델의 위치 및 자세를 Gazebo에서 제공받아야 합니다. tf 명령어를 사용하여 TF 트리를 확인할 수 있습니다.
  1. Controller Configuration:
  • MoveIt 및 Gazebo에서 사용하는 컨트롤러 설정이 맞는지 확인하세요. 로봇 암을 제어하기 위한 Gazebo 컨트롤러와 MoveIt 컨트롤러가 일치해야 합니다.
  1. 시뮬레이션 상의 로봇 시작 위치:
  • 로봇 암이 Gazebo에서 시작 위치에 있어야 합니다. MoveIt가 로봇을 올바르게 감지하려면 Gazebo에서 로봇 모델의 초기 위치를 설정해야 합니다.
  1. 시뮬레이션 시간 동기화:
  • ROS 시뮬레이션에서는 시간 동기화가 중요할 수 있습니다. use_sim_time 매개변수를 설정하여 시뮬레이션 시간을 사용하도록 설정해야 할 수 있습니다.
  1. Gazebo Plugins:
  • Gazebo 시뮬레이션에서는 로봇 링크에 대한 Gazebo 플러그인이 필요할 수 있습니다. URDF 파일에 관련 플러그인을 추가하고 링크/조인트 정보를 확인하세요.

문제를 해결하려면 위의 단계들을 하나씩 따라가면서 설정 및 연결 오류를 찾아보세요. 또한, MoveIt와 Gazebo에서 발생하는 로그 및 오류 메시지를 검사하여 문제의 원인을 파악할 수 있을 것입니다.