AutoCar

본문 바로가기

사이트 내 전체검색


5. LiDAR를 이용한 전방 장애물 회피 주행

페이지 정보

작성자 관리자 댓글 0건 조회 1,104회 작성일 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)



댓글목록

등록된 댓글이 없습니다.



개인정보취급방침 서비스이용약관
Copyright © www.leelab.co.kr All rights reserved.
상단으로
TEL. 063-469-4551 FAX. 063-469-4560
전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과
PC 버전으로 보기