일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 로봇
- U-blox
- Visual SLAM
- C++
- QT
- turtlebot3
- WSL
- ubuntu
- Simulation
- 인공지능
- 젯슨
- 자율주행
- SLAM
- GPS
- ROS2
- GUI
- 터틀심
- DevOps
- 오블완
- ROS
- Puck LITE
- 강화학습
- turtlesim
- 티스토리챌린지
- ZED2
- Jetson
- WSL2
- Gazebo
- RTK
- 자율탐사
- Today
- Total
목록전체 글 (143)
직관적인느낌
Docker 컨테이너 안에 개발 환경을 구성할 때, 기본 유틸리티부터 GUI 실행, 네트워크, SLAM/ROS, 영상 처리, 디버깅 툴까지 필요한 패키지가 많습니다.이번 포스트에서는 Docker 컨테이너 안에 어떤 패키지를 설치해야 하는지, 왜 필요한지, 어떻게 실행하는지를 단계별로 자세히 정리합니다.1️⃣ 기본 유틸리티 및 필수 패키지목적: 개발 및 운영에 필요한 최소한의 환경을 구성sudo apt updatesudo apt install -y \ sudo \ vim \ git \ curl \ wget \ unzip \ tar \ xz-utils \ build-essential \ cmake \ pkg-config \ net-tools \ iproute2sudo: 관리자 권한 실..
Docker를 사용하다 보면 컨테이너 실행, 관리, 이미지 저장 및 전송 등 여러 작업을 수행하게 됩니다. 이번 포스트에서는 실제로 사용했던 Docker 명령어들을 정리하고, 각 명령어의 역할과 사용 방법을 자세하게 소개합니다.1. 컨테이너 실행 및 사용자 설정1.1 기본 컨테이너 실행Ubuntu 22.04 이미지를 사용하여 컨테이너를 실행할 때는 아래와 같이 실행합니다.sudo docker run -it --name my_ubuntu -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ubuntu:22.04 bash-it: 인터랙티브 모드와 터미널 연결--name: 컨테이너에 이름 부여-e DISPLAY=$DISPLAY & -v /tmp/.X11-unix:/t..
최근 로봇의 SLAM(동시 위치추정 및 지도작성)이나 Navigation과 같이 실시간성이 중요한 프로그램을 Docker 컨테이너에서 실행하는 경우가 늘어나고 있습니다. 이번 포스트에서는 Ubuntu 기반 Docker 이미지를 생성하고, 비루트 사용자(예: rainbow)로 실행하는 방법, USB 카메라 연결 및 실시간 영상 스트리밍 테스트, 컨테이너 상태를 이미지로 저장(커밋)하고 이를 Windows 환경으로 전송하는 방법까지 상세히 다루어 보겠습니다.1. Ubuntu 22.04 기반 Docker 컨테이너 생성 및 설정1.1 Ubuntu 22.04 이미지 다운로드우선, Ubuntu 22.04 공식 이미지를 Docker Hub에서 내려받습니다.sudo docker pull ubuntu:22.041.2 컨..
Devops 가이드현대 소프트웨어 개발 및 운영 환경에서 Devops는 개발과 운영 간의 원활한 협업을 위한 핵심 원칙과 도구들을 포함합니다. 이 글에서는 Devops에 입문하기 위한 필수 요소들을 단계별로 살펴보고, 실제 업무에 적용 가능한 실용적인 가이드를 제공합니다.1. 프로그래밍 언어 선택Devops 환경에서는 애플리케이션 및 인프라 자동화를 위해 다양한 프로그래밍 언어가 활용됩니다. Python, Go, Ruby 등은 스크립트 작성과 도구 개발에 자주 사용되며, 각 언어의 장단점을 파악하고 업무에 맞는 최적의 선택을 하는 것이 중요합니다.2. 운영 체제(OS)의 기본 사항Devops 전문가에게 운영 체제의 개념은 필수적인 지식입니다. 기본적인 개념부터 고급 관리 기법까지, 아래의 내용을 통해 O..
Conan 설치 가이드Conan은 C/C++ 프로젝트에서 라이브러리 의존성 관리를 자동화해 주는 강력한 패키지 매니저입니다. 이 가이드는 (가정: Ubuntu 22.04 및 Python3 환경 기준) Conan 설치 및 기본 설정 방법을 단계별로 소개합니다.> 가정대상 운영체제: Ubuntu 22.04Python3 및 pip가 이미 설치되어 있다고 가정함Conan 버전: Conan 2.0 이상1. 사전 준비1.1 Python 및 pip 설치Conan은 Python 기반 도구이므로 Python과 pip가 필요합니다.만약 Python과 pip가 설치되어 있지 않다면, 다음 명령어를 사용해 설치할 수 있습니다.sudo apt updatesudo apt install python3 python3-pip1.2 C..
1. DevOps 문화의 중요성DevOps 문화는 개발과 운영의 경계를 허물어 협업과 자동화를 촉진합니다.협업 강화: 팀원 간의 정기 회의, 코드 리뷰, 페어 프로그래밍 및 이슈 관리 도구(Jira, GitLab Issues 등)를 통해 소통과 협력을 활성화합니다.자동화와 지속적 개선: CI/CD 파이프라인을 도입하여, 코드 변경 시 자동 빌드, 테스트, 배포 및 피드백을 통해 문제점을 빠르게 수정할 수 있습니다.실패를 통한 학습: 작은 변화에 대해 빠르게 실험하고, 실패를 통해 배우는 문화를 만들어 문제를 조기에 발견하고 개선할 수 있습니다.2. 주요 도구 및 인프라1) 코드 관리 및 협업 도구1-1) Git 및 GitLab/GitHub:버전 관리와 협업을 위한 필수 도구입니다. 코드의 변경 내역을 추..
딥시크(DeepSeek)에 대한 생각과 전망최근 AI와 딥러닝 기술이 빠르게 발전하면서 다양한 분야에서 혁신적인 서비스와 솔루션들이 등장하고 있습니다. 그 가운데 딥시크(DeepSeek) 는 차별화된 기술력과 혁신적인 아이디어로 주목받고 있는 기업 혹은 기술로 평가받고 있습니다. 이 글에서는 딥시크가 어떤 점에서 주목할 만한지, 그리고 앞으로의 전망에 대해 살펴보겠습니다.딥시크의 강점과 기술적 차별점최신 딥러닝 기술의 접목딥시크는 최신 딥러닝 모델과 알고리즘을 기반으로 데이터를 처리하고 분석하는 데 주력하고 있습니다. 이를 통해 복잡한 데이터 속에서 유의미한 패턴을 빠르게 파악하며, 기존 시스템에서는 어려웠던 문제들을 해결하는 데 큰 기여를 하고 있습니다.빅데이터와의 시너지 효과대용량의 데이터를 효율적으..
로보틱스, 컴퓨터 비전, 3D 데이터 처리 등 다양한 분야에서 데이터를 정확하게 처리하고 분석하기 위해 다양한 알고리즘이 개발되어 왔습니다. 그 중에서도 RANSAC(Random Sample Consensus)과 ICP(Iterative Closest Point)는 데이터 정합 및 모델 추정에서 매우 중요한 역할을 합니다. 이 글에서는 RANSAC과 ICP의 기본 개념, 적용 영역, 장단점 등을 비교하면서, 두 알고리즘의 특성과 활용 방안을 자세히 살펴보겠습니다.RANSAC(Random Sample Consensus)란?RANSAC은 데이터 세트에 노이즈나 외란(아웃라이어)이 다수 포함되어 있을 때, 강건하게 모델 파라미터를 추정하기 위해 고안된 통계적 방법론입니다. 주로 컴퓨터 비전, 로보틱스, 영상 ..

