Term-Project

Posted by YuGeekLab on October 17, 2017

과제 : Term-Project


목표 : 식물 컴퓨터 만들기


개요

MIT OpenAg는 “식물을 키울 수 있는 환경을 인공적으로 조성해주는 공간을 만드는 프로젝트”이다. 그리고 단순히 그런 공간을 만드는 것에 그치는 것이 아니라 사용자 마음대로 환경을 조작할 수 있다. 이를 통해 식물이 어떤 환경에서 잘 자라는지 연구할 수 있다. 또한 식물이 자라는 과정을 카메라를 통해 모니터링 할 수 있으며 다른 사람들과 공유할 수 있다.

MIT OpenAg를 따라하려면 최소 30만원의 가격이 들어간다. 30만원이면 한달을 굶어야 만들 수 있다. 소프트웨어만 개발한다면 돈이 들어가지 않아 돈 걱정할 필요가 없지만 미래로봇자동차트랙은 하드웨어와 소프트웨어를 모두 다루어야한다.(전공 추천 도서를 다 따라하려면 최소 60만원이 필요하다.) 따라서 개발에 있어 하드웨어의 기능과 하드웨어에 들어가는 돈도 매우 중요하다.

나는 MIT OpenAg를 최소한의 자본을 투자하여 만드려고 한다. 물론 돈을 쓰지 않는다면 MIT OpenAg에서 일부 기능을 제외할 수 밖에 없다.

나는 가장 기본적인 기능인 “식물을 키울 수 있는 환경을 인공적으로 조성한다.”에 초점을 맞춰 개발하도록 하겠다.

목표 1. 최소한의 자본으로 하드웨어 구성하기

개발 비용은 10만원을 한계선으로 설정했다. 배송이 느리지만 가격이 매우 싼 알리바바와 합리적인 가격에 부품을 제공해주는 아두이노스토리를 이용하도록 하겠다.

목표 2. ROS 기반 소프트웨어 개발하기

맨 처음 소프트웨어는 아두이노 언어를 이용하여 만들 것이다. 하지만 이 프로젝트의 목표는 학습이다. 때문에 전공 추천 도서 ‘파이썬 로보틱스’에 나온 Robot Operating System(ROS)을 사용해서 소프트웨어를 갈아엎어 볼 것이다

목표(미정) 3. Raspberry Pi, Flask, Docker, DB 사용하기

MIT OpenAg의 아키텍처는 다음과 같다.

OpenAg Architecture

프로젝트를 통한 공부를 위해 나의 자본이 허락하는 한 이 아키텍처에 사용된 기술을 모두 사용하도록 노력할 것이다.(라즈베리파이는 4만원이다. 너무 비싸다.)

목표(미정) 4. Tensorflow를 이용해 강화학습하기

재미있을 것 같아 시도해본다. 내가 만든 컴퓨터에는 온도와 습도를 조절하기 위한 많은 하드웨어가 달려있을 것이다. 이 하드웨어를 어떻게 조정해야 내가 원하는 온도로 맞출 수 있을 것인지에 대해 대략적인 알고리즘을 생각해 두었지만 이 알고리즘이 잘 들어먹지 않는 경우, 강화학습을 이용해 보는 것도 재미있을 것 같았다.

사용 도구


LibreCAD

오픈소스로 제공되는 CAD 프로그램. 설계에 사용

Arduino Uno

하드웨어 설계까지 오픈되어 있는 Arduino

ROS

Robot Operating System. 로봇 개발의 편의를 위해 개발된 오픈소스 프로그램. 우분투 위에서 돌리는 것이 일반적이다.

Ubuntu

ROS를 사용하기 위해 필요한 운영체제

(미정) Raspberry Pi

작은 컴퓨터

(미정) Flask

파이썬 기반 웹 프레임워크이다. Django보다 가벼워서 적은 기능을 구현하는 프로젝트에 자주 쓰인다.

(미정) Docker

가상 컨테이너. 가상 머신과 비슷할 수 있는데 확실히 다르다.

(미정) Couch DB

Document DB이다. RESTful API를 통해 이용할 수 있다. RESTful API는 HTTP를 통신을 이용해 API를 요청하고 응답한다. 최근 많은 API가 REST API를 제공하고 있다.

(미정) Tensorflow

구글에서 공개한 오픈소스 머신러닝 라이브러리.