목표
myo armband에 장착된 자이로센서로부터 위치정보와 속도, 가속도 정보를 이용해 로보티즈 Openmanipulator-x 구동
참고자료
- 논문 : 전 세 윤, 박 범 용, "근전도센서를 이용한 기반의 산업용 로봇 원격제어", 2020 https://www.koreascience.or.kr/article/JAKO202013562120000.pdf
- 블로그 : 오로카 https://cafe.naver.com/openrt/24070
- 코드 : 깃허브 https://github.com/robotpilot/ros2-seminar-examples
myo코드 : https://github.com/uts-magic-lab/ros_myo
myo to ur3 코: https://github.com/IRaCLab/IRaC_remotecontrolUR/blob/master/RemoteControl_UR3_2to3t.py
개발환경
OS : ubuntu 20.04
SW : ROS2 foxy
HW : myo armband, Openmanipulator-x, PC
현재진행상황
전체적으로는 참고중인 논문(하단에 기재)을 follow up하며 UR3가 아닌 OpenManipulator-x로 적용하려고 하고 있다.
기본적인 데이터 통신을 위한 패키지, 빌드파일, 소스코드작성법 공부이며 (파이썬 활용)
이를 통해서 myo 패키지, Open-Manipulator패키지를 ROS2에 맞게, OpenManipulator에 맞게 수정할 계획이다.
다음 공부 (Objects : 나에게 맞는 데이터 flow 만들기)
서비스, 액션 통신 실습
패키지, 빌드파일 관리
확인해야 할 사항
- 참고논문에서 myo의 어떤 데이터를 가져오는지
- myo에서 어떤 데이터로, UR3 7개 모터 모두를 제어하는지?
- 6 DOF인 UR3에서 4DOF인 OpenManipulator로 바꿀 때, 위의 내용을 바탕으로 어떻게 수정해야하는지
- myo 패키지가 ROS2에서 동작하는지
- Openmanipulator-x ROS2 패키지 있는지
디렉토리 생성과 패키지 생성은 생략하였다. (오로카 블로그 참고 https://cafe.naver.com/openrt/24070)
지난번에는 ROS1환경에서 Moveit을 통해 Openmanipulator를 구동시켜보았었다.
이번에는 myo센서 데이터를 활용해야한다. 데이터간 통신흐름을 만들어 내고 패키지간의 종속성을 만드는 능력이 필요하고 깃허브의 소스코드를 읽고 수정할 수 있어야 한다. 때문에 다시 기초부터, 패키지 관리는 어떻게 하는지, 빌드 관리는 어떻게 하는지부터 공부한다. 노드작성법을 공부하며 필요한 패키지를 수정할 것이다.
이번주에는 ROS2 책을 통해서 기본 내용들을 파악하고 Helloworld 메시지를 publish, subscribe하는 실습을 통해 통신에 필요한 기초구성, 문법을 공부하였다.
package.xml파일을 통해서 패키지의 중요 내용(패키지 이름, 종속 파일들 선언)들을 작성하고
빌드에 필요한 setup.py, setup.cfg를 작성한다.
ROS1과 달리 ROS2에서는 python을 완전히 독립시켜 관리한다. 때문에 python으로 작성시 CMakeList파일이 존재하지 않는다.
파이썬 언어 문법 관련 참고 블로그들
class
https://engineer-mole.tistory.com/190
role of super()
code detail review
https://hostramus.tistory.com/113
about formating
https://blockdmask.tistory.com/424
if __name__ == '__main__':
'기계공학부 시절의 기록 > ROS일기' 카테고리의 다른 글
21/10/05 IRaC Lab 방문 (2) | 2021.10.05 |
---|---|
[진행중]10월 1째주. ROS 진행상황 (0) | 2021.10.01 |
terminator, 구동중인 것들 파악 코드 (0) | 2021.09.17 |
myo_raw데이터를 로봇제어 가능한 데이터로 변환 (0) | 2021.07.30 |
필요 패키지들 (0) | 2021.07.29 |
댓글