전체 글

개발자 꿈나무 / 철학과(졸업) 및 건축학과(찍먹) 출신의 IT 데뷔 스타일기
사용 장비 및 환경Jetson Nano 보드RPLidar A1ubuntu 18.04Astra Pro Plus Depth Camera 1) 젯슨 나노에 os를 설치이 내용은 검색하면 나오니 적진 않겠다.참고한 사이트는https://blog.naver.com/najinaji-/223487912837 젯슨 나노 OS설치백엔드 서버 열기 위해 Jetson Nano 를 이용해 os설치를 해 보았다. 1. 우선 nvidia 에서 우분투 이미지...blog.naver.com  2) 젯슨 나노와 라이다 센서를 연결지금 문제가 되는 부분은 여기다.라이다 센서를 연결하면 라이다가 빙글빙글 돌아가긴 한다. 분명히 연결은 된 게 확실하다.그런데 문제는 우분투 터미널에서 이녀석이 연결됐는지를 여러 커맨드로 확인해보면 연결되지 ..
지난 정기 기사 시험 2회차에 필기를 합격했다.CBT로 진행되는 시험이라 모의고사가 마땅치 않아 걱정했지만 기출 문제에서 꽤 많이 출제가 되어 문제 풀이는 수월했다.그러나 정처기를 준비하는 모든 사람들이 알듯이 진짜 고비는 실기다. 이제부터 실기 준비에 전념할 것이다.
https://github.com/estods3/JetTank/blob/master/src/jettank/src/nodes/vision/jt_vision_node.py#!/usr/bin/python2from __future__ import print_functionimport sysimport cv2import timeimport rospyimport numpy as npfrom std_msgs.msg import Int32from std_msgs.msg import Int16MultiArray# 이미지 전송을 위한 모듈들from std_msgs.msg import Stringfrom sensor_msgs.msg import Imagefrom sensor_msgs.msg import CompressedI..
1. 현재까지 완료된 작업 프로젝트 준비를 위한 문서 작업 및 자료 찾기는 전부 완료되었다.       이외에도 오픈 소스를 분석하는 등의 시간을 가졌다.Jetson Nano 보드를 사용하므로 다른 팀원이 젯슨 나노 보드에 리눅스 os를 올리는 작업까지는 끝마쳤다. 간단한 GPIO 테스트를 수행하는 단계까지는 끝났다.   2. 이후 해야하는 일 1) 오픈 소스 분석 및 센서 제어기자재가 아직 도착하지 않아 기자재를 직접적으로 사용함으로써 작동은 해보지 못했다. 그러나 깃허브에 있는 여러 오픈 소스들을 활용해 어떤 식으로 코드를 짜야하고 어떤 방법으로 센서 제어 방법에 접근했는지에 대해 학습하는 중이다. 2) AI 구현거기에 더하여 AI 구현을 위한 알고리즘으로는 YOLO 알고리즘을 선택했고 V5 모델을 ..
1. LiDAR 센서  무슨 센서를 사용하여 거리를 측정할 것인지에 대한 고민이 많았다. 나는 라이다 센서, 레이다 센서, 초음파 센서, 레이저 포인터 등의 다양한 것들을 생각하고 팀원들과 토의해보았으나 답이 나오지 않았다.  그리하여 여러 센서 제조 업체들에 문의를 넣게 되었고 다양한 업체에서 답을 주었다. 라이다 센서를 사용하는 것은 비전공자로 이제 겨우 몇 개월 공부한 우리 수준에서는 사실 두려운 일이다. 실제로 업체 관계자분들은 우리 팀 프로젝트 내용을 듣고는 많은 우려를 표하셨다. 그러나 여러 센서들에 대한 정보값들을 조합해본 결과 라이다 센서를 조정해보는 일은 매우 가치있는 일이라고 생각했으며 다양한 가격적인 측면, 기술적인 측면에 따라 (+ 팀원들과의 협의를 통해) A1 Lidar 센서를 사..
1. 개발 배경 이 프로젝트는 시각장애인들의 안전한 보행을 위해 시작되었다. 시각장애인들이 겪는 많은 어려움 중 사회 참여에 가장 방해가 되는 요인 중 하나는 보행 능력에 있을 것이다. 그러나 기존 제품들(ex.지팡이)들은 여러 한계점을 가지고 있었고, 이러한 한계를 보완할 수 있는 기술을 개발해보고자 이 프로젝트가 시작되었다.    2. 사용하는 기술 LiDAR 센서, Depth 카메라에 대한 이해를 요구한다. 센서로 수집한 데이터의 더미 데이터 등을 처리하고 원하는 정보값만을 거르는 작업을 할 수 있는 이해도를 필요로 한다. 그리고 이를 AI가 분석하게 한 다음 장애물이 인지되면 장애물에 대한 정보 음성 및 진동과 같은 인터페이스를 통해 제공한다. 그리하면 착용자는 지팡이나 여타 다른 장비 없이도 양..
포인터란 주소값을 저장하는 기능임. 그런데 주소값이란 무엇인가?주소값은 데이터가 저장된 메모리의 시작부분을 말한다. 이렇게 말하니 좀 어렵게 들린다. 쉽게 설명을 해보겠다. 그에 앞서 변수에 대해 알아보자. 변수는 정보를 저장하는 장소다. 만약에int a = 10; 이 변수 a에 대해서 알아보자.a라는 변수에 10이라는 값을 저장한 것이다. 그런데int *p = &a; 라고 적힌 것을 발견한다. 해석하자면 포인터 p에 변수 a의 주소값을 저장한 것이다.** & : 주소 연산자로 변수의 이름 앞에 사용하고 해당 변수의 주소값을 반환함.(앰퍼샌드ampersand라고 읽음) 그렇다면 주소값은 대체 무엇을 의미하는 것일까?주소값은 데이터가 저장된 메모리의 시작부분을 의미한다. #include int main()..
1.기본 구성#include int main(void){ printf("Hello, World!\n"); return 0;} 1) #include 예약어. 특정한 의미, 기능을 가지고 있는 단어. preprocessorinclude - 포함하다 이므로 뒤에 오는 것을 이 코드에 포함하겠다는 뜻 2) standard input ouput의 약자 h는 파일의 확장자로 header의 약자임즉, 표준입출력에 관련된 내용을 담고 있는 확장자가 h인 파일의 이름 3) 그렇다면 대체 무엇을 포함하는가?프로그래머들은 프로그램을 작성하며 미리 정해져있으면 좋겠다고 생각한 함수들이 있음. 그것들을 모아놓은 걸 불러오는 거임. ex)printf 함수컴파일러에게 printf 함수가 출력 역할을 한다는 것을 알려주는 것이 ..
1. 배경 설명 청각장애인들이 주로 사용하는 수화그러나 수화로는 비청각장애인들과의 소통이 어려움그러므로 수화로도 서로 원활한 소통을 할 수 있는 프로그램의 제작이 필요하다고 느꼈음 영상인식 기술을 통해 수화를 인식하고 이를 텍스트로 번역해주는 프로그램을 목표로 함.그러나 1달이라는 시간 동안 진행하므로 전체 수화가 아닌 알파벳, 또는 숫자를 인식하는 것을 목표로 삼음 화상 채팅에서 AI 기반으로 수화를 인식할 수 있는 프로그램을 만드는 것을 최종 목표로 한다.  2. 기술 스택 - 주 사용 언어 : Python - 딥러닝 : TensorFlow - 데이터 수집 및 전처리 : OpenCV, Pandas - 데이터셋 : AI-Hub에서 제공하는 수어 영상을 이용 예정(라벨링 완료된 파일들) - 모델 구축 :..
내가 배우는 게 무엇인지 제대로 알지 못하고 배운다면 그건 하수다 1. 들어가기에 앞서 프로그래밍이란 무엇인가. 코딩이란 무엇인가. CRUD란 무엇인가.나는 이런 질문에 대답하지 못한다.  그래서 시작하는 기초부터 다시 다지기 프로젝트. 2. C언어 개요 1) 프로그래밍이란? 프로그래밍. 프로그램이란 무엇인가? 프로그램이란 컴퓨터가 작동할 수 있도록 내리는 명령어의 모음집을 일컫는데, 프로그래밍이란 이를 만드는 과정이다. 이 프로그램이 모여서 소프트웨어가 되는 것.그리고 이 소프트웨어를 만드는, 즉 프로그램을 만드는 언어가 '프로그래밍 언어' 프로그래밍 언어란, 사람과 컴파일러가 모두 이해할 수 있는 약속된 형태의 언어를 말한다. 그렇다면 컴파일러란?프로그래밍은 분명히 프로그래밍 언어로 작성될 것이다.그..
tcp/ip 에 대해서TransmissionControlProtocol전송제어 프로토콜 InternetProtocol인터넷 프로토콜 ip 주소 = 인터넷 프로토콜메세지에 목표로 하는 컴퓨터에 잘 도착할 수 있도록 해주는 역할 tcp는 ip의 상위 버전네트워크는 통신할 때 작은 단위로 쪼개서 전송을 하는데 tcp는 이런 패킷들을 재조립하고 손상되거나 손실될 시 재요청함 패킷 = 네트워크에서 사용하는 작게 분할된 데이터 조각 전송이 완료되면 원래 모습으로 되돌리는 역할ip는 이런 조각들을 원래 모습으로 전송하는 역할을 함.그런데 tcp는 ip보다 속도는 느리지만 꼼꼼한 방식 사용.(재요청도 함) 두 방법을 조합해서 인터넷 통신을 하는 것을 tcp/ip 통신이라고 하는 것 ip - 효율적이고 빠름tcp - 정..
public class ExceptionEx2 { public static void main(String[] args) { String[] names = { "Kim", "Lee", "Park", "Choi" }; try { System.out.printf("0번 인덱스 요소: %s\n", names[0]); // 4번 인덱스 요소: names 배열에는 인덱스 4가 없어서 ArrayIndexOutOfBoundsException 발생 System.out.printf("4번 인덱스 요소: %s\n", names[4]); System.out.printf("3번 인덱스 요소: %s\n", names[3]..