일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 파이썬
- 터틀심
- GUI
- Jetson
- Gazebo
- Puck LITE
- ROS2
- 아두이노
- 로봇
- Simulation
- U-blox
- 강화학습
- SLAM
- 젯슨
- GPS
- Qt5.15LTS
- ZED2
- RTK
- turtlesim
- turtlebot3
- ubuntu
- 자율주행
- ROS
- C++
- LIDAR
- QT
- WSL2
- Visual SLAM
- 인공지능
- WSL
- Today
- Total
목록전체 글 (119)
직관적인느낌
보호되어 있는 글입니다.
현대 컴퓨팅 환경에서 멀티프로세싱은 성능 향상과 효율적인 자원 활용을 위한 핵심 기술입니다. 이번 포스팅에서는 멀티프로세싱의 기초부터 파이프, 소켓, 공유 메모리, IPC 등의 고급 주제까지 자세히 알아보겠습니다.목차멀티프로세싱 소개프로세스와 스레드의 기본프로세스 간 통신(IPC)파이프(Pipe)소켓(Socket)공유 메모리(Shared Memory)메시지 큐(Message Queue)시그널(Signal)고급 멀티프로세싱 주제동기화(Synchronization)교착 상태(Deadlock)성능 고려 사항멀티프로세싱 vs 멀티스레딩전체적인 데이터 흐름 도식결론1. 멀티프로세싱 소개**멀티프로세싱(Multiprocessing)**은 여러 개의 프로세스를 동시에 실행하여 작업을 병렬로 처리하는 기술입니다. 이는..
병렬 프로그래밍은 현대 소프트웨어 개발에서 성능을 최적화하는 중요한 기법입니다. 멀티프로세싱과 멀티스레딩은 병렬 처리를 구현하는 두 가지 주요 방식입니다. 이 글에서는 이 두 방식의 차이점, 장단점, 그리고 언제 어떤 방식을 선택해야 하는지, 나아가 멀티프로세싱 내에서 멀티스레딩을 함께 사용하는 하이브리드 방식에 대해 설명합니다.멀티스레딩이란?**멀티스레딩(Multithreading)**은 하나의 프로세스 내에서 여러 스레드가 동시에 실행되는 구조입니다. 스레드는 같은 메모리 공간을 공유하며, 가벼운 실행 흐름을 가집니다.장점:빠른 전환: 스레드 간의 전환이 빠르며, 생성 비용이 낮습니다.메모리 공유: 스레드는 동일한 메모리 공간을 공유하므로 데이터 교환이 용이합니다.I/O 바운드 작업에 적합: 네트워크..
쓰레드(Thread) 개념 요약쓰레드란?쓰레드는 운영 체제에서 실행되는 가장 작은 단위로, 하나의 프로세스 안에서 독립적으로 실행됩니다.멀티스레딩(Multithreading)은 하나의 프로세스 내에서 여러 스레드를 동시에 실행하여 CPU 자원을 효율적으로 사용하는 방식입니다.주요 개념멀티스레딩: 여러 작업을 동시에 처리하여 성능을 높임.컨텍스트 스위칭: 스레드 간 작업을 전환하는 과정.동기화: 여러 스레드가 공유 자원을 안전하게 사용할 수 있도록 관리(Mutex, Semaphore 등 사용).경합 상태(Race Condition): 스레드들이 공유 자원을 제대로 동기화하지 않아 발생하는 문제.데드락(Deadlock): 스레드들이 서로 자원을 기다리면서 영원히 멈추는 상태.C++ 멀티스레딩 코드 요약std..
1. 스마트 팜/스마트 팩토리 구축을 위한 프로세스 개요1.1 초기 계획 및 설계목표 설정: 스마트 팜/팩토리의 주요 목표를 설정합니다. 에너지 효율, 생산성 극대화, 자원 절감 등이 목표가 될 수 있습니다.공장 구조 및 설계: 중력 기반 설계를 중심으로 한 다층 구조를 도입하여 에너지 사용을 최소화하는 공정 흐름을 만듭니다.다층 구조 설계: 원자재는 상층에서 투입되고, 각 공정이 하층으로 자연스럽게 이어지도록 설계해 자재 이동을 중력에 맡깁니다.자연 에너지 활용 설계: 자연 환기 및 자연 채광 구조를 설계하여 전력 소비를 최소화합니다.에너지 관리 시스템 설계: 공정 중 발생하는 열 에너지를 활용하여 열전 발전(TEG) 시스템을 설계하고, 필요할 때 에너지를 재활용할 수 있도록 열 저장 시스템을 구축합니..
1. 회생제동 시스템의 핵심 구성 요소1.1 전동기/모터브러시리스 DC 모터(BLDC) 또는 교류 동기 모터를 사용하여, 감속 시 발생하는 회전 에너지를 전기로 변환할 수 있습니다. 이 모터는 회생제동을 지원하며, 속도와 제동력의 제어가 가능해야 합니다.1.2 인버터/컨버터인버터 또는 컨버터가 필요합니다. 회생제동 과정에서 모터가 발전기 역할을 하게 되면, 발생하는 전력을 다시 사용할 수 있도록 직류(DC) 전력으로 변환해야 합니다.이를 위해 **전력 변환 장치(DC-DC 컨버터)**를 사용하여 회수된 에너지를 배터리에 저장하거나, 로봇의 다른 부품에 전력을 공급할 수 있습니다.1.3 배터리 또는 에너지 저장 장치회수된 전기 에너지를 저장하기 위한 배터리 또는 슈퍼커패시터가 필요합니다.리튬이온 배터리는 ..
온도 상승으로 발생한 열 에너지를 전기 에너지로 변환하는 방법과 기술현대의 에너지 문제는 환경오염, 자원 고갈 등과 맞물려 매우 중요한 이슈로 떠오르고 있습니다. 이에 따라, 더 효율적이고 지속 가능한 에너지원 확보를 위한 다양한 기술이 개발되고 있습니다. 그중에서도 열 에너지를 전기 에너지로 변환하고 저장하는 방법은 눈에 띄는 해결책 중 하나입니다. 온도 상승으로 발생한 열을 어떻게 전기로 변환하고, 이를 저장할 수 있는지 알아보겠습니다.1. 열전기 발전기(Thermoelectric Generator, TEG)**열전기 발전기(TEG)**는 온도 차이를 이용하여 열 에너지를 전기 에너지로 변환하는 장치입니다. 이 장치는 Seebeck 효과라는 물리적 원리를 사용합니다. 금속이나 반도체 재료로 구성된 T..
+----------------+ +----------------+ +----------------+| | 경로 계획 | | 모션 제어 | || Slamnavi +-----------> ACS +-----------> FMS || (SLAM 시스템) | |(자동 제어 시스템)| |(유연 생산 시스템)|+----------------+ +----------------+ +----------------+ ^ ..
ACS의 구조는 크게 핵심 기능 모듈, 통신 인터페이스, 데이터 처리 모듈, 제어 알고리즘 등으로 나눌 수 있습니다. 아래에서 각 구성 요소를 자세하게 설명하겠습니다.+----------------+ +--------------------+ +---------------------+| Slamnavi || 통신 인터페이스 || 모션 제어 모듈 || (경로 계획) | +--------------------+ +---------------------++----------------+ | | ^ v ..
1. 전체 시스템 아키텍처 개요slamnavi (SLAM Navigation System)로봇의 위치 추정과 지도 작성 및 경로 계획을 담당합니다.ACS (Automatic Control System)로봇의 모션 제어와 센서 데이터 처리를 담당하며, 실시간 제어를 제공합니다.FMS (Flexible Manufacturing System)생산 라인의 로봇과 장비를 관리하며, 작업 스케줄링과 자원 배분을 최적화합니다.MES (Manufacturing Execution System)생산 현장의 실시간 데이터 수집 및 모니터링을 통해 생산 공정을 관리합니다.데이터 관리 모듈각 시스템에서 생성되는 데이터를 수집, 저장, 분석합니다.HMI (Human-Machine Interface)사용자와 시스템 간의 상호 작용..