Β λ νλ ?
β’
YOLO
β¦
κΈ°μ‘΄ λͺ¨λνν YOLO μ€ν μμ λ€λ₯Έ μμ
μ ν μ μλ λ¬Έμ μ λ°κ²¬
βͺ
rosλ‘ μ°λμμΌμ /det2main ν ν½μΌλ‘ mainμ emg_stop, stop_rate λκ°μ§ msg λκΉ
βͺ
rosrun detection detct.py
β’
/per2main μμ Nonetype μλ¬κ° λ¨λ νμ
β¦
per κ³Ό mainμ λκΈ°ν λ¬Έμ λ‘ μΈν΄ perμμ pubμ μνλλ° mainμμ subν΄μ μκΈ΄ λ¬Έμ
βͺ
Nonetype μ μμΈμ²λ¦¬λ‘ ν΄κ²°
Β λ λ¨μλ ?
β’
IMU system κ³Ό LiDar μμ€ν
μ μ’νκ³ μΌμΉ
β¦
ROS μ TF λ‘ ν΄κ²°μ΄ κ°λ₯ ν κ²μΌλ‘ νλ¨ μ€.
#!/usr/bin/env python3
import serial
import rospy
from math import sin,cos
import time
# import tf
from geometry_msgs.msg import TransformStamped
def get_imu():
ser = serial.Serial(port='/dev/ttyUSB0', baudrate=912600)
line = ser.readline()
print(line)
words = line.decode('utf-8').split(",")
data_index = 1
roll = float(words[data_index])
pitch = float(words[data_index + 1])
now_sec=time.time()
yaw = float(words[data_index + 2])
pre_sec=0
pre_yaw=yaw
yaw_angular=(yaw-pre_yaw)/(now_sec-pre_sec)
print("roll : ",int(roll))
print("pitch :", int(pitch))
print("yaw rate :",int(yaw))
print("yaw angular velocity :",int(yaw_angular))
pre_sec=now_sec
pre_yaw=yaw
return roll,pitch,yaw
if __name__ =="__main__":
rospy.init_node("imu_mapping_node")
br = tf.TransformBroadcaster()
translation = transform_msg.transform.translation
rotation = transform_msg.transform.rotation
roll,pitch,yaw = get_imu()
x = cos(yaw)
y = sin(yaw)
print(f"mapped IMU Data - X:{x}, Y:{y}")
transform_msg = TransformStamped()
transform_msg.header.stamp = rospy.Time.now()
transform_msg.header.frame_id = "main_grid"
transform_msg.child_frame_id = "imu_grid"
transform_msg.transform.translation.x = x
transform_msg.transform.translation.y = y
transform_msg.transform.translation.z= 0.0
transform_msg.transform.rotation.x = 0
transform_msg.transform.rotation.y = 0
transform_msg.transform.rotation.z= 0
transform_msg.transform.rotation.w = 0
br.sendTransformMessage(transform_msg)
rospy.spin()
'''
while True:
get_imu()
# time.sleep(1)
#ser.close()
'''
Python
볡μ¬
β’
νμ₯μμ μ€μ μ°¨κ° μμ§μ΄λ©΄ GPS κ°μ΄ λ°λλ μ€μ°¨λ₯Ό μ§μ μ§μ ν΄μ£Όμ΄μΌ ν¨.
β¦
Driven_autonomous_driving/ros_package/driven_ros/src/driven/src/decision/library/MotionPlanner.py μ isInitPosition_by_gps ν¨μμ outlier μΈμλ₯Ό μμ ν΄μΌ νλ€.
β’
λ€λ₯Έ μμ
λ€κ³Ό YOLOλ₯Ό κ°μ΄ μ€νν μμ μ°μ° μλκ° λ§€μ° λλ¦° κ²μ μ΄μ μμΌ λ°κ²¬
β¦
CUDAλ₯Ό μ΄μ©νμ¬ GPU μ¬μ©μΌλ‘ μ°μ° μλλ₯Ό λμ¬μΌν¨
β¦
νμ¬λ CPUμ¬μ©
β¦
λͺ»νλ©΄ μΏμ μ° μ΄μ κ° μμ
β’
slamμμ λ§΅λ½μ λ μ¬λ νν°λ§νλ μ½λ μμ
β¦
μ¬λμΌλ‘ ν΄λ¬μ€ν°λ§λ μ’νλ€μ μ§μ°λ κ²μ΄ μλλΌ μ½λ³΄λ€ λμ μμΉμ μλ μ’νλ€λ§ μ§μ°λ μμΌλ‘ μ²λ¦¬νμ΄μ νμ¬λ μ¬λμ μλ°μ μ΄ μλ¦° μ’νλ€λ§ λμ΄μ€λ νμμ΄λΌ νν°λ§μ΄ λμ§ μμ
β’
μμΌλ‘ νμΈνλ
Β μ£½μλ ?
β’
IMU μκ°λ²λ¦¬κΈ° γ
γ
β’