티스토리 뷰
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
가끔 안되기도 하지만, 어쨌든 실행하면 화면은 아래와 같다.

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

'ROS' 카테고리의 다른 글
| Ubuntu16.04 ROS Kinetic - 초음파센서(HC-SR04) 4개 연결 실습 (0) | 2021.01.18 |
|---|---|
| Ubuntu16.04 ROS Kinetic - xycar_motor 패키지 (0) | 2021.01.15 |
| /dev/ttyUSB0 권한없음 오류 해결 과정 (삽질) (0) | 2021.01.14 |
| Ubuntu16.04 ROS Kinetic - 통신2) ROS 전송속도 측정 (0) | 2020.12.30 |
| Ubuntu16.04 ROS Kinetic - 통신5) 노드의 순차 실행 (0) | 2020.12.28 |
- Total
- Today
- Yesterday
- subscriber
- Python
- Publisher
- 우분투
- 초음파센서
- 프로그래머스
- 윈도우 복구
- Ubuntu16.04
- 원격 통신
- ROS
- 백준알고리즘
- Ubuntu20.04
- 윈도우
- roslaunch
- Mount
- 리눅스
- HC-SR04
- 아두이노 IDE
- 코드리뷰
- VMware
- vue/cli
- python3
- 8자주행
- sensehat
- VirtualBox
- 포트인식문제
- umount
- set backspace
- filesystem
- C++
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
