.. Cover Letter

취업전 프로젝트 70

5. 터틀봇 4를 움직여보자

연결이 완료된 상태에서 진행하는 글입니다. 네트워크 설정은 이전글을 참고하셔야합니다. 단순하게 로봇을 작동시키는 일을 적고자합니다. 혹시 패드로 진행할 예정이라면 다음을 참고하시면 약간의 도움은 됩니다만.. 일단 ssh로 접속한 상태에서 다음을 입력합시다. sudo bluetoothctl --agent=NoInputNoOutput 그리고 다음처럼 버튼을 누릅니다. 근데 혹시 wating bluetooth가 나온다면 다음을 입력하고 비밀번호를 입력합니다. systemctl start bluetooth 이상태에서 scan on 을 입력한다. systemctl start hciuart 일단 이것도 넣어보자 오 뜬다 뜬다.. 여기서 MAC를 스캔하고 다음을 입력한다. trust E4:5F:01:78:18:77 ..

4. 터틀봇 4 초기 구동하기

유비쿼티 로봇이 고장으로 판별되고 터틀봇 4를 받아왔습니다. 그래서 유비쿼티 대신에 터틀봇 4를 사용하게되었습니다. 20.04 갈라틱이 필요합니다 https://turtlebot.github.io/turtlebot4-user-manual/software/turtlebot4_packages.html TurtleBot 4 Packages · User Manual TurtleBot 4 Packages The TurtleBot 4 has 4 main repositories for software: turtlebot4, turtlebot4_robot, turtlebot4_desktop, and turtlebot4_simulat... turtlebot.github.io https://turtlebot.github...

3. 프로젝트 진행 1일차 진행상황 정리

https://learn.ubiquityrobotics.com/ Ubiquity Robotics Documentation - Magni Documentation Ubiquity Robotics Documentation Warning The Magni robot is strong, fast, and heavy. Initially, use lumber, bricks, or whatever you have to lift the wheels free of the floor, or run it somewhere where it can’t hurt anyone or anything if it surprises you. learn.ubiquityrobotics.com 이번프로젝트의 시작을 위해서 가장 중요한 것은 로..

2. 프로젝트 요구사항 설계 및 소프트웨어적 해석

프로젝트를 진행하면서 예상되는 문제점은 팀 내부적으로 실내와 실외로 나눌 경우 발생할 문제가 걱정이였고 그냥 한 번 에 다같이 할 경우 발표를 어떻게 해야할지 문제가 생겼다. UML 실전에서는 이것만 쓴다 - YES24 UML 실전에서는 이것만 쓴다 - YES24 프로젝트를 진행하려면 UML을 사용해야 하지만, UML은 너무 복잡하고 난해하다. 현업 개발자에게 맞춰 실무 실제 프로젝트에 사용되는, 알아야 하는 UML을 다루었다. UML과 객체지향 설계를 동시에 www.yes24.com UML에 관한 책을 하나 읽었는데 여기서 소프트웨어 개발에 대한 내용 중에서 고객에 어떤 요구사항을 제시하면, 이를 소프트웨어적으로 번역한다. 이 상태에서 UML을 통해서 큰 흐름을 한 번 그려본다. 여기서 설계를 해야할 ..

딥러닝 프로젝트 개요서

팀 프로젝트 #3 (딥러닝) 개발 개요서 팀 번호 / 팀 명 팀. 1 : 알배긴 사람들 프로젝트 주제 까꿍 PT (딥러닝을 활용한 운동 자세교정 프로그램) 프로젝트 기간 2023년 1월 9일 ~ 2023년 1월 30일 ( 21일) 프로젝트 목표 운동을 하기 싫어하는 사람들이 운동과 친해질 수 있도록 돕는다. 소요 기술 딥러닝(pose estimation, 자연어처리), 머신러닝 Data 출처 직접 측정 ■ 프로젝트 필요성 및 주요 기능 ➤ 프로젝트 필요성 - 운동을 해야한다 말로만 하고, 실천하지 못하는 사람들이 많다. 그 이유는 운동을 하는 방법을 모르기 때문이다. 이러한 사람들에게 빅데이터와 딥러닝 기술을 통해 손쉽게 운동을 할 수 있는 환경을 만들어 줄 수 있을 것이라 생각한다. ➤ 프로젝트 구체화..

IOT 프로젝트 개요서..

