티스토리 뷰

0. 사전작업: 초음파센서 - 아두이노 - PC연결

아래 글에서 1, 3번 과정을 진행하면 된다.

2021/01/13 - [프로그래머스 자율주행스쿨] - Ubuntu16.04 - 아두이노 나노 - 초음파센서(HC-SR04) 실습

 

Ubuntu16.04 - 아두이노 나노 - 초음파센서(HC-SR04) 실습

1. 아두이노 PC에 연결 아두이노를 USB케이블로 연결한다. PC에서 아두이노 연결 확인 -> 'HL-340 USB 어쩌구' 확인 lsusb USB를 꽂고 위에 Virtual Machine으로 연결했는데도 lsusb명령어를 실행했을 때 'HL-3..

donie.tistory.com

 

1. ultrasonic 패키지

패키지 생성

catkin_create_pkg ultrasonic std_msgs rospy

launch 폴더 생성

빌드

cm

 

2. 실행파일

src폴더에 ultrasonic_pub.py

#!/usr/bin/env python

import serial, time, rospy
from std_msgs.msg import Int32

ser_front = serial.Serial(
	port='/dev/ttyUSB0',
	baudrate=9600,
	)

def read_sensor():
	serial_data = ser_front.readline()
	ser_front.flushInput()
	ser_front.flushOutput()
	ultrasonic_data = int(filter(str.isdigit, serial_data))
	msg.data = ultrasonic_data

if __name__ == '__main__':
	rospy.init_node('ultrasonic_pub', anonymous=False)
	pub = rospy.Publisher('ultrasonic', Int32, queue_size=1)
	
	msg = Int32()
	while not rospy.is_shutdown():
		read_sensor()
		pub.publish(msg)
		time.sleep(0.2)
	
	ser_front.close()

 

ultrasonic_sub.py

#!/usr/bin/env python

import rospy
from std_msgs.msg import Int32

def callback(msg):
	print(msg.data)

rospy.init_node('ultrasonic_sub')
sub = rospy.Subscriber('ultrasonic', Int32, callback)

rospy.spin()

 

3. launch파일

launch 폴더에 ultra.launch파일

<launch>
	<node pkg="ultrasonic" type="ultrasonic_pub.py" name="ultrasonic_pub"/>
	<node pkg="ultrasonic" type="ultrasonic_sub.py" name="ultrasonic_sub" output="screen"/>
</launch>

 

4. 빌드 및 실행

cm
roslaunch ultrasonic ultra.launch

실행이 안되는 오류가 있었다. 해결과정은 아래 글 참고.

2021/01/14 - [ROS] - /dev/ttyUSB0 권한없음 오류 해결 과정 (삽질)

 

/dev/ttyUSB0 권한없음 오류 해결 과정 (삽질)

1. [Errno 13] Permission denied: '/dev/ttyUSB0' sudo chmod a+rw /dev/ttyUSB0 터미널에서 위 명령어 실행하여 해결 참고: sudomod.com/forum/viewtopic.php?t=6075 [SOLVED] arduino [Errno 13] Permissi..

donie.tistory.com

가끔 안되기도 하지만, 어쨌든 실행하면 화면은 아래와 같다.

초음파센서에 손을 가까이 대면 아래와 같이 거리가 측정되는 것을 확인할 수 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
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
글 보관함