카테고리 없음

6. ROS 기초 프로그래밍 - ROS TOPIC 활용

흑요석s 2023. 4. 11. 13:48

 

 

roscore

rosrunt basics topic_publisher.py

rosrunt basics topic_subscriber.py 에 더하여

 

 

rosrun turtlesim turtlesim_node

를 실행 하였을때의 rqt_graph

 

 

==> turtle1/cms_vel 에서 turtlesim으로 토픽을 준다

tutlesim이 color_sensor와 pose라는 곳으로 토픽을 보낸다

 

 

 

rostopic info /turtle1/cmd_vel

 

받는것은 없고(publisher가 없고)

tutlesim에게 보내주고 있음.

 

이에, puplishers를 추가해줄 수 있음.

 

 rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 1.0
  y: 0.0
  z: 0.0
angular: 
  x: 0.0
  y: 0.0
  z: 0.0" 

 

로 토픽을 한번 보내어 움직이게 할 수 있다.(angular는 라디안 값)

 

=> 거북이가 x축 +1 만큼 움직인 모습

 

 

 

pub 이 어떤 명령어들 가지고 있는가? => rostopic pub -h

 

 

-r을 이용하여 일정시간마다 토픽을 보낼 수 있다.

simplescreenrecorder-2023-04-08_20.58.48.mp4
0.03MB

 rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 1.0
  y: 0.0
  z: 0.0
angular: 
  x: 0.0
  y: 0.0
  z: 0.0"  -r 10

 

10은 10hz 즉, 0.1 초마다 보낸다는 뜻

 

갈수 없는 지역(벽)을 만나면 경고를 보이는 모습

 

 

linear과 angular를 적당히 조정하면 일정하게 돌아가는 것을 볼수 있다.

 

현재 tutle1이 받는 토픽을 수치로 보려면

rostopic echo /turtle1/cmd_vel 입력