프로젝트 개발 개요서 프로젝트 주제 IOT 기술을 활용한 스마트 팩토리 프로젝트 기간 2022년 12월 22일 ~ 2023년 1월 13일 (월요일) 프로젝트 목표 자동화 생산라인에서 불량 검출, 앱과 디지털 트윈을 통한 실시간 모니터링 소요 기술 IOT, 디지털 트윈, 실시간 영상처리, 플루터, 파이어 베이스, 언리얼엔진5 ■ 프로젝트 필요성 및 주요 기능 프로젝트 필요성 조선일보 기사에 따르면 최근 산업의 트랜드는 자동화라고 할 수 있다. 실제로 한국타이어 금산 공장의 자동화율은 98%에 이른다. 이 공장에서 타이어의 불량률은 0.1% 밖에 되지 않는다. 이러한 공장에서 사람은 자동화설비를 감시하는 역할만 하면 된다. 기사에 따르면 타이어가 동그랗게 만들어졌는지, 규격에 맞게 제작되었는지 확인하는 과정..

1. 실내와 실외 배송로봇 구상

팀 프로젝트 #4 (자율주행로봇) 개발 개요서 팀 번호 / 팀 명 2팀 / 로봇 가족 프로젝트 주제 실내와 실외 자율주행 배송로봇 프로젝트 기간 2023년 2월 14일 ~ 2023년 3월 3일 ( 일) 프로젝트 목표 Part 1. 자율주행 실외 배송로봇 구현 (엄마로봇) Part 2. 자율주행 실내 배송로봇(아기로봇) 구현과 fleet management 구현 Part 3. (통합) 실내외 통합 인터페이스 구현 소요 기술 딥러닝, ROS2, VIO SLAM, YOLOv5, Fleet Management, Sensor Fusion, Camera Calibration, Robot Control, Unity, AWS MySQL, OpenCV, SLAM ■ 프로젝트 목표 및 주요 기능 ➢ 프로젝트 목표 - AI..

8. (완성, 시연영상) 까꿍PT

deeplearning-repo-1/README.md at main · addinedu-amr/deeplearning-repo-1 (github.com) GitHub - addinedu-amr/deeplearning-repo-1 Contribute to addinedu-amr/deeplearning-repo-1 development by creating an account on GitHub. github.com 💪까꿍 PT💪 🏃개요🏃 운동을 해야한다고 말만하고, 안하는 사람들이 있다. 그 이유는 운동을 하는 방법을 모르기 때문이라 생각한다. 그러니 딥러닝을 통해 자세를 교정해주고, 서로 양방향 소통이 가능한 프로그램을 제작하고자 한다. 🏃시연영상 및 발표자료🏃 시연영상 https://www.youtube..

7. 데이터베이스 구현하기 및 완성 코드

