2026/01 20

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/30

전면주차 후면주차 추가 + 개선 전체 움직임, 함수부터 정리"""TurtleBot3 (와플파이) 벽 따라 주행 + 1바퀴 후 출발지 복귀요구사항 반영 요약- 라이다 360개(0도=정면, 반시계 증가)- 앞/좌/우/뒤 각각 20개 센서를 묶어(median) 판단- 시작 시 좌/우 중 가까운 벽을 자동 선택하고 끝까지 유지- 정지-회전(TURN) 방식 금지: 항상 "전진 + 곡률(각속도)"로 코너를 돈다- 벽과 11자(평행) 유지: 옆벽 앞/뒤 섹터 차이(align_err)를 제어에 포함- 비상 상황(너무 근접, 정면 매우 근접)에서만 정지/후진- 1바퀴 완료(헤딩 누적 변화량) 이후에만 시작점(±10cm)에서 정지- 디버깅 로그(jsonl) 저장통신- 센서: GET /control- 명령: GET /con..

로보테크AI 2026.01.30

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/29

(\theta)배율 (1/\cos\theta)(d_0=70)일 때 기대 거리0°1.00070.010°1.01571.120°1.06474.530°1.15580.840°1.30591.450°1.556108.960°2.000140.070°2.924204.780°5.759403.1 직진 멈춤 해결 벽 따라돌기(정면 벽 너무 빨리 감지해서 회전 자주 함)좁은 통로 따라가기import requestsimport threadingimport timeclass RobotWallFollower: def __init__(self): # 네트워크 설정 self.base_url = "http://192.168.0.244:5000/control" # 주행 설정 self.T..

로보테크AI 2026.01.29

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/28

어제 하던 smartrobot 이어서#server->client 데이터 전송 구조"""protocol - json으로 묶어서 보낸다.1.로봇의 현재좌표 x,y2.로봇이 바라보는 방향 각도3.목적지 좌표x,y4.8방향의 센서값 (인덱스0~7) 장애물과의 거리5.주행상태정보 finished 도착 ok 주행중"""import socketimport jsonimport timeimport mathclass SmartRobot: def __init__(self,name,server_ip): self.name = name self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_address=(se..

로보테크AI 2026.01.28

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/27[TURTLEBOT]

서버 수정ㄴ입력 시간 부족으로 서버 안내랑 채팅이랑 겹침ㄴ게임 시작 전 입장 중에 나가면 인원 수 오류 클라이언트 수정ㄴ가독성을 위해 시스템 메시지만 붉은색으로 보이게 1. 전체 구성실행 단위 서버 프로세스 MafiaServer.serve_forever()가 서버 소켓을 열고 accept()로 접속을 받음 접속 1명당 handle_client()를 별도 스레드로 실행 게임 페이즈(낮/밤/투표 타이머 등)는 MafiaEngine.run()이 **asyncio 루프(별도 스레드)**에서 담당 인원(8명) 충족 감시는 monitor_loop()가 asyncio로 주기 체크 클라이언트 프로세스 메인 스레드: input()으로 사용자 입력 ..

로보테크AI 2026.01.27

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/26

지난주 프로젝트 이어서 DB x UI x스레드 관리세마포어 마피아게임기본 8명초과시 입장 불가 마피아2경찰1의사1시민4(기자1 포함) 대기방: 클라이언트 => 서버참여시 기본 메뉴얼 제공스레드 생성(if 인원 다 차면 30초 뒤에 시작한다고 서버에서 알림)데이터베이스 훼손 안되게(처음부터 닉네임 제공) 닉네임 입력(인원 8명 차면 이후부터 거절) ->메뉴얼 ->대기방(카운트) ->직업 배정(랜덤) ->반복( 단체 채팅1 -> (밤전환)투표0.5(시간안에 못하면 패스) -> 변론(최다 투표자 말하기 + 죽일지 말지 Y/N) -> 직업별 능력 사용0.5(기,마,경,의 순으로) -> 투표 결과 발표0.5) -> 게임 종료(if 마피아 전부 중도에 나가면 종료, 아니면 일단 진행 +..

로보테크AI 2026.01.26

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/23[TCP]

TCPTransmission Control Protocol인터넷에서 데이터를 안정적이고 순서대로 주고받기 위한 핵심 통신규약(프로토콜)연결설정: Three Way Handshakeㄴ1)상대에게 통신을 하고 싶다는 메시지를 보낸다(SYN)ㄴ2)상대는 그 메시지에 대한 응답 + 나도 통신 준비가 되었다는 메시지를 보낸다(SYN-ACK)ㄴ3)2번에서 받은 메시지에 응답한다(ACK) UDPTCP에 비해 데이터가 누락되지만 속도가 빠름 소켓떨어져 있는 두 호스트를 연결해주는 도구로서 인터페이스의 역할을 함프로세스가 네트워크로 데이터를 내보내거나 혹은 그로부터 데이터를 가져오는 창구 역할ㄴ프로토콜: 어떤 시스템이 다른 시스템과 통신을 원홯하게 수용하도록 해주는 통신 규약ㄴIP: 전 세계 컴퓨터에 부여된 고유 식별 ..

로보테크AI 2026.01.23

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/22

파이썬 개발 환경 준비PyCharm에서 pymysql 패키지 설치 DROP DATABASE IF EXISTS soloDB;CREATE DATABASE soloDB; 파이썬에서 데이터 입력 MySQL 연결=>커서 생성=>테이블 만들기=>데이터 입력=>입력한 데이터 저장=>MySQL 연결 종료 import pymysqlconn = pymysql.connect( host='127.0.0.1', user='root', password='0000', db='solodb', charset='utf8') 커서 만들기cur = conn.cursor() 테이블 만들기cur.execute("CREATE TABLE userTable (id char(4)," "userName char(15), ema..

로보테크AI 2026.01.22

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/21

github에서 어두운 테마 설치 데이터베이스 모델링테이블의 구조를 미리 설계하는 개념현실 세계에 사용되는 작업이나 사물들을 DBMS의 테이블로 옮기기 위한 과정 개념적 데이터 모델 설계논리적 데이터 모델 설계물리적 데이터 모델 설계 폭포수 모델소프트웨어 개발 단계 중 하나폭포가 떨어지듯 개발 단계가 진행계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수ㄴ문제가 발생할 경우 다시 앞 단계로 돌아가기 어려움 프로젝트현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮겨놓는 과정대규모 소프트웨어를 작성하기 위한 전체 과정 데이터베이스 구성도데이터: 하나하나의 단편적인 정보테이블: 데이터를 입력하기 위해 표 형태로 표현한 것데이터베이스: 테이블이 저장되는 저장소DBMS: 데이터베이스 관리..

로보테크AI 2026.01.21

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/01/19

폴더: 전처리 교통사고건수.csv => 원본교통사고건수_clear.csv => 전처리된 데이터교통사고건수_dirty.csv => 전처리된 데이터에 결측치, 이상치 추가 data.py => (결측치, 이상치 생성 + 전처리 + 저장) 전체 tkinter 코드 ㄴ파일 불러오기에 clear.csv로 결측치 5 => 0 (1%미만)이상치 76 => 0 (10% 수준) 이상치는 의도적으로 남겨두는 것과 제거하는 것을 구분 df_raw : 파일에서 불러온 원본 데이터 (절대 수정하지 않음)df_clean : 전처리 대상 데이터 (모든 전처리는 여기서만 수행)df_view : 현재 화면(Treeview)에 보여주는 데이터 Dirty 데이터 생성결측치 주입각 컬럼의 10% 행을 무작위 선택NaN으로..

로보테크AI 2026.01.19