티스토리 뷰
1. launch 파일 작성
~/xycar_ws/src/my_pkg1/launch에서 pub-sub-param.launch 파일을 아래와 같이 작성한다.
<launch>
<node pkg="turtlesim" type="turtlesim_node" name="turtlesim_node"/>
<node pkg="my_pkg1" type="pub_param.py" name="node_param">
<param name="circle_size" value="2"/>
</node>
<node pkg="my_pkg1" type="sub.py" name="sub_node" output="screen"/>
</launch>
2. publish 노드 작성
기존 pub.py 파일을 복사하여 pub_param.py를 작성하였다.
원래 실행권한이 있는 파일이었기 때문에 따로 chmod를 해주지 않아도 실행이 가능하다.
여기서 수정을 할 때 visual block mode를 사용하였다. (참고 : 2020/12/10 - [프로그래머스 자율주행스쿨] - TIL 20.12.09 - vim editor )
기존은 그냥 main단에서 실행했던 부분을 함수로 만들기 위해 tab키를 여러 줄에 적용하고 싶었는데,
tab키 시작행에서 <CTRL-V>누른 후 tab키 끝행으로 화살표키를 이용해 이동, I<tab><esc><esc>를 입력하니 시작행~끝행까지 전부 앞에 tab이 입력되었다.
#!/usr/bin/env python
import rospy
from geometry_msgs.msg import Twist
def move():
rospy.init_node('my_node', anonymous=True)
pub = rospy.Publisher('/turtle1/cmd_vel', Twist, queue_size=10)
msg = Twist()
#msg.linear.x = 2.0
linear_X = rospy.get_param('~circle_size')
msg.linear.x = linear_X
msg.linear.y = 0.0
msg.linear.z = 0.0
msg.angular.x = 0.0
msg.angular.y = 0.0
msg.angular.z = 1.8
rate = rospy.Rate(1)
while not rospy.is_shutdown():
pub.publish(msg)
if __name__ == '__main__':
try:
move()
except rospy.ROSInterruptException:
pass
그리고 vi에디터의 tab간격이 너무 넓어서 ~/.vimrc에서 탭간격을 4로 수정하였다.
set ts=4
3. roslaunch 실행
roslaunch my_pkg1 pub-sub-param.launch
결과는 아래와 같다.

roslaunch파일에서 param태그의 value값을 5로 수정하여 실행한 결과는 다음과 같다.

'ROS' 카테고리의 다른 글
| Ubuntu16.04 ROS Kinetic - 1:1 노드 통신 (0) | 2020.12.23 |
|---|---|
| Ubuntu16.04 ROS Kinetic - 터틀심 8자 주행 시키기 (0) | 2020.12.23 |
| Ubuntu16.04 ROS Kinetic - roslaunch 생성 및 실습 (0) | 2020.12.22 |
| Ubuntu16.04 ROS Kinetic - subscriber python파일 작성 및 실행 (0) | 2020.12.22 |
| Ubuntu16.04 ROS Kinetic - publisher python파일 작성 및 실행 (0) | 2020.12.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- python3
- Mount
- 초음파센서
- Python
- 백준알고리즘
- 원격 통신
- ROS
- VirtualBox
- sensehat
- set backspace
- subscriber
- 윈도우 복구
- roslaunch
- Ubuntu20.04
- vue/cli
- filesystem
- 리눅스
- HC-SR04
- Ubuntu16.04
- 아두이노 IDE
- 프로그래머스
- C++
- 우분투
- umount
- VMware
- 포트인식문제
- 코드리뷰
- 윈도우
- 8자주행
- Publisher
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함
