ROS2 Foxy Fitzroy
패키지 노드(publisher) 만들기
1) ~/robot_ws/src/test1234/setup.py 확인
- 위의 경로 파일 재확인
- 내용을 모른다면 다시 1편으로
- hostramus.tistory.com/112\
2) 빌드
cd ~/robot_ws
colcon build --symlink-install
- 패키지를 생성했으니 빌드
- 패키지 생성 꼭 빌드 해야 사용이 가능
- --symlink-install
- 옵션 사항
- 빌드 후 파이썬 파일 수정을 해도 재빌드가 필요 없음
- 같은 파일 내에 수정일때 적용
- 빌드시 관련 파일(파이썬 등)을 링크로 연결하기에 쉽게 수정이 가능
- 결론.. 쓰면 편함
3) 노드 환경설정
. ~/robot_ws/install/local_setup.bash
#또는
source ~/robot_ws/install/local_setup.bash
- 노드 환경설정
- 그냥 한번 입력하면 별 반응도 없이 끝
- 출력되는 메세지조차 없음
4) 노드 실행
ros2 run test1234 hello_pub
- publisher 실행
- [INFO]: Published message: Hello World: 1
- 위와같이 1초에 하나씩 출력
- [INFO]: Published message: Hello World: 1
ros2 run test1234 hello_sub
- subscriber 실행
- [INFO]: Received message: Hello World: 1
- 위와 같은 형식으로 출력
- 메세지가 날아올때만 출력
- [INFO]: Received message: Hello World: 1
위와 같이 실행되면 완료
5) 문제 해결
- ros2 run test1234 hello_sub를 실행시켰으나 무반응
- 1번 setup.py의 entry points 내용 확인
- publisher와 subscriber의 파이썬 파일 확인
- 토픽명이 일치하는지 확인
- 코드의 오타 확인
- hello_suv등의 패키지를 찾지 못함 (탭을 눌렀으나 자동완성이 안되는 경우)
- source ~/robot_ws/install/local_setup.bash 실행한 후 확인
아래 출처의 내용을 수정 변경하였습니다.
개인적 공부를 위해 올린 글로 공부하실분은 아래 링크의 글을 참고하시기 바랍니다.
출처 : 오로카 카페 (cafe.naver.com/openrt/24450)
'ROS2' 카테고리의 다른 글
ROS2 <토픽> 2개의 정수를 퍼블리시하기 (int multiarray) (0) | 2021.05.22 |
---|---|
ROS2 패키지 만들기 - 3 (노드 생성 - subscribe) (0) | 2021.04.21 |
ROS2 패키지 만들기 - 2 (노드 생성 - publisher) (0) | 2021.04.21 |
ROS2 패키지 만들기 - 1 (패키지 생성) (0) | 2021.04.20 |