Manipulator-x keyboard teleop 멈춤 현상

  • Ubuntu 20.04
  • ROS Noetic
  • OpenMANIPULATOR-X (default settings)
  • U2D2 (port latency 1ms)
  • 인텔 NUC7CJYHN RAM 8GB SSD 128GB 미니PC

안녕하세요. 이번에 Manipulator-x 구입하여 매뉴얼 따라하며 ROS 공부중인 초보입니다… 혼자서 서칭하여 해결해보려고 했으나 문제 해결에 진척이 없어 도움을 요청드립니다.

keyboard teleop 예제 진행중 문제가 발생하여 문의드립니다. 증상은 간헐적인 키보드 조작시 로봇 조그동작에 문제가 없는데 연속적으로 키보드 입력시 로봇 컨트롤러 프로그램이 뻗어버리는 현상입니다. 컨트롤러 프로그램을 재시작하면 기능이 재개됨을 확인했습니다.

2021년부터 포럼에서 동일 증상을 문의하신 분들이 몇분 계셨으나 아직까지 답변을 받지 못하신걸로 확인하여 관련 내용을 고객센터에 두번 유선상으로 문의하였으나 금방 회신을 주신다고 말만하시고 줄곧 연락이 없으셔서 포럼에 재문의 드립니다.

해당기능에 문제가 없거나 버그를 해결하는 방법을 찾으신분이 계실까요?

또는 해당문제가 기술적으로 해결이 불가능한 상황인지 버그 픽스가 진행중인지 진행상황을 알고 계신 분이 있으시면 공유를 부탁드립니다. 감사합니다.

매뉴얼

로보티즈 기술포럼(구)

github

대응에 늦은점 죄송합니다. 현재 해당 이슈에대해 확인하였고 문제 재현 확인하였습니다. 현재 관련 버그 분석중이며 평일 3일 이내로 재답변드리겠습니다.

해당 문제에 대해 디버깅 및 조치를 완료했습니다. 문제의 원인은 키보드 입력이 연속적으로 발생할 때, 로봇이 이전 동작을 완료하기 전에 새로운 명령이 입력되면서 로봇 컨트롤러가 멈추는 현상이 발생한 것이었습니다.

조치 사항:

open_manipulator_controller.cpp 파일에서 open_manipulator_.getMovingState() 메서드를 활용하여, 로봇이 움직이는 동안 추가 명령을 무시하도록 수정했습니다. 이를 통해 동작 중에는 새로운 명령이 실행되지 않도록 제어하여 연속적인 입력에서도 로봇이 정상적으로 작동하게 했습니다.

해당 수정 사항은 develop 브랜치에서 진행되었습니다. 아래 명령으로 수정된 파일을 받을 수 있습니다:

git clone -b develop https://github.com/ROBOTIS-GIT/open_manipulator.git

이 조치로 연속적인 키 입력 시에도 로봇이 원활하게 동작하며, 프로그램 멈춤 현상이 해결되었습니다. 추가로 문제가 발생할 경우 언제든지 문의해 주세요.

2 Likes