C++에서 객체를 생성하는 방법은 크게 두 가지가 있습니다. 바로 스택(Stack)과 힙(Heap) 메모리를 사용하는 방식인데요. 각각의 방식은 메모리 관리 방식, 성능, 유연성에서 차이를 보입니다. 이번 포스팅에서는 두 방식의 특징과 차이를 알아보고, 어떤 경우에 어떤 방식을 선택해야 할지에 대해 설명드리겠습니다.---1. 스택(Stack) 할당으로 객체 생성스택 할당이란?객체를 스택 메모리에 생성하는 방식입니다.객체가 선언된 함수나 코드 블록의 스코프가 끝나면 자동으로 메모리가 해제됩니다.프로그래머가 메모리를 수동으로 관리할 필요가 없기 때문에 간단하고 안전합니다.장점1. 빠른 메모리 관리: 스택은 고정된 크기로 빠르게 할당 및 해제됩니다.2. 자동 해제: 스코프를 벗어나면 메모리가 자동으로 해제됩니..

1. 자율탐사 (Autonomous Exploration)목적미지의 환경을 탐색하여 로봇이 스스로 지도를 생성하고 환경을 파악합니다.목표는 완전한 맵을 구축하여 로봇이 주변 환경을 이해하고 활용할 수 있도록 하는 것입니다.작동 방식1. 탐사 알고리즘:Frontier-based Exploration: 알려진 영역과 미지의 영역의 경계(프론티어)를 찾아 이동합니다.Sampling-based Exploration: 특정 기준에 따라 후보 지점을 선택하고 탐사 경로를 계획합니다.2. 센서 활용:라이다(LiDAR), 카메라, 초음파 센서 등을 사용하여 주변 환경 정보를 수집합니다.3. SLAM 통합:실시간으로 수집한 데이터를 바탕으로 맵을 생성하고 로봇의 위치를 추정합니다.특징계획된 경로 탐색: 효율적인 경로를 ..