5. LiDAR를 이용한 전방 장애물 회피 주행
페이지 정보
작성자 관리자 댓글 0건 조회 1,926회 작성일 21-01-21 21:17본문
LiDAR를 이용하여 장애물을 회피하며 주행하도록 구현해보겠습니다.
Pop에서 LiDAR와 Pilot 라이브러리를 불러옵니다.
LiDAR 사용을 위해 Rplidar 객체를 생성하고, 장비 주행을 위해 AutoCar 객체를 생성합니다.
from pop import LiDAR, Pilot
lidar = LiDAR.Rplidar()
car = Pilot.AutoCar()
객체가 생성되면 connect()메소드로 LiDAR와 연결하고 startMotor() 메소드로 스캐닝 모터를 동작시킵니다.
또, AIot AutoCar 의 주행속도를 99로 설정합니다.
차량의 조향을 가운데로 설정합니다.
lidar.connect()
lidar.startMotor()
car.setSpeed(99)
car.steering = 0
LiDAR에서 벡터값들을 받아오고, 전방 120도 범위내에 700mm 이하로 감지된 값이 있다면 no_collision을 False 로 설정합니다.
no_collision을 False로 설정합니다.
no_collision이 True면 장애물이 없으므로 직진하고, False라면 장애물이 있으므로 좌회전합니다.
이 과정을 while문을 이용해 반복시킵니다.
while True:
no_collision = True
vectors = lidar.getVectors()
for v in vectors:
degree = v[0]
distance = v[1]
if degree <= 60 or degree >= 300 :
if distance <= 700:
no_collision = False
if no_collision:
car.steering = 0
car.forward(99)
else:
if car.steering == 0:
car.stop()
car.steering = -1
car.backward(50)
댓글목록
등록된 댓글이 없습니다.