일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Simulation
- GUI
- ZED2
- GPS
- 티스토리챌린지
- SLAM
- 자율주행
- 자율탐사
- turtlebot3
- Jetson
- Puck LITE
- 터틀심
- WSL2
- 로봇
- 인공지능
- ROS2
- 강화학습
- ROS
- ubuntu
- DevOps
- Gazebo
- RTK
- 젯슨
- turtlesim
- Visual SLAM
- U-blox
- WSL
- C++
- 오블완
- QT
- Today
- Total
목록자율주행 (16)
직관적인느낌
로보틱스, 컴퓨터 비전, 3D 데이터 처리 등 다양한 분야에서 데이터를 정확하게 처리하고 분석하기 위해 다양한 알고리즘이 개발되어 왔습니다. 그 중에서도 RANSAC(Random Sample Consensus)과 ICP(Iterative Closest Point)는 데이터 정합 및 모델 추정에서 매우 중요한 역할을 합니다. 이 글에서는 RANSAC과 ICP의 기본 개념, 적용 영역, 장단점 등을 비교하면서, 두 알고리즘의 특성과 활용 방안을 자세히 살펴보겠습니다.RANSAC(Random Sample Consensus)란?RANSAC은 데이터 세트에 노이즈나 외란(아웃라이어)이 다수 포함되어 있을 때, 강건하게 모델 파라미터를 추정하기 위해 고안된 통계적 방법론입니다. 주로 컴퓨터 비전, 로보틱스, 영상 ..
포인트 클라우드 데이터를 처리하면서 CSV 포맷을 사용하고 계셨다면, LAS 또는 LAZ 포맷으로의 전환을 고려해보시는 것이 좋습니다. 이 글에서는 CSV 포맷의 문제점과 LAS/LAZ 포맷의 이점, 그리고 기존 코드를 어떻게 수정해야 하는지에 대해 정리해보겠습니다.CSV 포맷의 문제점CSV는 단순하고 범용적인 텍스트 기반 포맷으로 작은 규모의 데이터 저장에는 적합하지만, 포인트 클라우드와 같은 대용량 3D 공간 데이터를 다룰 때는 여러 가지 한계가 있습니다:파일 크기 증가: 텍스트 기반이기 때문에 동일한 데이터를 바이너리 포맷으로 저장하는 것보다 파일 크기가 훨씬 큽니다. 이는 저장 공간의 비효율적인 사용과 파일 전송 시간 증가로 이어집니다.느린 입출력 속도: 대용량 데이터를 처리할 때 읽기와 쓰기 속..
단순화된 프론티어 기반 탐사는 기존의 프론티어 기반 탐사 알고리즘을 간소화하여 구현의 복잡성을 줄이고, 필요한 계산량을 낮춘 버전입니다. 이는 2D LiDAR와 같은 제한된 센서를 사용하는 로봇에서도 효율적인 자율 탐사를 가능하게 합니다.이번 글에서는 단순화된 프론티어 기반 탐사의 원리, 구현 방법, 그리고 실제 적용 시 고려해야 할 사항에 대해 자세히 알아보겠습니다. 목차프론티어 기반 탐사의 기본 개념단순화된 프론티어 기반 탐사의 원리구현 방법3.1 환경 표현3.2 프론티어 식별3.3 목표 프론티어 선택3.4 경로 계획 및 이동3.5 지도 업데이트알고리즘 흐름도구현 예시 및 코드고려 사항6.1 센서 데이터 처리6.2 실시간성 확보6.3 충돌 방지 및 안전성한계점 및 개선 방안결론참고 문헌1. 프론티어 ..
자율 탐사 알고리즘과 Wall Following의 차이점질문: 자율 탐사 알고리즘과 Wall Following은 어떻게 다른가요?답변: 자율 탐사 알고리즘과 Wall Following은 로봇이 미지의 환경을 탐색하고 지도를 생성하는 데 사용되는 두 가지 다른 접근 방식입니다. 이 둘은 탐색 방법, 활용하는 정보, 효율성 등 여러 면에서 차이가 있습니다. 아래에서 각 방법의 원리와 특징, 그리고 차이점을 자세히 설명하겠습니다.1. Wall Following이란?1.1 원리Wall Following은 로봇이 벽이나 장애물의 표면을 따라 이동하는 간단한 탐색 방법입니다. 주로 다음과 같은 방식을 따릅니다:벽 감지: 로봇은 센서를 이용하여 근처의 벽이나 장애물을 감지합니다.접근 및 유지: 일정한 거리를 유지하면..
자율 탐사 알고리즘의 심층 분석자율 탐사(Autonomous Exploration) 알고리즘은 로봇이 미지의 환경을 스스로 탐색하고 지도를 생성할 수 있도록 하는 핵심 기술입니다. 이러한 알고리즘은 로봇이 효율적으로 환경을 탐색하고, 충돌을 방지하며, 최대한의 정보를 수집할 수 있도록 설계됩니다. 이번 글에서는 자율 탐사 알고리즘의 다양한 종류와 그 동작 원리, 구현 방법 등에 대해 자세히 알아보겠습니다.목차자율 탐사의 필요성과 개요프론티어 기반 탐사2.1 원리2.2 구현 방법2.3 장단점정보 이득 기반 탐사3.1 Next Best View 알고리즘3.2 정보 이론 적용커버리지 패스 플래닝4.1 개념4.2 알고리즘랜덤 탐사 및 기타 방법5.1 랜덤 워크5.2 강화 학습 적용실제 구현 시 고려 사항6.1 ..

장애물과 부딪히지 않으며 로봇 맵핑하기: 라이다 기반 자동 맵핑 기법로봇이 환경을 탐색하고 맵을 생성하는 과정에서 가장 큰 과제 중 하나는 **장애물 회피(Obstacle Avoidance)**입니다. 특히 로봇 청소기와 같은 자율 이동 로봇의 경우, 주변의 장애물을 피하면서 실시간으로 맵을 만들어야 합니다. 이번 포스팅에서는 2D 라이다(LiDAR)와 엔코더만을 사용해 로봇이 장애물과 충돌하지 않고 안전하게 맵을 생성하는 방법에 대해 설명드리겠습니다.라이다와 엔코더를 이용한 맵핑의 기본 원리로봇이 실내나 실외의 환경을 자동으로 탐색하면서 맵을 만드는 것을 **SLAM (Simultaneous Localization and Mapping)**이라고 합니다. SLAM은 로봇이 자신의 위치를 파악하면서 주변..
로봇 공학이나 SLAM과 같은 다양한 분야에서는 다차원 데이터의 효율적인 검색과 관리를 위해 KD-Tree를 많이 사용합니다. 오늘은 nanoflann 라이브러리에서 KD-Tree를 설정하는 방법과, 그 매개변수 중 하나인 KDTreeSingleIndexAdaptorParams에 대해 알아보겠습니다.nanoflann 라이브러리란?nanoflann은 C++에서 KD-Tree를 사용해 효율적인 **최근접 이웃 탐색(Nearest Neighbor Search)**을 수행하도록 돕는 가벼운 라이브러리입니다. KD-Tree는 다차원 공간에서 점들의 집합을 효율적으로 관리하고 탐색하는 데 사용되며, 특히 로봇 공학, SLAM, 컴퓨터 비전 등에서 매우 유용합니다.KD-Tree의 기본 개념KD-Tree는 공간을 분할..
+----------------+ +----------------+ +----------------+| | 경로 계획 | | 모션 제어 | || 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)사용자와 시스템 간의 상호 작용..