해커톤 참여하기 전날 급하게 만들어서 그런지 AWS를 사용하지는 못해서 Local에서 진행할 수 밖에 없었다. 이건 그냥 코드 설명을 진행하면서 설명하도록 하겠다. 다음의 정보를 저장하며 코드레벨부터 살펴보자. import mysql.connector import pandas as pd import datetime as dt class DB_access(): username = "" password = "" login_success = 0 local = None history_df = None def __init__(self): try: self.local = mysql.connector.connect( host = "localhost", port = 3306, user = "root", password..

6. 자연어처리, 음성을 인식하자.

팀원의 이야기를 적는 글이므로 전문성이 떨어지며 내용이 빈약합니다. 처음 계획은 음성 API를 통해서 자연어를 처리하는 방안이였으나, 계획이 조금 수정되어 음성을 직접 인식시켜보는 방향으로 접근을 하게되었습니다. 우리의 음성 데이터는 다음과 같은 형식으로 이루어져 있습니다. 제 전공지식으로 이해를 하면 음의 높낮이에 따라서 그림으로 표현되는 방식이겠죠. 음성을 분석하기 위해서 필요한 과정은 Fourier Transform 전기전자를 전공한 사람들은 질리도록 하고 생으로도 풀어보는 그 푸리에 변환입니다. 뭐 이런 느낌의 노이즈가 낀 신호가 있다면 노이즈와 사인파가 합쳐진 신호라고 볼 수 있습니다. 그러면 노이즈의 주파수와 사인파의 주파수로 그래프를 그리자면 이런식으로 그림이 그려지게 되겠죠. 이를 이제 필..

5. Pose estimation 에서 스쿼트 자세를 측정하는 방법

이 글은 프로젝트가 마무리된 후 작성된 글입니다. 그래서 시각적 자료가 부족할 수 있습니다. 우선 이전 글에서 MediaPipe를 다운로드받고 CPU만으로 사람의 각관절을 detection했습니다. 예시를 들기위해 배경을 삭제함. 의자에 앉아있는 내 모습을 detection한 모습인데 GPU없이도 사람을 정확하게 detection하며 설치도 간편하고, 응용도 쉽습니다. 그러면 이의 좌표값을 통해 접근을 해야하는 상황에서 도큐먼트에 존재하는 32가지의 랜드마크들 중에서 원하는 값을 가져오면 됩니다. 일단 도큐먼트의 기초적인 설명이 부족하기 때문에 참고한 사이트는 Pradnya1208/Squats-angle-detection-using-OpenCV-and-mediapipe_v1: The purpose of ..

4. 좌표로 접근을 해보자. (실험)

해당 코드를 통해서 특정 자세를 취하고 import cv2 import mediapipe as mp import numpy as np import pandas as pd import datetime as dt def return_today(): year = dt.datetime.now().year month = dt.datetime.now().month day = dt.datetime.now().day hour = dt.datetime.now().hour minute = dt.datetime.now().minute second = dt.datetime.now().second return str(year) + "_" + str(month) + "_" +\ str(day) + "_" + str(hour) +..

3. 스쿼드 사진 찍고, 라벨링 진행중

조원들 5명 모두 스쿼트 20개씩 진행하고 각 프레임을 저장함 이를 욜로를 돌리기 위해 라벨링을 진행함. 준비자세 카운트 학습시작 yolo다운로드 받고 from glob import glob img_list = glob('/home/du/ws/yolo/images/*.png') label_list = glob('/home/du/ws/yolo/labels/*.txt') print(len(img_list), len(label_list)) from sklearn.model_selection import train_test_split train_img_list, val_img_list = train_test_split(img_list, test_size = 0.3, random_state = 200) print..

2. 딥러닝 프로젝트 설계 구체화

이번 프로젝트에서 경험해보고 싶은건 설계의 중요성이였다. 그래서 UML을 그려보라는 강사님의 조언에 UML에 대해 조사를 해보고 기초 UI 설계 엑티브 다이어그램과 시퀀스 다이어그램을 한 번 그려보고자 한다. FSM 도 그려보면 좋겠다고 하셨는데, 그건 손쉽게 그려버리기 힘들거 같아서 일단 첫 번 째로 그린건 대충 인터넷을 보고 그려보고 강사님한테 이게 엑티브 다이어 그램인가요? 물어보니 이것저것 짬뽕된거 같다고 하셔서 한시간 가량 UML에 대해 과외를 받았다 일단 UI를 먼저 그려보고 그 다음에 엑티브를 그리고 그 후 시퀀스를 그려보는게 좋다고 하셔서 우선 UI를 먼저 그려보았다. 이 상태에서 엑티브 다이어그램을 그려보는 것이다. 일단 그리는 중 그리다보니 뭔가 빠트린것도 많이 보였다. 더 무거워져 버..

1. 미디어 파이프에서 배경없이 Pose만 추출하기

생각보다 결과가 잘나왔다. 미디어 파이프가 굳이 GPU를 사용하지 않아도 스켈레톤을 검출하는데 문제가 없었다. 도큐먼트에서 배포하는 코드를 돌리면 배경과 함께 Pose가 detection된다. 여기서 두가지 구현방향을 생각해볼 수 있었다. 1. 각 관절의 point (좌표값)을 pandas를 통해 EDA하여 딥러닝을 시켜 자세의 정확도를 측정한다. -> 코드의 알고리즘이 복잡해짐은 물론, 좌표계로 접근하기 때문에 사람의 위치가 바뀐다면, 문제가 발생한다. -> 그러나 자세에 대한 피드백이 가능해진다. 2. 백그라운드를 제거하고, pose만 남겨 CNN을 돌린다. -> 굉장히 매력적인 방법이였다. 난이도가 낮아짐은 물론 사람의 위치가 바뀌는 문제는 사라진다. -> 그러나 객체를 검출하는 것이기 때문에 자세..