9월 4째주. ROS 진행상황

9월 4째주. ROS 진행상황

목표

myo armband에 장착된 자이로센서로부터 위치정보와 속도, 가속도 정보를 이용해 로보티즈 Openmanipulator-x 구동

개발환경

OS : ubuntu 20.04

SW : ROS2 foxy

HW : myo armband, Openmanipulator-x, PC

참고자료

오로카 https://cafe.naver.com/openrt/24070

깃허브 https://github.com/robotpilot/ros2-seminar-examples

현재진행상황

기본적인 데이터 통신을 위한 패키지, 빌드파일, 소스코드작성법 공부 (파이썬으로 진행중)

이를 통해서 myo 패키지, Open-Manipulator패키지를 ROS2에 맞게, OpenManipulator에 맞게 수정해야 함.

또, 패키지들간의 종속성을 위한 패키지파일, 빌드파일을 만들어야함.

다음 공부

서비스, 액션 통신 실습

패키지, 빌드파일 관리

확인해야 할 사항

1. myo 패키지가 ROS2에서 동작하는지

2. 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파일이 존재하지 않는다.

package.xml 작성 setup.py 작성 setup.cfg 작성 pub, sub 노드 소스코드 작성 각 노드 실행

파이썬 언어 문법 관련 참고 블로그들

class

https://engineer-mole.tistory.com/190

role of super()

https://velog.io/@gwkoo/%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%83%81%EC%86%8D-%EB%B0%8F-super-%ED%95%A8%EC%88%98%EC%9D%98-%EC%97%AD%ED%95%A0

code detail review

https://hostramus.tistory.com/113

about formating

https://blockdmask.tistory.com/424

if __name__ == '__main__':

https://medium.com/@chullino/if-name-main-%EC%9D%80-%EC%99%9C-%ED%95%84%EC%9A%94%ED%95%A0%EA%B9%8C-bc48cba7f720

728x90

반응형

from http://needs-searcher.tistory.com/171 by ccl(A) rewrite - 2021-09-30 19:26:26