본문 바로가기

Projects/2021년 기초제어실습

(6)
프로젝트 개요 본 프로젝트는 2021년 2학기에 수강한 [기초제어실습] 강의 프로젝트를 진행하면서 기록한 노션 글을 정리한 것이다. 당시에 작성한 보고서를 올릴 수 있으면 좋으련만 아쉽다. Wall Following간단하게 벽을 바라보는 초음파 센서의 데이터와 PID 제어를 써서 벽을 도는 로봇을 구동하고, 보고서로 정리하는 과정이다. Line Tracer 바닥을 향해 보고있는 적외선 센서 하나의 데이터와 PID 제어를 사용해 최대한 빠르게 경로를 따라가는 로봇을 만드는 것이다. Uploaded by N2T
Line Tracer-코드 정리 제어 코드#!/usr/bin/env pybricks-micropython from pybricks.hubs import EV3Brick from pybricks.ev3devices import Motor,ColorSensor,InfraredSensor from pybricks.robotics import DriveBase from pybricks.parameters import Port, Stop, Direction, Button, Color from pybricks.tools import wait, StopWatch, DataLog # Initialize the motors. L_motor = Motor(Port.A) R_motor = Motor(Port.B) # Initialize the color ..
Line Tracer-센서 데이터 그래프 생성 받아온 거리값으로 그래프 만들기제목→ "pid_graph_dist:"y축 → reflectionx축 → 시간(sequence).직선_1직선_2곡선_1곡선_2 곡선_3 threshold (64/2.0)곡선_4 threshold 증가. (64/1.7) 곡선_5곡선2_1 그림 3은 시나리오 1, 즉 낮은 주기의 곡선에서 Threshold 변화에 따른 측정된 빛 반사 값이다. 옅은 빨강 실선은 Threshold가 32인 실험 결과이고, 짙은 빨강 실선은 Threshold가 37.6인 실험의 결과이다. 대체적으로 비슷한 모습을 보이고 있으나, 1100 시퀀스에서 1500시퀀스 부분에서 큰 차이가 있다. 플랫폼이 검은 선 위에 있는 시간이 감소했다. Threshold 값, 즉 임계 값이 높아져 Curve turn을..
wall follower-실험용 코드 실험코드! ver1.0#!/usr/bin/env pybricks-micropython import time # PID parameters Kp = 0.13 Ki = 0.000 Kd = 0.000 target = 150 error = 0.0 last_error = 0.0 acc_error = 0.0 dt = 0.004 vel = 180 # time current_time= time.time() start_time = current_time while True: dist = int(input()) # Filtering! if dist > 600: dist = 0 # PID calculation error = target - dist diff = error - last_error acc_error += err..
wall follower-코드 정리 제어 코드#!/usr/bin/env pybricks-micropython from pybricks.hubs import EV3Brick from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, InfraredSensor, UltrasonicSensor, GyroSensor) from pybricks.parameters import Port, Stop, Direction, Button, Color from pybricks.tools import wait, StopWatch, DataLog from pybricks.robotics import DriveBase from pybricks.media.ev3dev import SoundFile, Imag..
wall follower- 센서 데이터 그래프 생성하기 보고서를 내야 하는데, 어지간하면 그래프를 보여주면서 하고 싶단 말이지? 그래서, 전에 CF 다루면서 썼던 코드를 좀 많이 수정해 보려고 한다. 그러려고 했는데, ev3 내부에 numpy같은 라이브러리를 새로 설치해야 하는데, 어떻게 ev3 내부에서 명령어를 실행할 수 있을지 모르겠다.굳이 tk를 쓸 이유가 없어서 그냥 matplotlib & numpy로 새로 짜는게 더 나을 듯 하다. 받아온 거리값으로 그래프 만들기 제목→ "pid_graph_dist:"y축 → distance(mm)x축 → 시간(s).ev3에서 별도의 파일을 동시에 실행시킬 수가 없고 ev3 안의 파일을 외부에서 읽을 수 있는지 모른다. CODE ver1.0# Make a DataList from txt file AND make gr..