Skip to content
Discussion options

You must be logged in to vote

좋은 질문입니다.

우선, __init__은 ros 2 와는 무관한, 파이썬 문법으로 클래스 생성자라고 불리는 함수입니다.
우리가 게임 캐릭터를 생성할 때 초기 능력치나, 이름, 성별 등을 지정하지요? 이와 비슷하게 생성자는 처음 클래스(TwistPubNode)를 통해 인스턴스(twist_pub_node)가 생성될 때 단 한번만 실행되는 함수랍니다.

클래스 생성 이후에도 계속 무언가 하고 싶은데... 싶으시죠? 이런 작업은 timer_callback에서 구현해야 할 것입니다.
더불어 twist_pub_noderclpy.spin()에 전달해주게 되면, rclpy는 twist_pub_node를 계속 주시하면서 주어진 0.2초가 지나갈 때마다 timer_callback 함수를 실행하게 됩니다.

여기서 callback이란, 마치 파블로프의 개처럼 특정한 조건이 만족되면 실행되는 함수를 뜻합니다.

충분한 답변이 되었을지 모르겠는데요. 추가 질문은 또 남겨주세요!

열심히 하시는 모습이 보기 좋습니다. 💪💪

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@minsuLee-kr
Comment options

@kimsooyoung
Comment options

Answer selected by minsuLee-kr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants