머신러닝

본문 바로가기
사이트 내 전체검색


머신러닝
머신러닝

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

페이지 정보

작성자 관리자 댓글 0건 조회 1,844회 작성일 21-01-21 21:17

본문

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

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)



댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.