ultrasonic sensor
8967 ワード
1.アドゥーエノ設定
無人機IDE:https://www.arduino.cc/en/softwareのインストール
超音波センサをアドゥイノに接続する
ツールにボード/プロセッサ/ポートを設定する
アドゥイノファイルのコンパイルとアップロード
2.ROS上でのシリアル通信
1.ポート権限の取得
sudo usermod -a -G dialout <username>
2.リリーステーマ
#!/usr/bin/env python
import serial, time, rospy, re
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) # initialize node
pub = rospy.Publisher('ultrasonic', Int32, queue_size=1)
msg = Int32() # message type
while not rospy.is_shutdown():
read_sensor()
pub.publish(msg) # publish a message
time.sleep(0.2)
ser_front.close() # 포트는 꼭 닫자
3.話題購読
#!/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()
4.起動ファイル
<launch>
<node pkg="ultrasonic" type="ultrasonic_pub.py" name="ultrasonic_pub"/>
<node pkg="ultrasonic" type="ultrasonic_sub.py" name="ultrasonic_sub" output="screen"/>
</launch>
5.結果
Reference
この問題について(ultrasonic sensor), 我々は、より多くの情報をここで見つけました https://velog.io/@legendre13/ultrasonic-sensorテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol