KR102217922B1 - 조립 정보 제공 시스템 및 모듈 어셈블리 - Google Patents

조립 정보 제공 시스템 및 모듈 어셈블리 Download PDF

Info

Publication number
KR102217922B1
KR102217922B1 KR1020190002191A KR20190002191A KR102217922B1 KR 102217922 B1 KR102217922 B1 KR 102217922B1 KR 1020190002191 A KR1020190002191 A KR 1020190002191A KR 20190002191 A KR20190002191 A KR 20190002191A KR 102217922 B1 KR102217922 B1 KR 102217922B1
Authority
KR
South Korea
Prior art keywords
module
assembly
information
user terminal
information providing
Prior art date
Application number
KR1020190002191A
Other languages
English (en)
Other versions
KR20200086050A (ko
Inventor
손승배
박휘재
이기백
오상훈
Original Assignee
주식회사 럭스로보
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 럭스로보 filed Critical 주식회사 럭스로보
Priority to KR1020190002191A priority Critical patent/KR102217922B1/ko
Priority to EP19894398.7A priority patent/EP3726452A4/en
Priority to US16/631,675 priority patent/US11586180B2/en
Priority to PCT/KR2019/012017 priority patent/WO2020145477A1/ko
Priority to CN201980031812.3A priority patent/CN112106095A/zh
Publication of KR20200086050A publication Critical patent/KR20200086050A/ko
Application granted granted Critical
Publication of KR102217922B1 publication Critical patent/KR102217922B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41805Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by assembly
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by quality surveillance of production
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0069Engineering, e.g. mechanical, electrical design
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/06Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics
    • G09B23/18Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism
    • G09B23/183Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2629Assembly line
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31056Selection of assembly processes, preferred assembly sequences

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Automation & Control Theory (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Stored Programmes (AREA)
  • Toys (AREA)

Abstract

조립 정보를 생성하는 조립 정보 관리부를 구비하는 기능 유닛을 포함하는 적어도 하나의 컨트롤 모듈을 포함하는 모듈 어셈블리; 및 상기 모듈 어셈블리와 네트워크로 연결되는 사용자 단말 및 조립 정보 제공 서버를 포함하며; 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 컨트롤 모듈로부터 상기 조립 정보를 수신하고; 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 조립 정보를 저장하고, 상기 조립 정보에 기초하여 상기 모듈 어셈블리의 조립 오류 여부를 판단하고 조립 오류 정보를 상기 모듈 어셈블리에게 전송하고; 상기 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈의 모듈 고유 정보를 포함하는 조립 정보 제공 시스템 및 모듈 어셈블리가 개시되어 있다.

Description

조립 정보 제공 시스템 및 모듈 어셈블리{A system for providing assembly information and a module assembly}
본 발명은 조립 정보 제공 시스템 및 모듈 어셈블리에 관한 것으로서, 보다 상세하게는 모듈 어셈블리의 조립 정보에 기초하여 조립 오류 여부를 판단하고 조립 오류 정보를 제공하고, 모듈을 제거, 치환 및 추가할 수 있도록 조립 도움 정보를 제공하는 조립 정보 제공 시스템 및 모듈 어셈블리에 관한 것이다.
최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다. 이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공될 수도 있다. 사용자는 제공된 매뉴얼 또는 스스로 창작한 방식에 따라 모듈들을 조립하여 특정한 목적을 수행하는 모듈 어셈블리를 제작할 수 있다.
일 예로, 대한민국 등록특허 제1761596호는 네트워크 모듈, 구동 모듈, 센서 모듈 등 다양한 종류의 모듈을 조립하여 제작한 모듈 어셈블리를 개시하고 있다. 이 때, 모듈 어셈블리는 학생이나 사용자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트, 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트 및 사용자가 취미용으로 조립 가능한 장난감 키트 등의 다양한 용도로 활용될 수 있다.
이러한 모듈 어셈블리들은 위에 언급한 바와 같이 소프트웨어 또는 하드웨어의 전문가인 연구원부터 학생, 일반인 등 다양한 사람들이 이용하고 있다. 단, 전문가를 제외한 일반인이나 학생들은 각 모듈들이 제대로 동작할 수 있도록 조립하고, 조립된 모듈 어셈블리를 구동시키기에 적합한 소프트웨어를 작성하여 사용하는 것이 어려울 수 있어서, 상술한 모듈의 보급에 제약이 될 수 있다.
따라서, 조립 중인 모듈 어셈블리 또는 조립이 완성된 모듈 어셈블리가 실행 시에도 오류 없이 동작할 수 있도록, 모듈 어셈블리의 조립 정보에 기초하여 조립 오류 여부를 판단하고 조립 오류 정보를 제공하고, 모듈을 제거, 치환 및 추가할 수 있도록 조립 도움 정보를 제공함으로써 누구나 쉽게 다용도 모듈 어셈블리를 제작하고 활용할 수 있도록 하는 시스템이 필요하다.
본 발명은 상술한 기술적 문제에 대응하기 위하여 안출된 것으로, 본 발명의 목적은 종래 기술에서의 한계와 단점에 의해 발생하는 다양한 문제점을 실질적으로 보완할 수 있는 것으로, 모듈 어셈블리의 조립 정보에 기초하여 조립 오류 여부를 판단하고 조립 오류 정보를 제공하고, 모듈을 제거, 치환 및 추가할 수 있도록 조립 도움 정보를 제공하는 조립 정보 제공 시스템 및 모듈 어셈블리를 제공하는데 있다.
본 발명의 일 실시예에 따르면 조립 정보 제공 시스템은 조립 정보를 생성하는 조립 정보 관리부를 구비하는 기능 유닛을 포함하는 적어도 하나의 컨트롤 모듈을 포함하는 모듈 어셈블리; 및 상기 모듈 어셈블리와 네트워크로 연결되는 사용자 단말 및 조립 정보 제공 서버를 포함하며; 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 컨트롤 모듈로부터 상기 조립 정보를 수신하고; 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 조립 정보를 저장하고, 상기 조립 정보에 기초하여 상기 모듈 어셈블리의 조립 오류 여부를 판단하고 조립 오류 정보를 상기 모듈 어셈블리에게 전송하고; 상기 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈의 모듈 고유 정보를 포함한다.
본 발명의 일 실시예에 따르면 상기 조립 정보는 모듈 고유 정보, 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함하고; 상기 모듈 카테고리는 모듈의 수행 기능에 따라 모듈을 분류한 정보이고; 상기 하위 연결 모듈 정보는 상기 모듈 어셈블리의 실행 순서 상에서 다음에 실행할 모듈의 모듈 고유 정보이며; 상기 실행 카테고리는 상기 모듈 어셈블리의 실행 순서 상의 모듈 기능이나 실행 방향을 결정하는 모듈 기능에 따라 모듈을 분류한 정보이다.
본 발명의 일 실시예에 따르면 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고; 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 조립 정보 및 상기 데이터베이스에 기초하여 상기 모듈 어셈블리의 소스 코드를 생성한다.
본 발명의 일 실시예에 따르면 상기 모듈 어셈블리의 소스 코드를 생성하는 것은 상기 조립 정보에 기초하여 상기 데이터베이스의 각각의 항목이 상기 모듈 어셈블리의 실행 순서 및 상기 모듈 카테고리와 일치하는 정도를 점수로 생성하고, 소정의 개수의 상위 순위의 소스 코드를 생성하고, 외부 입력에 기초하여 상기 소정의 개수의 상위 순위의 소스 코드 중 하나의 소스 코드를 선택하고; 상기 모듈 어셈블리의 실행 순서 및 상기 모듈 카테고리와 일치하는 정도를 점수로 생성하는 것은 상기 실행 순서 및 상기 모듈 카테고리가 모두 동일한 경우를 기준으로 볼 때, 상기 모듈 카테고리에 기초하여 상기 데이터베이스에서 상기 모듈 어셈블리의 소정의 모듈과 치환 가능한 모듈로 구성된 항목의 모듈 어셈블리의 실행 순서가 일치할 경우 그 유사도를 상기 소정의 치환 가능한 모듈의 개수에 기초하여 계산한다.
본 발명의 일 실시예에 따르면 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 소스 코드의 실행 규칙의 정합성을 체크하여 상기 모듈 어셈블리의 조립에 오류가 있는지 여부를 판단한다.
본 발명의 일 실시예에 따르면 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 수신한 상기 조립 오류 정보에 기초하여, 상기 모듈 어셈블리 중 상기 오류가 발생한 적어도 하나의 모듈은 LED를 소정의 색깔로 점멸시킨다.
본 발명의 일 실시예에 따르면 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 소스 코드의 실행 규칙의 정합성을 체크하여 상기 모듈 어셈블리에서 제거, 치환 또는 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 상기 모듈 어셈블리에게 제공한다.
본 발명의 일 실시예에 따르면 상기 모듈 어셈블리는 제거, 치환 또는 추가할 위치의 모듈의 LED를 소정의 색깔 및 소정의 방향으로 점멸시킨다.
본 발명의 일 실시예에 따르면 상기 소스 코드는 디버깅용 소스 코드이고; 상기 모듈 어셈블리는 상기 디버깅용 소스 코드의 실행 파일을 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 다운로드 받고; 상기 모듈 어셈블리는 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시킨다.
또한, 본 발명의 일 실시예에 따르면 사용자 단말 및 조립 정보 제공 서버와 네트워크로 연결되는 모듈 어셈블리에 있어서, 상기 모듈 어셈블리는 조립 정보를 생성하는 조립 정보 관리부를 구비하는 기능 유닛을 포함하는 적어도 하나의 컨트롤 모듈을 포함하고; 상기 컨트롤 모듈은 상기 조립 정보를 상기 사용자 단말 또는 상기 조립 정보 제공 서버에게 전송하는 조립 정보 전송부; 및 상기 사용자 단말 또는 상기 조립 정보 제공 서버가 상기 조립 정보에 기초하여 조립 오류 여부를 판단한, 조립 오류 정보를 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 수신하는 조립 오류 정보 수신부를 더 포함하고; 상기 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈의 모듈 고유 정보를 포함한다.
또한, 본 발명의 일 실시예에 따르면 조립 정보 제공 방법은 모듈 어셈블리의 적어도 하나의 컨트롤 모듈의 조립 정보 관리부에 의해, 조립 정보를 생성하는 단계; 상기 컨트롤 모듈의 조립 정보 전송부에 의해, 상기 조립 정보를 상기 사용자 단말 또는 상기 조립 정보 제공 서버에게 전송하는 단계; 및 상기 컨트롤 모듈의 조립 오류 정보 수신부에 의해, 상기 사용자 단말 또는 상기 조립 정보 제공 서버가 상기 조립 정보에 기초하여 조립 오류 여부를 판단한, 조립 오류 정보를 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 수신하는 단계를 포함하고; 상기 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈의 모듈 고유 정보를 포함한다.
본 발명의 일 실시예에 따르면 상기 사용자 단말 또는 상기 조립 정보 제공 서버에 의해, 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 및 이에 대응되는 소스 코드를 데이터베이스로 저장하는 단계; 및 상기 사용자 단말 또는 상기 조립 정보 제공 서버에 의해, 상기 조립 정보 및 상기 데이터베이스에 기초하여 상기 모듈 어셈블리의 소스 코드를 생성하는 단계를 더 포함한다.
본 발명의 일 실시예에 따르면 상기 모듈 어셈블리의 소스 코드를 생성하는 단계는 상기 조립 정보에 기초하여 상기 데이터베이스의 각각의 항목이 상기 모듈 어셈블리의 실행 순서 및 상기 모듈 카테고리와 일치하는 정도를 점수로 생성하는 단계; 소정의 개수의 상위 순위의 소스 코드를 생성하는 단계; 및 외부 입력에 기초하여 상기 소정의 개수의 상위 순위의 소스 코드 중 하나의 소스 코드를 선택하는 단계를 포함하고; 상기 모듈 어셈블리의 실행 순서 및 상기 모듈 카테고리와 일치하는 정도를 점수로 생성하는 단계는 상기 실행 순서 및 상기 모듈 카테고리가 모두 동일한 경우를 기준으로 볼 때, 상기 모듈 카테고리에 기초하여 상기 데이터베이스에서 상기 모듈 어셈블리의 소정의 모듈과 치환 가능한 모듈로 구성된 항목의 모듈 어셈블리의 실행 순서가 일치할 경우 그 유사도를 상기 소정의 치환 가능한 모듈의 개수에 기초하여 계산한다.
또한, 본 발명의 일 실시예에 따르면 상기 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.
본 발명에 따르면, 모듈 어셈블리의 조립 정보에 기초하여 조립 오류 여부를 판단하고 조립 오류 정보를 제공하고, 모듈을 제거, 치환 및 추가할 수 있도록 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보로 제공하는 조립 정보 제공 시스템 및 모듈 어셈블리를 제공할 수 있다.
본 발명에 따르면, 모듈 어셈블리가 교육용, 개인용 장난감 등으로 활용될 때에, 하드웨어 또는 소프트웨어를 잘 알지 못하는 비 전문가들도 조립 중인 모듈 어셈블리 또는 조립이 완성된 모듈 어셈블리가 오류 없이 동작할 수 있도록 모듈 어셈블리를 조립하고, 모듈을 제거, 치환 및 추가할 수 있다. 따라서, 본 발명에 따르면, 오류 없는 새로운 모듈 어셈블리를 쉽게 디자인할 수 있으므로 누구나 모듈 어셈블리를 쉽게 활용할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 2는 본 발명의 실시예에 따른 모듈의 내부 구조를 보여주는 평면도이다.
도 3은 본 발명의 실시예에 따른 조립 정보 제공 시스템을 개략적으로 도시한다.
도 4는 본 발명의 실시예에 따른 조립 정보를 도시한다.
도 5는 본 발명의 실시예에 따른 컨트롤 모듈의 블록도를 도시한다.
도 6은 본 발명의 실시예에 따른 모듈 어셈블리를 도시한다.
도 7은 본 발명의 실시예에 따른 모듈 어셈블리를 도시한다.
본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 전송하는 경우에는 구성요소는 다른 구성요소로 직접 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다. 도면에서 동일한 참조부호는 동일한 구성요소를 지칭하며, 도면 상에서 각 구성 요소의 크기는 설명의 명료성을 위하여 과장되어 있을 수 있다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이고, 도 2는 모듈의 내부 구조를 보여주는 평면도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 모듈 어셈블리(1)는 서로 조립 가능한 복수 개의 모듈 (10, 20, 30, 40)들로 구성된다.
본 실시예에서, 모듈 어셈블리(1)는 서로 조립 가능한 하나 이상의 모듈(10, 20, 30, 40)들의 집합 또는 이들이 조립된 구조체로 정의될 수 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다. 예를 들어, 모듈 어셈블리(1)는 학생이나 사용자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트의 일부일 수 있다. 또는, 모듈 어셈블리(1)는 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트의 일부일 수 있다. 또한, 모듈 어셈블리(1)는 사용자가 취미용으로 조립 가능한 장난감 키트의 일부일 수 있다.
설명의 용이함을 위하여 본 실시예에서는 모듈 어셈블리(1)가 도 1에 도시된 것과 같이 4개의 모듈(10, 20, 30, 40)들로 구성된 예를 설명하며, 각각 제1 모듈(10), 제2 모듈(20), 제3 모듈(30), 및 제4 모듈(40)로 지칭한다.
아울러, 본 실시예에서 모듈(10, 20, 30, 40)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하 '전기적 신호')를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈(10, 20, 30, 40)들은 중앙처리장치(CPU), 메모리, 전원 등을 구비하거나 또는 다른 모듈의 제어를 받아 작동 가능한 감지(sensing) 수단, 처리(processing) 수단, 구동 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다. 또한, 각각의 모듈(10, 20, 30, 40)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈(10, 20, 30, 40)들이 중앙처리장치를 구비하는 경우, 각각의 모듈별로 펌웨어가 설치될 수도 있다.
제1 모듈(10) 내지 제4 모듈(40)은 예컨대, 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 센서 모듈, 스마트폰 등과 무선 통신할 수 있는 무선 통신 모듈이고, 자이로스코프 센서 모듈 또는 모터(41) 등의 구동 모듈일 수 있다. 또한, 제1 모듈(10) 내지 제4 모듈(40)은 외부의 구동 장치(41)와 케이블(42)에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(1)는 리모컨 또는 스마트폰의 신호를 수신하여 모터(41)를 선택적으로 작동시키는 장치일 수 있다. 상기와 같은 모듈 어셈블리(1)의 구성은 하나의 예에 불과하며, 각각의 모듈은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.
모듈(10, 20, 30, 40)들은 다른 모듈과 면 접촉 가능한 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것 만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다.
본 실시예에서는 모듈(10, 20, 30, 40)들이 모두 동일한 크기의 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였다. 즉, 본 실시예에서의 모듈(10, 20, 30, 40)들은 4개의 측면을 갖는다. 또한, 본 실시예에서는 모듈 (10, 20, 30, 40)들의 높이가 모두 동일하게 형성되어, 모듈(10, 20, 30, 40)들이 모두 동일한 크기를 갖는 직육면체인 것을 예로 설명한다.
다른 실시예로서, 모듈(10, 20, 30, 40)들은 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기둥 형상으로 형성될 수도 있고, 특히 정다각형 형상으로 형성될 수 있다. 일부의 모듈(10, 20, 30, 40)들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈(10, 20, 30, 40)들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다.
여기서, 제1 모듈(10)은 외관을 형성하는 하우징(11)과, 하우징(11)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(107)와, 하우징(11)의 외부로 선택적으로 돌출되는 핀(180)이 제공된 핀 설치부(150) 및 다른 모듈의 핀이 삽입되는 핀 수용부(160)를 포함할 수 있다.
하우징(11)은 예컨대, 직육면체 형상으로 형성된 케이스일 수 있다. 하우징(11)은 도 1에 도시된 것처럼 상부 케이스(11a)와 하부 케이스(11b)가 결합되는 형태로 제공될 수 있다. 하우징(11)을 구성하는 방법은 필요에 따라 상부 케이스(11a)와 하부 케이스(11b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수 있다.
단자(107)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로, 하우징 (11)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자(107)에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(107)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다. 이와 같은 단자(107)는 핀(180), 핀 설치부(150), 핀 수 용부(160)와 한 셋트를 이루어 하우징(11)의 일 측면에 배치될 수 있다. 구체적으로, 단자(107)는 핀(180)과 핀 수용부(160) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다.
본 실시예에서는 하우징(11)의 모든 측면에 단자(107)가 제공되는 것을 예로 들었으나, 실시예에 따라서는 단자(107)가 형성되지 않은 측면이 존재할 수도 있다.
도 2를 참조하면, 하부 케이스(11b)는 외형 및 내부 구조를 형성하는 프레임(100), 프레임(100)의 내측에 제공되는 기판(102), 기판(102)에 설치되는 기능 유닛(104)을 포함할 수 있다.
프레임(100)은 하우징(11)의 일부 또는 전부를 구성하는 구조물로서, 하우징(11)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임(100)은 하우징(11)의 하부 케이스(11b)를 형성하는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다. 또한, 본 실시예에서 프레임(100)은 사각형 형상으로 형성되며, 4개의 코너(corner, 101)를 갖는다.
기판(102)에는 제1 모듈(10)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임(100)의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 마이크로프로세서를 포함할 수 있으며, 이 때 제1 모듈(10)이 독립적인 펌웨어에 의해 구동되면 제1 모듈(10)을 제어하기 위해 제공될 수 있다. 또 다른 예로서, 제1 모듈(10)이 적외선 센서 모듈인 경우, 기능 유닛(104)은 적외선 센서 및 적외선 센서로부터 감지된 값을 처리하는데 필요한 ADC(Analog Digital Converter) 및 다른 모듈 또는 외부 하드웨어와 통신하는 데 필요한 인터페이스 예컨대, I2C 또는 UART, 또는 USB 등의 통신 인터페이스 등 필요한 디바이스들을 포함할 수 있다.
본 발명의 모듈(10 내지 40)은 상술한 기능 유닛(104)의 기능에 따라 모듈의 종류가 정해진다. 예컨대, 기능 유닛(104)이 마이크로프로세서 및 메모리를 포함하고 있으며, 다른 유닛들을 제어할 수 있는 OS 또는 펌웨어를 포함하고 있는 경우에는 컨트롤 모듈이 된다. 또는, 기능 유닛(104)이 센서의 센싱 값을 다른 모듈 또는 외부 디바이스에 전달할 수 있는 경우에는 센서 모듈이 된다. 또는, 기능 유닛(104)이 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신 장치를 포함하면서 다른 모듈로부터 전기적 신호를 수신하여 상술한 유무선 통신 장치를 통하여 다른 외부 디바이스에 전기적 신호를 전송할 수 있는 경우에는 통신 모듈이 될 수 있다. 또는, 기능 유닛(104)이 모터 등의 다양한 액추에이터 및 액추에이터 제어 회로들을 포함하여 구동이 가능하게 하는 경우에는 구동 모듈이 될 수 있다. 기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
이하에서는 도 3을 참조하여 상술한 구조의 모듈 어셈블리(1)를 조립하고, 모듈 어셈블리의 조립 정보에 기초하여 조립 오류 여부를 판단하고 조립 오류 정보를 제공하고, 모듈을 제거, 치환 및 추가할 수 있도록 조립 도움 정보를 제공하는 조립 정보 제공 시스템에 대하여 서술한다. 도 3은 본 발명의 실시예에 따른 조립 정보 제공 시스템을 개략적으로 도시한다. 도 3을 참조하면, 본 발명의 실시예에 따른 조립 정보 제공 시스템은 모듈 어셈블리(1), 조립 정보 제공 서버(2) 및 사용자 단말(3)를 포함할 수 있다.
이 경우, 모듈 어셈블리(1)는 조립 정보 제공 서버(2) 및 사용자 단말(3)과 네트워크(4)로 연결될 수 있다. 본 실시예에서 상술한 네트워크(4)가 인터넷으로 구현되는 예에 대하여 설명하도록 한다. 단, 본 발명은 이에 한정되는 것은 아니며 당업자는 다양한 네트워크를 통하여 모듈 어셈블리(1)의 조립 정보 제공 서버(2) 및 사용자 단말(3)과의 연결을 구현할 수 있다. 네트워크(4)는 USB, RS-232 및 IEEE1394 등의 유선 근거리 통신 수단, WiFi 및 Bluetooth 등의 무선 근거리 통신 수단 및 인터넷 연결 등을 포함한다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 네트워크를 통하여 모듈 어셈블리(1)로부터 조립 정보를 수신할 수 있으며, 이러한 조립 정보를 데이터베이스로 저장할 수 있다. 이 경우, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여 조립 오류 여부를 판단하고 조립 오류 정보를 모듈 어셈블리(1)에게 제공하고, 모듈을 제거, 치환 및 추가할 수 있도록 조립 도움 정보를 모듈 어셈블리(1)에게 제공한다. 조립 정보는 이하 도 4 등을 이용하여 상세히 후술한다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여, 소스 코드를 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(1)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)이 소스 코드를 제공함에 있어서, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사용자의 모듈 어셈블리(1)의 조립 정보에 기초하여, 상기 데이터베이스의 각각의 항목이 모듈 어셈블리(1)의 실행 순서 및 모듈 카테고리와 일치하는 정도를 점수로 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 소정의 개수의 상위 순위의 소스 코드를 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)이 복수의 상위 순위의 소스 코드를 생성하는 경우, 외부 입력에 기초하여 사용자가 선호하는 소스 코드를 선택한다. 외부 입력에 기초한, 선호하는 소스 코드의 선택은 모듈 어셈블리(1)의 입력 모듈 또는 사용자 단말(3)의 사용자 인터페이스 등을 통해 다양한 방식으로 가능할 수 있음은 당업자에게 자명하다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)이 모듈 어셈블리(1)의 실행 순서 및 모듈 카테고리와 일치하는 정도를 점수로 생성할 경우, 실행 순서 및 모듈 카테고리가 모두 동일한 경우를 기준으로 볼 때, 모듈 어셈블리(1)의 모듈 카테고리에 기초하여 상기 데이터베이스에서 모듈 어셈블리(1)의 소정의 모듈과 치환 가능한 모듈로 구성된 항목의 모듈 어셈블리의 실행 순서가 일치할 경우, 그 유사도를 상기 소정의 치환 가능한 모듈의 개수에 기초하여 계산한다. 예를 들어, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 데이터베이스 각각의 항목 중, 모듈 어셈블리(1)의 실행 순서 및 모듈 카테고리와 모두 동일한 항목에 만점을 부여한다. 또한, 상기 데이터베이스 각각의 항목 중 모듈 어셈블리(1)의 모듈 카테고리에 기초하여, 모듈 어셈블리(1)의 소정의 모듈과 치환 가능한 모듈로 구성된 항목이 있고, 그 항목의 실행 순서가 모듈 어셈블리(1)의 실행 순서와 일치할 경우, 그 항목을 유사한 항목으로 보고 유사도 점수를 계산한다. 유사도 점수를 계산함에 있어서, 만점의 점수에서 치환 가능한 모듈의 개수에 소정의 점수를 곱한 값을 차감함으로써 유사도 점수를 계산할 수 있으나, 다양한 수식으로 유사도 점수를 계산할 수 있음은 당업자에게 자명하다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 모듈 어셈블리(1) 조립에 오류가 있는지 여부를 판단하고, 모듈 어셈블리(1)에 조립 오류 정보를 제공한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 모듈 어셈블리(1)가 실행 규칙에 맞게 배열되어 조립되어 있는지 등을 실행 규칙의 정합성으로 체크한다. 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈 고유 정보(모듈 ID)를 포함한다. 모듈 어셈블리(1)는 조립 정보 제공 서버(2) 또는 사용자 단말(3)로부터 제공받은 조립 오류 정보에 기초하여, 적어도 하나의 오류가 있는 모듈에 조립 오류가 있음을 출력한다. 모듈 어셈블리(1)는 적어도 하나의 오류가 있는 모듈의 LED를 소정의 색깔로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있으나, 다른 방식으로 조립 오류가 있음을 출력할 수 있음은 당업자에게 자명하다.
또한, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천할 수 있다. 전술한 바와 같이, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 현재 조립된 모듈 어셈블리(1)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 소스 코드에 기초하여, 모듈 어셈블리(1)에서 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천한다. 이 경우, 추가 또는 치환할 위치의 모듈 정보는 모듈 어셈블리(1)의 현재 구성에서, 모듈을 추가 부착하여 현재 구성 대비 추가적인 동작을 수행하거나, 또는 현재 구성에서 치환할 수 있는 모듈에 대한 정보를 의미한다.
본 발명의 실시예에 따른 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 현재 조립된 모듈 어셈블리(1)의 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 모듈 어셈블리(1)에게 제공한다. 모듈 어셈블리(1)는 제거, 치환 및 추가할 위치의 모듈의 LED를 소정의 색깔 및 소정의 방향으로 점멸시킴으로써, 제거, 치환 및 추가할 위치의 모듈 및 그 위치를 출력할 수 있으나, 다른 방식으로 출력할 수 있음은 당업자에게 자명하다. 이 때 조립 정보 제공 서버(2) 또는 사용자 단말(3)이 복수의 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 제공하는 경우, 외부 입력에 기초하여 선호하는 모듈 정보를 선택할 수 있다.
또한, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여, 디버깅용 소스 코드를 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 디버깅용 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(1)의 조립 정보 및 데이터베이스에 기초하여 디버깅용 소스 코드를 제공한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 디버깅용 소스 코드를 컴파일한 실행 파일(이하, 펌웨어)을 모듈 어셈블리(1)에게 제공한다. 디버깅용 펌웨어는 모듈 어셈블리(1)에 다운로드된다. 디버깅용 펌웨어는 모듈 어셈블리(1)의 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시킨다. 디버깅용 펌웨어는 입력 모듈에서 입력 순서를 기다리는 경우, LED 색깔을 소정의 색깔로 다르게 점멸시킬 수 있다.
도 4는 본 발명의 실시예에 따른 조립 정보를 도시한다.
조립 정보는 모듈 어셈블리(1) 내의 모듈들의 모듈 고유 정보(모듈 ID)(1048-1), 단계 정보(1048-2), 하위 연결 모듈 정보(1048-3), 연결 순위(1048-4) 및 모듈 카테고리(1048-6)를 포함한다. 조립 정보는 추가적으로 연결 방향(1048-5)을 더 포함할 수 있다.
모듈 고유 정보(1048-1)는 모듈 어셈블리에 포함된 모듈들의 모듈 ID를 나타낸다. 이 경우, 모듈 고유 정보(1048-1)는 UUID(Universally Unique IDentifier)와 같은 모듈 고유의 식별자 일 수 있으며, 컨트롤 모듈에서 연결 시 부여하는 임시 ID 일 수도 있다.
단계 정보(1048-2)는 컨트롤 모듈과의 거리를 의미하며, 컨트롤 모듈(10)로부터 해당 모듈까지 최단 경로 상으로 연결된 모듈을 카운팅하여 결정된다.
하위 연결 모듈 정보(1048-3)는 해당 모듈보다 단계가 낮은(컨트롤 모듈과의 거리가 더 먼) 모듈의 모듈 고유 정보를 나타낸다. 기본적으로 각 모듈은 해당 모듈과 연결된 모듈들의 정보를 저장하고 컨트롤 모듈에 연결될 때, 하위로 연결된 모듈의 정보를 컨트롤 모듈에게 제공할 수 있다.
연결 순위(1048-4)는 컨트롤 모듈에 접속하는 순서를 나타낸다. 컨트롤 모듈(10)에 이미 결합되어 있는 복수의 모듈인 모듈 그룹이 결합되는 경우에는 모듈 그룹에 동일한 공통 연결 순위(1048-7)가 부여될 수 있다.
연결 방향(1048-5)은 부가적인 정보로서, 하위 연결 모듈 및 상위 연결 모듈이 어떤 포트와 물리적으로 접속되었는지를 나타내는 정보이다. 예를 들어, 통신 모듈과 자이로스코프 센서 모듈이 있는 경우에, 통신 모듈의 전자기파가 자이로스코프 센서 모듈의 센싱에 영향을 줄 수도 있으므로, 가급적이면 영향을 주지 않는 위치에 연결 방향을 결정하여 서로 배치할 수 있다.
모듈 카테고리(1048-6)는 모듈의 수행 기능에 따라 모듈을 분류한 정보이다. 예를 들어, 입력 모듈은 입력되는 전기 신호를 수집하는 모듈로서, 마이크로폰, 온도 센서, 자이로스코프 센서, 적외선 센서, 초음파 센서 등의 각종 센서와 다이얼, 버튼, 키보드 등의 키 입력을 포함한다. 출력 모듈은 모터 등의 액추에이터, 발광다이오드(LED), 액정 디스플레이 장치, 스피커를 포함한다. 통신 모듈은 LTE, Bluetooth 등의 네트워크 모듈을 포함한다. 컨트롤 모듈은 사용자 단말(3)에서 프로그래밍한 애플리케이션을 실행할 수 있는 모듈로서, 마이크로프로세서를 포함한다. 이러한 카테고리 정보에 기초하여 조립 정보 제공 서버 또는 사용자 단말에서는 모듈 추천 시 치환 가능한 모듈인지, 추가 가능한 모듈인지 여부를 판단할 수 있다. 모듈 카테고리(1048-6)가 다단계로 구성될 수 있음은 당업자에게 자명하다. 예를 들어, 입력 모듈/마이크로폰의 2단계로 모듈 카테고리를 구성할 수도 있다.
한편, 본 발명의 다른 실시예에 따른 조립 정보는 모듈 고유 정보(모듈 ID), 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함한다.
모듈 고유 정보는 모듈 어셈블리에 포함된 모듈들의 모듈 ID를 나타낸다. 모듈 카테고리는 모듈의 수행 기능에 따라 모듈을 분류한 정보이다. 예를 들어, 입력 모듈은 입력되는 전기 신호를 수집하는 모듈로서, 마이크로폰, 온도 센서, 자이로스코프 센서, 적외선 센서, 초음파 센서 등의 각종 센서와 다이얼, 버튼, 키보드 등의 키 입력을 포함한다. 출력 모듈은 모터 등의 액추에이터, 발광다이오드(LED), 액정 디스플레이 장치, 스피커를 포함한다. 통신 모듈은 LTE, Bluetooth 등의 네트워크 모듈을 포함한다. 컨트롤 모듈은 사용자 단말(3)에서 프로그래밍한 애플리케이션을 실행할 수 있는 모듈로서, 마이크로프로세서를 포함한다. 이러한 카테고리 정보에 기초하여 조립 정보 제공 서버 또는 사용자 단말에서는 모듈 추천 시 치환 가능한 모듈인지, 추가 가능한 모듈인지 여부를 판단할 수 있다. 모듈 카테고리가 다단계로 구성될 수 있음은 당업자에게 자명하다. 예를 들어, 입력 모듈/마이크로폰의 2단계로 모듈 카테고리를 구성할 수도 있다. 하위 연결 모듈 정보는 모듈 어셈블리의 실행 순서 상에서 자신의 모듈이 실행한 다음에 실행할 모듈의 모듈 고유 정보를 나타낸다. 실행 카테고리는 모듈 어셈블리의 실행 순서 상의 모듈 기능이나 실행 방향을 결정하는 모듈 기능에 따라 모듈을 분류한 정보이다. 예를 들어, 실행 카테고리는 모듈 어셈블리의 실행 순서 상의 모듈 기능인 'START' 모듈, 'END' 모듈 및 실행 방향을 결정하는 모듈 기능인 'SEQUENCE' 모듈을 포함한다. 'SEQUENCE' 모듈은 'SEQUENCE UP' 모듈, 'SEQUENCE DOWN' 모듈, 'SEQUENCE LEFT' 모듈 및 'SEQUENCE RIGHT' 모듈을 포함한다. 실행 카테고리를 통해 각각의 컨트롤 모듈이 모듈 어셈블리의 실행 순서 상에서 START 모듈인지 END 모듈인지 여부 등을 판단할 수 있고, 실행 방향을 결정할 수 있다.
앞서 기능 유닛(104)에 관한 설명에서 기술한 바와 같이, 모듈(10 내지 40)의 기능은 기능 유닛(104)의 구성에 따라 정해지게 된다. 도 5는 컨트롤 모듈(10)의 블록도를 도시한다.
도 5를 참조하면 컨트롤 모듈(10)의 기능 유닛(104)은 조립 정보 관리부(1043), 통신 제어부(1044), 메모리(1045) 및 마이크로프로세서(1050)를 포함한다.
여기서, 조립 정보 관리부(1043)는 모듈 어셈블리(1)의 연결 구조(조립 정보)를 감지하는 프로토콜을 실행하여 조립 정보를 결정하는 기능을 수행한다. 보다 구체적으로, 조립 정보 관리부(1043)는 조립 정보 감지부(1043-1) 및 조립 정보 생성부(1043-2)를 포함한다.
조립 정보 감지부(1043-1)는 조립 정보 감지 프로토콜을 포함하며 연결된 모듈들의 조립 정보를 감지할 수 있는 하드웨어 및/또는 소프트웨어 구성요소이다. 예컨대, 조립 정보 감지부(1043-1)는 모듈 어셈블리(1)에 연결된 모듈들의 모듈 고유 정보, 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 감지한다.
조립 정보 생성부(1043-2)는 감지된 조립 정보에 따라 모듈 어셈블리(1)의 조립 정보를 결정하여 메모리에 기입할 수 있다. 예컨대, 조립 정보 생성부(1043-2)는 모듈 어셈블리(1)에 연결된 각각의 모듈의 모듈 고유 정보, 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함하는 조립 정보를 생성한다.
통신 제어부(1044)는 외부 기기와의 통신 및 모듈 사이의 통신을 제어할 수 있다. 외부 기기와의 통신은 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신을 포함할 수 있다. 한편, 모듈 사이의 통신은 UART, I2C, LIN, CAN 등 다양한 내부 통신 수단을 이용하여 모듈간 통신을 수행할 수 있다. 통신 제어부(1044) 내에는 상술한 다양한 유무선 통신 수단 또는 모듈 사이의 통신 수단을 포함할 수도 있고, 별도의 네트워크 모듈과 연결될 때 별도의 네트워크 모듈을 제어하는 방식으로 통신할 수도 있다.
컨트롤 모듈(10)은 조립 정보 전송부(미도시) 및 조립 오류 정보 수신부(미도시)를 더 포함할 수 있다. 상기 조립 정보 전송부는 통신 제어부(1044)를 통해 조립 정보(1048)를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에게 전송한다. 상기 조립 오류 정보 수신부는 사용자 단말(3) 또는 조립 정보 제공 서버(2)가 상기 조립 정보에 기초하여 조립 오류 여부를 판단한, 조립 오류 정보를 사용자 단말(3) 또는 조립 정보 제공 서버(2)로부터 수신한다.
메모리(1045)는 모듈 어셈블리(1)의 동작에 필요한 각종 정보, 소프트웨어 및 연결된 모듈의 조립 정보에 관한 각종 정보들을 포함하며, 예를 들어, 메모리(1045)는 모듈 정보(1046), 구동 정보(1047), 조립 정보(1048) 및 펌웨어(1049)를 포함할 수 있다.
모듈 정보(1046)는 모듈 ID, 모듈 카테고리, 기능 정보 및 메타 정보 중 적어도 하나를 포함한다.
모듈 ID는 UUID(Universally Unique identifier)와 같은 모듈 고유의 식별자이거나 컨트롤 모듈(10)에서 결합 시 부여하는 임시 ID일 수 있다.
모듈 카테고리는 치환 가능한 모듈들을 찾는 것을 보조하기 위하여 복수의 모듈을 수행 기능을 중심으로 유사한 기능을 가진 모듈들을 상위 개념으로 분류하는 개념이다. 예컨대, 센서, 키, 마이크 등 전기 신호를 입력하는 모듈들은 '입력', 액추에이터, 디스플레이, LED 등은 '출력', 또는 마이크로프로세서를 포함하며, 사용자가 포팅한 프로그램을 실행시킬 수 있는 모듈, 네트워크 모듈, 배터리 모듈 또는 가중치 표시 모듈은 '셋업' 등이 모듈 카테고리의 예가 될 수 있다.
기능 정보는 모듈의 상세 기능을 표시한 것으로, 예를 들어, 컨트롤 모듈, 적외선 센서 모듈, 스위치 모듈, 전원 모듈 및 네트워크 모듈 등이 상세 기능이 될 수 있다. 이 경우, 모듈의 기능은 각 모듈 내의 기능 유닛(104)의 구성에 따라 달라질 수 있다.
메타 정보는 모듈의 기타 정보로서, 예를 들어, '선풍기' 등의 구체적인 기기 명이 될 수도 있고, '바람', 또는 '시원' 등과 같은 선풍기와 연관된 연관 검색어들이 될 수 있다.
구동 정보(1047)는 각 모듈을 구동하기 위한 드라이버(Driver)이다. 이러한 구동 정보는 해당 모듈이 저장하고 있다가 모듈 연결 시에 컨트롤 모듈(10)에 제공하거나 또는 컨트롤 모듈(10)이 모듈 정보를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공하는 경우, 조립 정보 제공 서버(2) 또는 사용자 단말(3)로부터 다운로드 받을 수 있다.
펌웨어(1049)는 모듈 어셈블리(1)를 동작시키기 위한 소프트웨어로서, 사용자 단말(3)을 통해 소스 코드를 작성하여 컴파일 후 실행파일로 생성할 수 있다. 또는 컨트롤 모듈(10)이 조립 정보를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에게 제공하는 경우, 조립 정보 제공 서버(2) 또는 사용자 단말(3)로부터 소스 코드를 추천받고, 추천받은 소스 코드를 컴파일한 실행파일(펌웨어)을 조립 정보 제공 서버(2) 또는 사용자 단말(3)로부터 다운로드 받을 수 있다.
마이크로프로세서(1050)는 모듈 어셈블리(1) 상의 펌웨어 및 통신 제어부(1044) 등의 실행을 위한 연산 장치로서, 당업자는 모듈 어셈블리(1)에 필요한 마이크로프로세서(1050)를 적절하게 선택하여 구현할 수 있다.
한편 본 발명의 다른 실시예에 따른 모듈 어셈블리는 복수 개의 컨트롤 모듈로 구성될 수 있다. 이 경우, 각각의 컨트롤 모듈이 감지 및 생성하는 조립 정보는 자신의 모듈 고유 정보(모듈 ID), 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함한다. 모듈 어셈블리의 복수 개의 모듈 각각은 상기 조립 정보를 생성하여 통신 제어부를 통해 사용자 단말(3) 또는 조립 정보 제공 서버(2)에게 제공한다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 네트워크를 통하여 모듈 어셈블리(1)로부터 상기 조립 정보를 수신할 수 있으며, 이러한 조립 정보를 데이터베이스로 저장할 수 있다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 각각의 컨트롤 모듈로부터 수신한 조립 정보에 기초하여 START 모듈부터 END 모듈까지 모듈 어셈블리(1)의 실행 순서를 판단할 수 있다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 조립 정보에 기초하여 모듈 어셈블리의 소스 코드를 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 저장하고 현재 사용자의 모듈 어셈블리(1)의 조립 정보에 기초하여 소스 코드를 제공한다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 모듈 어셈블리(1) 조립에 오류가 있는지 여부를 판단하고, 모듈 어셈블리(1)에 조립 오류 정보를 제공한다.
또한, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천할 수 있다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 저장하고, 저장된 조립 정보 이력을 참조하여 현재 조립된 모듈 어셈블리(1)의 조립 정보에 기초하여 모듈 어셈블리(1)에서 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천한다. 본 실시예에 따른 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 현재 조립된 모듈 어셈블리(1)의 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 모듈 어셈블리(1)에게 제공한다.
도 6은 본 발명의 실시예에 따른 모듈 어셈블리를 도시한다.
모듈 어셈블리(600)는 모듈 610 내지 모듈 660을 포함한다. 모듈 어셈블리(600)는 모듈 어셈블리의 실행 순서 상의 모듈 기능 또는 실행 방향을 결정하는 모듈 기능을 나타내는 실행 카테고리 중, 'START' 모듈(610), 'SEQUENCE DOWN' 모듈(620) 및 'SEQUENCE RIGHT' 모듈(640)을 포함한다. 'START' 모듈(610)은 모듈 어셈블리(600)의 실행 순서 상에서 시작 기능을 수행하고, 'SEQUENCE DOWN' 모듈(620)은 모듈 어셈블리(600)의 실행 방향을 아래 방향으로 변경한다. 'SEQUENCE RIGHT' 모듈(640)은 모듈 어셈블리(600)의 실행 방향을 오른쪽 방향으로 변경한다. 따라서, 모듈 어셈블리(600)는 모듈 610, 모듈 620, 모듈 630, 모듈 640의 순서로 실행된다.
도시된 예에서, 'SEQUENCE DOWN' 모듈(620) 및 'SEQUENCE RIGHT' 모듈(640) 과 같은, 실행 방향을 결정하는 실행 카테고리를 갖는 'SEQUENCE' 모듈이 한 방향으로 실행하는 경우를 예를 들었으나, 'SEQUENCE' 모듈이 4가지 실행 방향에 대해 각각 우선 순위 값을 가질 수도 있다. 이 경우, 모듈 어셈블리는 'SEQUENCE' 모듈에서 우선 순위가 가장 높은 값을 갖는 방향으로 우선 실행 하되, 이 후 모듈 어셈블리가 더 이상 실행 방향을 결정하지 못할 경우, 상기 'SEQUENCE' 모듈에서 다음 우선 순위 값을 갖는 방향으로 실행을 이어 나갈 수 있다.
본 발명의 실시예에 따르면 모듈 어셈블리(600)에서 컨트롤 모듈이 하나 존재하면, 해당 컨트롤 모듈이 전술한 조립 정보를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공한다.
한편, 본 발명의 다른 실시예에 따르면, 모듈 어셈블리(600)가 복수 개의 컨트롤 모듈로 구성되면, 각각의 컨트롤 모듈은 자신의 모듈 고유 정보, 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함하는 조립 정보를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공한다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여, 소스 코드를 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(600)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 이 때 조립 정보 제공 서버(2) 또는 사용자 단말(3)이 복수의 소스 코드를 제공하는 경우에 외부 입력에 기초하여 사용자가 선호하는 소스 코드를 선택할 수 있다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 모듈 어셈블리(600) 조립에 오류가 있는지 여부를 판단하고, 모듈 어셈블리(600)에게 조립 오류 정보를 제공한다. 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈 고유 정보(모듈 ID)를 포함한다.
모듈 어셈블리(600)는 조립 정보 제공 서버(2) 또는 사용자 단말(3)로부터 제공받은 조립 오류 정보에 기초하여, 적어도 하나의 오류가 있는 모듈에 조립 오류가 있음을 출력한다. 모듈 어셈블리(600)는 적어도 하나의 오류가 있는 모듈의 LED를 소정의 색깔로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있으나, 다른 방식으로 조립 오류가 있음을 출력할 수 있음은 당업자에게 자명하다. 조립 오류의 출력은 사용자 단말(3)로부터 체크 버튼과 같은 외부 입력을 받거나, 사용자가 오류가 있는 모듈을 연결할 때 가능하나, 다양한 방식으로 조립 오류의 출력 시점을 결정할 수 있음은 당업자에게 자명하다.
예를 들어, 모듈 어셈블리(600)가 모듈 630에 'START' 모듈을 포함하는 경우, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 실행 순서 상에 'START' 모듈이 중복되었다는 오류를 판단하고, 모듈 630의 모듈 고유 정보를 포함하는 조립 오류 정보를 모듈 어셈블리(600)에 제공한다. 모듈 어셈블리(600)는 조립 오류 정보에 기초하여 모듈 630의 LED를 빨간색으로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천할 수 있다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고, 현재 조립된 모듈 어셈블리(600)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 이 때 조립 정보 제공 서버(2) 또는 사용자 단말(3)이 복수의 소스 코드를 제공하는 경우에 외부 입력에 기초하여 선호하는 소스 코드를 선택할 수 있다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 소스 코드에 기초하여, 모듈 어셈블리(600)에서 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 현재 조립된 모듈 어셈블리(600)의 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 모듈 어셈블리(600)에게 제공한다.
예를 들어 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 모듈 어셈블리(600)의 실행 순서 상 추가할 위치의 모듈인 모듈 640의 정보와 오른쪽 방향의 위치를 조립 도움 정보에 포함하여 모듈 어셈블리(600)에게 제공한다. 모듈 어셈블리(600)는 조립 도움 정보에 기초하여, 모듈 640의 LED를 오른쪽 방향으로 점멸시킨다. LED를 오른쪽 방향으로 점멸시키는 방식은 모듈의 LED를 상, 하, 좌, 우의 구역으로 나누고 '우' 구역을 점멸시킬 수 있으나, 다양한 방식으로 오른쪽 방향 점멸을 구현할 수 있음은 당업자에게 자명하다. 모듈 어셈블리(600)가 조립 도움 정보에 기초하여, 제거, 치환 및 추가할 위치의 모듈을 출력하는 시점은 사용자 단말(3)로부터 체크 버튼과 같은 외부 입력을 받거나, 사용자가 제거, 치환 및 추가할 위치의 모듈을 연결할 때 가능하나, 다양한 방식으로 제거, 치환 및 추가할 위치의 모듈을 출력하는 시점을 결정할 수 있음은 당업자에게 자명하다.
또한, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여, 디버깅용 소스 코드를 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 디버깅용 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(600)의 조립 정보 및 데이터베이스에 기초하여 디버깅용 소스 코드를 제공한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 디버깅용 소스 코드를 컴파일한 실행 파일(이하, 펌웨어)을 모듈 어셈블리(600)에게 제공한다. 디버깅용 펌웨어는 모듈 어셈블리(600)에 다운로드된다. 디버깅용 펌웨어는 모듈 어셈블리(600)의 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시킨다. 예를 들어, 모듈 어셈블리(600)는 실행 순서에 따라, 모듈 610, 모듈 620, 모듈 630, 모듈 640의 순서로 각각의 모듈의 LED를 빨간색으로 소정의 속도로 점멸시킨다. 모듈 어셈블리(600)가 입력 모듈에서 입력 순서를 기다리는 경우, LED 색깔을 빨간색과 다른 색깔(예. 파란색)로 다르게 점멸시킬 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 모듈 어셈블리는 모듈 어셈블리의 실행 순서 상에서 실제 실행되는 모듈들의 정보를 조립 정보로 구성하여 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공한다. 모듈 어셈블리의 실행 카테고리 중 'SEQUENCE' 모듈의 경우, 모듈 표면의 표시, 모듈 돌출부에 의한 표시 및 LED 출력에 의한 표시 등 다양한 방법으로 사용자가 직관적으로 모듈 어셈블리의 실행 방향을 알 수 있다. 따라서, 'SEQUENCE' 모듈이 실행 방향 결정 이외에 다른 기능을 수행하지 않을 경우, 모듈 어셈블리는 'SEQUENCE' 모듈을 제외한, 실제 실행 순서 상에서 실행되는 모듈들에 기초한 조립 정보를 생성한다. 예컨대, 본 발명의 다른 실시예에 따른 도 6의 모듈 어셈블리(600)의 모듈 610은 자신의 하위 연결 모듈 정보로 모듈 630의 모듈 고유 정보를 생성한다. 따라서, 본 발명의 다른 실시예에 따른 모듈 어셈블리(600)는 모듈 610, 모듈 630의 순서로 실행된다.
모듈 어셈블리에서 컨트롤 모듈이 하나 존재하면, 해당 컨트롤 모듈이 전술한 조립 정보를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공한다.
도 7은 본 발명의 실시예에 따른 모듈 어셈블리를 도시한다.
모듈 어셈블리(700)는 모듈 710 내지 모듈 770을 포함한다. 모듈 어셈블리(700)는 모듈 어셈블리의 실행 순서 상의 모듈 기능 또는 실행 방향을 결정하는 모듈 기능을 나타내는 실행 카테고리 중, 'START' 모듈(710), 'SEQUENCE DOWN' 모듈(720), 조건 모듈(740) 및 'SEQUENCE UP' 모듈(750)을 포함한다. 'START' 모듈(710)은 모듈 어셈블리(700)의 실행 순서 상에서 시작 기능을 수행하고, 'SEQUENCE DOWN' 모듈(720)은 모듈 어셈블리(700)의 실행 방향을 아래 방향으로 변경한다. 'SEQUENCE UP' 모듈(750)은 모듈 어셈블리(700)의 실행 방향을 위 방향으로 변경한다. 따라서, 모듈 어셈블리(700)는 모듈 710, 모듈 720, 모듈 730, 모듈 740, 모듈 750, 모듈 740, 모듈 730, 모듈 720의 순서로 실행된다. 이 경우, 모듈 어셈블리(700)는 모듈 720 내지 모듈 750의 구간을 반복 실행하게 된다. 모듈 어셈블리(700)는 조건 모듈(740)을 포함하는데, 조건 모듈은 모듈 720 내지 모듈 750의 구간 반복 실행을 종료하는 조건문을 실행한다. 상기 조건문은 두 값을 비교하여 결과에 따라 참 또는 거짓을 반환하는 관계 연산자 및 참과 거짓을 연산하여 다시 참 또는 거짓을 반환하는 논리 연산자 중 적어도 하나를 포함한다. 모듈 어셈블리(700)는 조건 모듈(740)의 조건문이 만족하는 경우, 모듈 720 내지 모듈 750의 구간 반복 실행을 종료하고 모듈 760을 실행한다.
본 발명의 실시예에 따르면 모듈 어셈블리(700)에서 컨트롤 모듈이 하나 존재하면, 해당 컨트롤 모듈이 전술한 조립 정보를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공한다.
한편, 본 발명의 다른 실시예에 따르면, 모듈 어셈블리(700)가 복수 개의 컨트롤 모듈로 구성되면, 각각의 컨트롤 모듈은 자신의 모듈 고유 정보, 실행 카테고리 및 하위 연결 모듈 정보를 포함하는 조립 정보를 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공한다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 조립 정보에 기초하여, 소스 코드를 생성한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(700)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 이 때 조립 정보 제공 서버(2) 또는 사용자 단말(3)이 복수의 소스 코드를 제공하는 경우에 외부 입력에 기초하여 선호하는 소스 코드를 선택할 수 있다.
조립 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 모듈 어셈블리(700) 조립에 오류가 있는지 여부를 판단하고, 모듈 어셈블리(700)에게 조립 오류 정보를 제공한다. 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈 고유 정보(모듈 ID)를 포함한다.
예를 들어, 모듈 어셈블리(700)의 조건 모듈(740)의 조건문을 만족하는 경우가 발생하지 않을 경우, 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 모듈 720 내지 모듈 750의 구간 반복 실행이 종료되지 않는다는 오류를 판단하고, 모듈 740의 모듈 고유 정보를 포함하는 조립 오류 정보를 모듈 어셈블리(700)에게 제공한다.
모듈 어셈블리(700)는 조립 정보 제공 서버(2) 또는 사용자 단말(3)로부터 제공받은 조립 오류 정보에 기초하여, 적어도 하나의 오류가 있는 모듈에 조립 오류가 있음을 출력한다. 모듈 어셈블리(700)는 적어도 하나의 오류가 있는 모듈의 LED를 소정의 색깔로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있으나, 다른 방식으로 조립 오류가 있음을 출력할 수 있음은 당업자에게 자명하다. 조립 오류의 출력은 사용자 단말(3)로부터 체크 버튼과 같은 외부 입력을 받거나, 사용자가 오류가 있는 모듈을 연결할 때 가능하나, 다양한 방식으로 조립 오류의 출력 시점을 결정할 수 있음은 당업자에게 자명하다.
예를 들어, 모듈 어셈블리(700)는 조립 오류 정보에 기초하여 모듈 740의 LED를 빨간색으로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 펌웨어(firmware), 소프트웨어(software) 또는 하드웨어(hardware)로 구성된다. 알고리즘 또는 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 디지털 신호 처리 디바이스(Digital Signal Processing Device)의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상으로 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 예시적인 실시예에 따른 장치는 도시된 바와 같은 장치 각각의 유닛들에 커플링된 버스, 상기 버스에 커플링된 적어도 하나의 프로세서를 포함할 수 있고, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 커플링되고, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

Claims (22)

  1. 조립 정보를 생성하는 조립 정보 관리부를 구비하는 기능 유닛을 포함하는 적어도 하나의 컨트롤 모듈 및 시퀀스 모듈을 포함하는 모듈 어셈블리; 및
    상기 모듈 어셈블리와 네트워크로 연결되는 사용자 단말 및 조립 정보 제공 서버를 포함하며;
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 컨트롤 모듈로부터 상기 조립 정보를 수신하고; 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 조립 정보를 저장하고, 상기 조립 정보에 기초하여 상기 모듈 어셈블리의 조립 오류 여부를 판단하고 조립 오류 정보를 상기 모듈 어셈블리에게 전송하고; 상기 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈의 모듈 고유 정보를 포함하며
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고; 상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 조립 정보에 기초하여 상기 데이터베이스의 각각의 항목이 상기 모듈 어셈블리의 실행 순서 및 모듈 카테고리와 일치하는 정도를 점수로 생성하고, 소정의 개수의 상위 순위의 소스 코드를 생성하고, 외부 입력에 기초하여 상기 소정의 개수의 상위 순위의 소스 코드 중 하나의 소스 코드를 선택하고, 상기 모듈 어셈블리의 실행 순서 상의 모듈 기능이나 실행 방향의 적어도 일부는 상기 시퀀스 모듈에 위치에 따라 결정되고,
    상기 모듈 어셈블리의 실행 순서 및 상기 모듈 카테고리와 일치하는 정도를 점수로 생성하는 것은 상기 실행 순서 및 상기 모듈 카테고리가 모두 동일한 경우를 기준으로 볼 때, 상기 모듈 카테고리에 기초하여 상기 데이터베이스에서 상기 모듈 어셈블리의 소정의 모듈과 치환 가능한 모듈로 구성된 항목의 모듈 어셈블리의 실행 순서가 일치할 경우 그 유사도를 상기 소정의 치환 가능한 모듈의 개수에 기초하여 계산하는, 조립 정보 제공 시스템.
  2. 제1항에 있어서,
    상기 조립 정보는 모듈 고유 정보, 상기 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함하고;
    상기 모듈 카테고리는 모듈의 수행 기능에 따라 모듈을 분류한 정보이고;
    상기 하위 연결 모듈 정보는 상기 모듈 어셈블리의 실행 순서 상에서 다음에 실행할 모듈의 모듈 고유 정보이며;
    상기 실행 카테고리는 상기 모듈 어셈블리의 실행 순서 상의 모듈 기능이나 실행 방향을 결정하는 상기 시퀀스 모듈의 기능에 따라 모듈을 분류한 정보인 것을 특징으로 하는 조립 정보 제공 시스템.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 소스 코드의 실행 규칙의 정합성을 체크하여 상기 모듈 어셈블리의 조립에 오류가 있는지 여부를 판단하는 것을 특징으로 하는 조립 정보 제공 시스템.
  6. 제1항에 있어서,
    상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 수신한 상기 조립 오류 정보에 기초하여, 상기 모듈 어셈블리 중 상기 오류가 발생한 적어도 하나의 모듈은 LED를 소정의 색깔로 점멸시키는 것을 특징으로 하는 조립 정보 제공 시스템.
  7. 제1항에 있어서,
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 소스 코드의 실행 규칙의 정합성을 체크하여 상기 모듈 어셈블리에서 제거, 치환 또는 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 상기 모듈 어셈블리에게 제공하는 것을 특징으로 하는 조립 정보 제공 시스템.
  8. 제7항에 있어서,
    상기 모듈 어셈블리는 제거, 치환 또는 추가할 위치의 모듈의 LED를 소정의 색깔 및 소정의 방향으로 점멸시키는 것을 특징으로 하는 조립 정보 제공 시스템.
  9. 제1항에 있어서,
    상기 소스 코드는 디버깅용 소스 코드이고;
    상기 모듈 어셈블리는 상기 디버깅용 소스 코드의 실행 파일을 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 다운로드 받고;
    상기 모듈 어셈블리는 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시키는 것을 특징으로 하는 조립 정보 제공 시스템.
  10. 적어도 하나의 컨트롤 모듈 및 시퀀스 모듈을 포함하는 모듈 어셈블리에서, 상기 적어도 하나의 컨트롤 모듈의 조립 정보 관리부에 의해, 조립 정보를 생성하는 단계;
    상기 컨트롤 모듈의 조립 정보 전송부에 의해, 상기 조립 정보를 사용자 단말 또는 조립 정보 제공 서버에게 전송하는 단계; 및
    상기 컨트롤 모듈의 조립 오류 정보 수신부에 의해, 상기 사용자 단말 또는 상기 조립 정보 제공 서버가 상기 조립 정보에 기초하여, 조립 오류 여부를 판단하는 조립 오류 정보를 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 수신하는 단계를 포함하고,
    상기 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈의 모듈 고유 정보를 포함하며
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고;
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 조립 정보에 기초하여 상기 데이터베이스의 각각의 항목이 상기 모듈 어셈블리의 실행 순서 및 모듈 카테고리와 일치하는 정도를 점수로 생성하고, 소정의 개수의 상위 순위의 소스 코드를 생성하고, 외부 입력에 기초하여 상기 소정의 개수의 상위 순위의 소스 코드 중 하나의 소스 코드를 선택하고, 상기 모듈 어셈블리의 실행 순서 상의 모듈 기능이나 실행 방향의 적어도 일부는 상기 시퀀스 모듈에 위치에 따라 결정되고,
    상기 모듈 어셈블리의 실행 순서 및 상기 모듈 카테고리와 일치하는 정도를 점수로 생성하는 것은 상기 실행 순서 및 상기 모듈 카테고리가 모두 동일한 경우를 기준으로 볼 때, 상기 모듈 카테고리에 기초하여 상기 데이터베이스에서 상기 모듈 어셈블리의 소정의 모듈과 치환 가능한 모듈로 구성된 항목의 모듈 어셈블리의 실행 순서가 일치할 경우 그 유사도를 상기 소정의 치환 가능한 모듈의 개수에 기초하여 계산하는 것을 특징으로 하는 조립 정보 제공 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  11. 제10항에 있어서,
    상기 조립 정보는 모듈 고유 정보, 상기 모듈 카테고리, 하위 연결 모듈 정보 및 및 실행 카테고리를 포함하고;
    상기 모듈 카테고리는 모듈의 수행 기능에 따라 모듈을 분류한 정보이고;
    상기 하위 연결 모듈 정보는 상기 모듈 어셈블리의 실행 순서 상에서 다음에 실행할 모듈의 모듈 고유 정보이며;
    상기 실행 카테고리는 상기 모듈 어셈블리의 실행 순서 상의 모듈 기능이나 실행 방향을 결정하는 상기 시퀀스 모듈 기능에 따라 모듈을 분류한 정보인 것을 특징으로 하는 조립 정보 제공 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  12. 삭제
  13. 삭제
  14. 제10항에 있어서,
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 소스 코드의 실행 규칙의 정합성을 체크하여 상기 모듈 어셈블리의 조립에 오류가 있는지 여부를 판단하는 것을 특징으로 하는 조립 정보 제공 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  15. 제10항에 있어서,
    상기 조립 오류 정보에 기초하여, 상기 모듈 어셈블리 중 상기 오류가 발생한 적어도 하나의 모듈은 LED를 소정의 색깔로 점멸시키는 것을 특징으로 하는 조립 정보 제공 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  16. 제10항에 있어서,
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 소스 코드의 실행 규칙의 정합성을 체크하여 상기 모듈 어셈블리에서 제거, 치환 또는 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 상기 사용자 단말 또는 상기 모듈 어셈블리에게 제공하는 것을 특징으로 하는 조립 정보 제공 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  17. 제16항에 있어서,
    상기 모듈 어셈블리는 제거, 치환 또는 추가할 위치의 모듈의 LED를 소정의 색깔 및 소정의 방향으로 점멸시키는 것을 특징으로 하는 조립 정보 제공 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  18. 제10항에 있어서,
    상기 소스 코드는 디버깅용 소스 코드이고;
    상기 모듈 어셈블리는 상기 디버깅용 소스 코드의 실행 파일을 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 다운로드 받고;
    상기 모듈 어셈블리는 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시키는 것을 특징으로 하는 조립 정보 제공 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  19. 적어도 하나의 컨트롤 모듈 및 시퀀스 모듈을 포함하는 모듈 어셈블리에서 상기 적어도 하나의 컨트롤 모듈의 조립 정보 관리부에 의해, 조립 정보를 생성하는 단계;
    상기 컨트롤 모듈의 조립 정보 전송부에 의해, 상기 조립 정보를 사용자 단말 또는 조립 정보 제공 서버에게 전송하는 단계; 및
    상기 컨트롤 모듈의 조립 오류 정보 수신부에 의해, 상기 사용자 단말 또는 상기 조립 정보 제공 서버가 상기 조립 정보에 기초하여 조립 오류 여부를 판단한, 조립 오류 정보를 상기 사용자 단말 또는 상기 조립 정보 제공 서버로부터 수신하는 단계를 포함하고;
    상기 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈의 모듈 고유 정보를 포함하며,
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고;
    상기 사용자 단말 또는 상기 조립 정보 제공 서버는 상기 조립 정보에 기초하여 상기 데이터베이스의 각각의 항목이 상기 모듈 어셈블리의 실행 순서 및 모듈 카테고리와 일치하는 정도를 점수로 생성하고, 소정의 개수의 상위 순위의 소스 코드를 생성하고, 외부 입력에 기초하여 상기 소정의 개수의 상위 순위의 소스 코드 중 하나의 소스 코드를 선택하고, 상기 모듈 어셈블리의 실행 순서 상의 모듈 기능이나 실행 방향의 적어도 일부는 상기 시퀀스 모듈에 위치에 따라 결정되고,
    상기 모듈 어셈블리의 실행 순서 및 상기 모듈 카테고리와 일치하는 정도를 점수로 생성하는 것은 상기 실행 순서 및 상기 모듈 카테고리가 모두 동일한 경우를 기준으로 볼 때, 상기 모듈 카테고리에 기초하여 상기 데이터베이스에서 상기 모듈 어셈블리의 소정의 모듈과 치환 가능한 모듈로 구성된 항목의 모듈 어셈블리의 실행 순서가 일치할 경우 그 유사도를 상기 소정의 치환 가능한 모듈의 개수에 기초하여 계산하는 것을 특징으로 하는 조립 정보 제공 방법.
  20. 제19항에 있어서,
    사용자 단말 또는 조립 정보 제공 서버에 의해, 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 및 이에 대응되는 소스 코드를 데이터베이스로 저장하는 단계; 및
    상기 사용자 단말 또는 상기 조립 정보 제공 서버에 의해, 상기 조립 정보 및 상기 데이터베이스에 기초하여 상기 모듈 어셈블리의 소스 코드를 생성하는 단계를 더 포함하는 것을 특징으로 하는 조립 정보 제공 방법.
  21. 삭제
  22. 삭제
KR1020190002191A 2019-01-08 2019-01-08 조립 정보 제공 시스템 및 모듈 어셈블리 KR102217922B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190002191A KR102217922B1 (ko) 2019-01-08 2019-01-08 조립 정보 제공 시스템 및 모듈 어셈블리
EP19894398.7A EP3726452A4 (en) 2019-01-08 2019-09-18 SYSTEM FOR PROVIDING ARRANGEMENT INFORMATION AND MODULE ARRANGEMENT
US16/631,675 US11586180B2 (en) 2019-01-08 2019-09-18 Assembly information providing system and module assembly
PCT/KR2019/012017 WO2020145477A1 (ko) 2019-01-08 2019-09-18 조립 정보 제공 시스템 및 모듈 어셈블리
CN201980031812.3A CN112106095A (zh) 2019-01-08 2019-09-18 组装信息提供系统及模块组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190002191A KR102217922B1 (ko) 2019-01-08 2019-01-08 조립 정보 제공 시스템 및 모듈 어셈블리

Publications (2)

Publication Number Publication Date
KR20200086050A KR20200086050A (ko) 2020-07-16
KR102217922B1 true KR102217922B1 (ko) 2021-02-19

Family

ID=71520382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002191A KR102217922B1 (ko) 2019-01-08 2019-01-08 조립 정보 제공 시스템 및 모듈 어셈블리

Country Status (5)

Country Link
US (1) US11586180B2 (ko)
EP (1) EP3726452A4 (ko)
KR (1) KR102217922B1 (ko)
CN (1) CN112106095A (ko)
WO (1) WO2020145477A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149635A1 (ko) * 2021-01-08 2022-07-14 주식회사 럭스로보 Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
DE102021113979A1 (de) * 2021-05-31 2022-12-01 Ipetronik Gmbh & Co. Kg Messmodul-System

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101713085B1 (ko) * 2015-12-15 2017-03-07 위드큐브(주) 스마트 블록을 이용한 컨텐츠 제공시스템

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020045031A (ko) * 2000-12-07 2002-06-19 구자홍 어셈블리의 부품 관리 방법 및 그를 위한 시스템
US7316567B2 (en) * 2003-08-01 2008-01-08 Jennifer Chia-Jen Hsieh Physical programming toy
US7248355B2 (en) * 2004-09-13 2007-07-24 Hewlett-Packard Development Company, L.P. Using special visibility materials proximate candidate component locations to enhance recognition
JP4566202B2 (ja) * 2005-01-24 2010-10-20 富士通株式会社 部品交換手順特定方法及びプログラム
JP2008152521A (ja) * 2006-12-18 2008-07-03 Mitsubishi Electric Corp プラント制御装置
JP5354678B2 (ja) * 2009-01-07 2013-11-27 新明工業株式会社 部品搬送装置および組付指示システム
CN102314165A (zh) * 2010-07-05 2012-01-11 上海盛锐软件技术有限公司 工业生产线中基于plm的rfid控制系统及方法
KR101284910B1 (ko) * 2011-05-23 2013-07-12 전윤주 프로그래밍 블록 조립체, 이를 이용한 프로그램에 의해 구동되는 로봇 시스템 및 그 프로그래밍 방법
US9595205B2 (en) * 2012-12-18 2017-03-14 Neuron Fuel, Inc. Systems and methods for goal-based programming instruction
KR101490029B1 (ko) * 2013-06-27 2015-02-06 울산대학교 산학협력단 부품의 조립방향에 기반한 조립순서 최적화 방법 및 그 장치
US9953546B1 (en) * 2014-04-11 2018-04-24 Google Llc Physical coding blocks
KR101546927B1 (ko) * 2014-05-07 2015-08-25 김진욱 블록을 이용한 알고리즘 교육 장치
KR20170010720A (ko) * 2015-07-20 2017-02-01 이준희 토폴로지 인식 기능을 갖는 블록 완구 및 이를 이용한 컨텐츠 제공 시스템
KR101906823B1 (ko) * 2016-03-07 2018-12-05 주식회사 럭스로보 멀티 모듈 컴파일 시스템 및 멀티 모듈 컴파일 방법, 그리고 컴파일러 프로그램을 갖는 컴퓨터 판독가능 저장매체
KR101761596B1 (ko) 2016-03-07 2017-07-26 주식회사 럭스로보 모듈 어셈블리
US10885801B2 (en) * 2016-05-24 2021-01-05 Tangible Play, Inc. Virtualized tangible programming
CN106155016B (zh) * 2016-07-05 2019-05-24 上海交通大学 一种项目型产品装配过程管控系统
KR101892356B1 (ko) * 2016-10-04 2018-08-28 (주)모션블루 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법
US10460622B2 (en) * 2017-05-26 2019-10-29 Adigal LLC Assisted programming using an interconnectable block system
CN108459556B (zh) * 2018-04-08 2020-03-27 中国科学院自动化研究所 基于信息物理系统的柔性化汽车总装线控制系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101713085B1 (ko) * 2015-12-15 2017-03-07 위드큐브(주) 스마트 블록을 이용한 컨텐츠 제공시스템

Also Published As

Publication number Publication date
US11586180B2 (en) 2023-02-21
US20210247745A1 (en) 2021-08-12
EP3726452A4 (en) 2021-03-03
WO2020145477A1 (ko) 2020-07-16
CN112106095A (zh) 2020-12-18
EP3726452A1 (en) 2020-10-21
KR20200086050A (ko) 2020-07-16

Similar Documents

Publication Publication Date Title
KR102211422B1 (ko) 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템
US10427065B2 (en) Building blocks with lights for guided assembly
US20190296482A1 (en) Modular electronic building systems with magnetic interconnections and methods of using the same
KR102217922B1 (ko) 조립 정보 제공 시스템 및 모듈 어셈블리
EP2888019B1 (en) Modular electronic building systems with magnetic interconnections and methods of using the same
US7555658B2 (en) Embedded electronics building blocks for user-configurable monitor/control networks
US20180192454A1 (en) Networking core device, wireless networking method, and intelligent network system, based on electronic module
CN105206959A (zh) 电子模块和模块化电子构建系统
KR102304692B1 (ko) 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리
KR102137667B1 (ko) 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리
US11623345B2 (en) Modular robot system
KR20210091426A (ko) 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법
US11392392B2 (en) Plug and play module assembly and plug and play system
CN201741304U (zh) 一种电子积木
WO2015119917A1 (en) Remote monitoring system for handheld electronic devices
CN210096886U (zh) 智能中轴和智能魔方
KR102479950B1 (ko) Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
KR101287002B1 (ko) 교육용 로봇조립 서비스 시스템 및 방법
KR20210082897A (ko) 컴파일 없는 코딩시스템 및 모듈 어셈블리
JP2007088905A (ja) 接続機器との接続に適した接続端子を通知する通知機能付き表示装置
Liu BotSpine-A Generic Simple Development Platform of Smartphones and Sensors or Robotics
JP6476741B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
KR20200034178A (ko) 스마트 큐브 및 이의 동작방법
Bakir et al. Building Arduino-Based Peripherals
JP2020021247A (ja) 装置、方法およびプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant