π View Entire Documentation
2016λ μ μ±νν μνκ³ μ μ΄μΈλκ³Όμ κ²½κΈ° λͺ¨μ΅μμ μκ°λ₯Ό λ°μ μ€λͺ©μ λλ κΈ°κ³μ μ¬λμ΄ μ€λͺ© κ²μμ ν μ μλλ‘ νλ€. κΈ°κ³λ μΈκ³΅μ§λ₯μ΄ λ΄μ₯λ λ°μ€ν¬νκ³Ό ν΅μ νμ¬ μ€μ κ³ μμ κ°μ΄ κ²μνλ κ² κ°μ΄ ꡬννμλ€.
ꡬνμ μν μμ μ²λ¦¬ κΈ°μ κ³Ό μΈκ³΅ μ§λ₯μ Python λΌμ΄λΈλ¬λ¦¬ OpenCVμ Tensorflowλ₯Ό μ¬μ©ν΄ μμ±νμμΌλ©° κΈ°κ³ μ μ΄μ ν΅μ νλ‘μΈμ€λ Arduinoμ GRBLμ΄λλ₯Ό μ¬μ©νμ¬ 3D Printerμ ν‘μ¬νκ² μλ ν μ μλλ‘ CμΈμ΄λ‘ μμ±νμλ€. 물리μ μ€κ³λ 3D λͺ¨λΈλ§μΌλ‘ Fusion 360μ μ¬μ©νμλ€.
μ°λ¦¬ νκ΅ νΉμ± μ μννΈμ¨μ΄ κ°λ°μ μ§μ€λμ΄ μμ΄ μ€μ κΈ°κ³μμ μννΈμ¨μ΄κ° μ΄λ»κ² νμ©λλμ§ μ μ μμλλ° μ΄λ²μ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μκ³ μΆμ΄μ λ‘λ΄μ μΈκ³΅μ§λ₯μ λ£μ μ μλλ‘ νμλ€.
κ·Έλ¦¬κ³ μ‘°λ¦½ν κΈ°κ³ μ°μΆλ¬Όμ΄ μ μν μ΄νμ μ¬μ©λμ§ μκ³ λ²λ €μ§λ λ¬Έμ μ μμ λ²μ΄λκΈ° μν΄ λ³΄λ€ λ μ€μ©λκ° λμ μ°μΆλ¬Όμ κ°λ°νκ³ μΆμ΄μ μ΅λν ν₯λ―Έλ‘μ΄ μμ΄λμ΄λ₯Ό μ λͺ©νκ³ μΆμλ€.
- λ‘λ΄μ μ€λͺ©νμ μμ μ²λ¦¬λ₯Ό ν΅ν΄ νμ¬ μνλ₯Ό λΆμνμ¬ λ μ μλ μ μ€ μ΅μ μ μλ₯Ό μ λ¬νλ€.
- ꡬμ±νμ LCD ν¨λμμ μΆλ ₯λλ μ 보λ₯Ό ν΅ν΄ νμ¬ κ²μ μ€ν μ΄μ§μ μνλ₯Ό μ μ μλ€.
- πUnperknown : Image Processing, AI Development
- πasphalt-alpha : Assembling Robot, 3D Modeling
- πohseyoung123 : Arduino Programming
- πLas-Wonho : Correction of document(README.md)
- πcdb0915 : Arduino Programming Assistant
-
Python
- Tensorflow(for C: Partically uses Ubuntu OS)
- OpenCV
-
Arduino
-
3D Printing & Modeling
doc λλ ν 리μ κ³νμλ₯Ό 10/24(Ver.1)μμ 12/26(Ver.2)λ‘ Commitνμλ€. κ·Έλ¦¬κ³ κ³ν μ립 κ³Όμ μ€ νλ¬ κ΅¬μ±μ νκΈ°λ‘ κ²°μ ν¨μ λ°λΌ λΈλ‘μμ΄ μλ³Έμ μΆκ°νμλ€.
μμ€ν μ€κ³μ λμμ λμ€μ μ λ°μ΄νΈλ μμ μ΄λ€.
ꡬνμ μ€λͺ© κ²μμ μνλ₯Ό μ μ₯νκ³ μ μ΄νλ λ°μ€ν¬νκ³Ό 물리μ μΈ μν μ μ₯κ³Ό μΆλ ₯μ λ΄λΉνλ μλμ΄λ Έ κ°μ ν΅μ μΌλ‘ μ΄λ£¨μ΄μ§ κ²μ΄λ€. λ°μ€ν¬νμ μΉμΊ κ³Ό μ°κ²°λμ΄ μΉμΊ μμ μ£Όμ΄μ§ μ€λͺ©νμ μ΄λ―Έμ§λ₯Ό μμ μ²λ¦¬νμ¬ μ€λͺ©νμ μ μ₯νλ λ°°μ΄μ κ° μνλ₯Ό μ λ°μ΄νΈνλ€. κ° μ λ°μ΄νΈλ₯Ό Roundλ‘ λλμ΄ κ° Roundλ§λ€ λ°μ€ν¬νμ λ΄μ₯λ RL λͺ¨λΈμ΄ μ»΄ν¨ν°κ° λ μ’νλ₯Ό νλ¨νμ¬ κ·Έ μ’νλ₯Ό μλμ΄λ Έμ μ λ¬νλ€.
μλμ΄λ Έλ μ λ¬ν μ’νμ λ°λΌ λͺ¨ν°λ₯Ό μ μ΄νλ νλ‘μμ μ λ°λΌ λ°λνμ μνμ μλ§κ² λλ€. μλμ΄λ Έμ LCD ν¨λμ κ²μμ΄ μ§ν μ€μΈμ§, λλ¬λμ§ νμνλ€. κ·Έλ¦¬κ³ λ²νΌμ λλ¬ κ²μμ μμνλ μ νΈλ μ€μ§νλ μ νΈλ₯Ό λ°μ€ν¬νμΌλ‘ 보λΈλ€. λ°λλ‘ λ°μ€ν¬νμ μ€λͺ© κ²μμ΄ λλλ Roundμ κ²μμ΄ λλ¬λ€λ μ νΈλ₯Ό μλμ΄λ Έλ‘ 보λΈλ€.
λΆν μ‘°λ¬μ΄ μ§μ°λμ΄ μ€μ ν μ€ν μ μν μ§μ μΈ 1μ 5μΌλΆν° 1μ 7μΌκΉμ§ νκΈ°λ‘ κ²°μ νμλ€. λΆνμ΄ μ€λ λμ νλ‘μΈμ€μ ꡬνκ³Ό RL λͺ¨λΈ νλ ¨μ νλ κ²μΌλ‘ κ²°μ νμ¬ Day 3λΆν° 본격μ μΌλ‘ κ°λ°νκΈ°λ‘ νμλ€.
μμ μ²λ¦¬: ν μ€νΈλ λΆνμ΄ μ€μ§ μμ μμλ‘ λ ΈνΈλΆμ μΉμΊ μΌλ‘ λμ ν μ€νΈν κ²μ΄λ€. μ΄λ―Έμ§λ μμμ λμ μ λ κ²μ λκ³Ό νμ λμ΄ μ΄λ μ’νμ μλμ§ CLIμ μΆλ ₯νλ κ²μΌλ‘ λ¨μ ν μ€ν ν κ²μ΄λ€.
RL λͺ¨λΈ: μκ° λ΄μ ꡬννμ§ λͺ»ν κ°λ₯μ±μ λ°©μ§νκΈ° μν΄ μμ΄μλ Pythonμ easyAI λΌμ΄λΈλ¬λ¦¬λ‘ λ¨Όμ ꡬνν κ²μ΄λ€. κ·Έλ¬κ³ λμ μλ§κ² 리ν©ν λ§νμ¬ Tensorflow λΌμ΄λΈλ¬λ¦¬λ‘ μ¬μμ±ν κ²μ΄λ€.
3D λͺ¨λΈλ§: λ‘λ΄ νλμ¨μ΄λ₯Ό ꡬμ±νλ λΆνμ ꡬμ±μ λͺ¨λΈλ§νμ¬ μ μ₯μμ 컀λ°νμ¬ λ³΄κ΄νλ€. κ·Έλ¬κ³ λμ μΆλ ₯νμ¬ λΆνμ΄ μ€λ μ¦μ 쑰립μ μμν κ²μ΄λ€.
μμ μ²λ¦¬λ₯Ό ν΅ν΄ μμλ‘ νλμμ κ°μ§νλ κ²μ μ±κ³΅νμλ€.(12/29) κ·Έλ¬κ³ λμ μ§μμ μΈ μ κ°μ§ ν μ€νΈλ₯Ό ν΅ν΄ κ²μλκ³Ό νμλμ μμΉλ₯Ό νλ©΄μΌλ‘ νμ§ν μ μκ² λλλ° μ±κ³΅νμλ€.(1/3) κ·Έλ¬λ νμ¬ νλμ¨μ΄κ° μμ±λμ§ μμ μ€μ λ‘ νμ§λλμ§ ν μ€νΈλ₯Ό ν μ μλ μνμ΄λ€. μ νμ§ κ°μ μ‘°μ νλλ° νλμ¨μ΄μ μ€μΉλ μ€ν λμ λΉμ λ°κΈ°, μΉμΊ μ μμΉ λ±μ λ°λΌ μλΉν λ¬λΌμ§ μ μμ΄ μ’νμ μμ κ²μΆνμ¬ μ€λͺ©νμ μνλ₯Ό μ λ°μ΄νΈνλ νλ‘μΈμ€λ AI λͺ¨λΈμ μμ±νκ³ κ²μ μ μ΄ νλ‘κ·Έλ¨μ ꡬμ±ν νμΈ κ°μ₯ λ§μ§λ§μ νκΈ°λ‘ κ²°μ νμλ€.
νμ¬ κ²μ μ μ΄ νλ‘κ·Έλ¨κ³Ό AI λͺ¨λΈμ src λλ ν 리λ₯Ό μ΄λ»κ² ꡬμ±ν μ§μ λν νμκ° λλκ³ λμ μ°¨κ·Όμ°¨κ·Ό 컀λ°ν μμ μ΄λ€.
μλ¦¬μΌ ν΅μ μ C#λ‘ μμ±νμλ€. κΈ°λ³Έμ μΈ νμ μμ§νκ³ λμ 본격μ μΌλ‘ λͺ©μ μ μλ§κ² ꡬνν κ²μ΄λ€. μ½λλ₯Ό μ§λλ°μ μ΄λ €μμ κ²ͺμ΄ κ²μκ³Ό μΉκ΅¬λ€μκ² λ¬Όμ΄λ΄κ°λ©° C++λ‘ μμ±νλ €κ³ νμμΌλ μ§μμ μΈ μ€λ₯κ° μΌμ΄λ¬λ€.(~1/2)λ°©λ²μ μ°Ύλ μ€ μ λ°°μ λμμ λ°μ C#μΌλ‘ μμ±ν μ μλ λ°©λ²μ μ°Ύμ κ° μλμ΄λ Έ νμΌλ‘ λ¬Έμμ΄μ μΆλ ₯νλ λ°μ μ±κ³΅νμλ€.(1/3)
λΆνμ λͺ¨λΈλ§νμλ€. μ μ₯μμ 컀λ°νκ³ λλ¨Έμ§ νμν λΆνμ μΆκ°λ‘ λ ν κ²μ΄λ€.
μλ¦¬μΌ ν΅μ μ ꡬνμ κ²μ¦νλ μ€μ ohseyoung123κ³Όμ νμλ₯Ό κ±°μ³ κΈ°μ νκ³ μ PythonμΌλ‘ μ¬μμ±νμκ³ κ²°μ νμλ€.(1/4) κ·Έλμ ohseyoung123μ΄ μμ±ν μμ€ νμΌμ 리뷰νκ³ νμ¬ μ€λͺ© μ μ΄ νλ‘κ·Έλ¨κ³Ό μλ¦¬μΌ ν΅μ νλ‘κ·Έλ¨μ ν©μΉλ μμ μ μ§ννκ³ μλ€.
νλμ¨μ΄ μμ μ€λͺ©νμ μνλ₯Ό λ΄μ λ°μ΄ν°λ₯Ό κ°μ Έμ νμ¬ Roundμ μΉλ¦¬ μ¬λΆλ₯Ό νμΈνκ³ ν΄μ λ리λ μ μ΄ νλ‘κ·Έλ¨μ μμ±νμλ€.(12/28) κ·Έ μ μ΄ νλ‘κ·Έλ¨μμ μμ μ²λ¦¬λ₯Ό ν΅ν΄ νλ μ΄μ΄κ° λ λμ μ’νλ₯Ό κ°μ Έμ€λ λ©μλμ AI λͺ¨λΈμ μ€ννμ¬ μ’νλ₯Ό κ°μ Έμ€λ λ©μλλ νμ¬ μμ μ€μ΄λ€. νμ¬ λͺ¨λΈμ΄ νλ ¨μ΄ μμ§ λμ§ μμκ³ μ겨λ λ²κ·Έλ₯Ό μμ νκ³ μλ€. (1/2 ~) μ λ²μ μΈκΈν λλ‘ λ΄μΌ(1/6)μ μμ μ²λ¦¬λ₯Ό ν΅ν΄ μ’νλ₯Ό λΆλ¬μ€λ λ©μλλ₯Ό μ€μ νλμ¨μ΄μ μ°κ²°ν΄ ν μ€νΈν μμ μ΄λ€. κ·Έλ¬λ©΄μ κ·Έ λ©μλ μμ€ νμΌμ 컀λ°ν κ²μ΄λ€.
νμ¬ μ€κ³λμ κ³νν λλ©΄λλ‘ λλΆλΆμ 물리μ ꡬνμ λ§μΉκ³ μλ€.(1/4 ~) κ·Έλ¬λ μΈμΈν μμ μ νλ©΄μ μΉμΊ κΉμ§ λ€ μ€μΉνλλ° μκ°μ΄ κ±Έλ € μ΅μ’ μ μΈ ν μ€νΈλ λ΄μΌ(1/7) νκΈ°λ‘ νμλ€.
νλμ¨μ΄μ νλ‘κ·Έλ¨ κ°μ λ€νΈμν¬ κ΅¬νμ΄ μννκ² μ΄λ£¨μ΄μ§μ§ μμκ³ μμ μ²λ¦¬ κΈ°μ μ ꡬννλλ° μκ°μ΄ λ§€μ° μ΄λ°νμλ€. κ·Έλμ νλ‘ν νμ λ§ μ μνκΈ°λ‘ κ²°μ νμλ€.
κ° νμμ μ€μΌμ€ λ¬Έμ λ‘ 2λΆκΈ° λ°©κ³Όν νλ‘κ·Έλ¨μ νλ‘μ νΈ λ°μ λ°λ‘ ꡬμ±νμ¬ κ·Έ μκ° λμ μμ±νκΈ°λ‘ κ²°μ νμλ€. μ νν μ¬κ° λ μ§λ μμ§ μ ν΄μ§μ§ μμλ€.