728x90
반응형
SMALL

kg 11

🛞[ROS] AGV를 좌표로 이동시키기

SLAM이 제대로 동작하지 않는 이유를 파악하기 위해 AGV를 좌표 기반으로 이동시키는 테스트를 진행했습니다. 이 과정을 블로그에 정리해봅니다! 😊프로젝트 기본 셋팅 ⚙️1. 워크스페이스 생성 🏗️mkdir -p ~/myagv_ws/srccd ~/myagv_wscatkin_make # ROS1 기준source devel/setup.bash2. 폴더 구조 예시 📂폴더명 설명myagv_ws/프로젝트 루트├── src/소스 코드 폴더│ ├── lidar_pkg/LiDAR 데이터 관리│ ├── camera_pkg/카메라 데이터 관리 및 ArUco 인식│ ├── motor_pkg/모터 제어 패키지│ ├── myagv_bringup/전체 시스템 통합3. 각 패키지 설명 📌🔹 lidar_pkg - LiDA..

🌍 SLAM (Simultaneous Localization and Mapping) 이해 및 개요

SLAM(Simultaneous Localization and Mapping)은 동시적 위치추정 및 지도작성을 의미하는 기술로, 로봇이 자신의 위치를 추정하면서 동시에 주변 환경의 지도를 작성하는 핵심 기술입니다. 이 기술은 자율주행, 로봇공학, 드론, 증강현실(AR) 등의 분야에서 활발히 활용되고 있습니다.🔍 SLAM의 주요 구성 요소1️⃣ 위치추정(Localization): 로봇이 현재 어디에 있는지를 파악합니다. 2️⃣ 지도작성(Mapping): 주변 환경을 탐색하고 그 정보를 바탕으로 지도를 생성합니다.이 두 가지 기능을 동시에 수행함으로써, 로봇이 미지의 환경에서도 자율적으로 움직일 수 있습니다.⚙️ SLAM의 작동 방식1️⃣ 센서 데이터 수집 및 전처리카메라, 라이다(LiDAR), IMU(관..

공부/ROS 2024.10.02

스마트 요양 지원 시스템 RoboCare : 프로젝트 (로봇팔 궤적 계획)

안녕하세요!! 오늘은 MATLAB으로 프로젝트를 더 업그레이드 시키고자 포스팅합니다.진행하고 있는 프로젝트를 ROS로만 해보는것이 아니라 MATLAB 시뮬링크로 MBD기반 프로그램 설계를 해보는겁니다!!벌써 설레죠?? MBD기반 설계부터 설명 드리겠습니다!! MATLAB을 활용한 모델 기반 설계(Model-Based Design, MBD)는시스템 개발 과정에서 모델을 체계적으로 사용하는 방법입니다.MBD의 주요 단계요구사항 정의:시스템의 요구사항을 수집하고 이를 명확히 정의합니다. MATLAB과 Simulink를 사용하여 요구사항을 모델에 반영합니다.모델링:시스템의 동작을 모델링합니다. Simulink를 사용하여 시스템의 동적 동작을 시뮬레이션하고, 다양한 시나리오를 테스트할 수 있습니다.시뮬레이션 및 ..

공부/MATLAB 2024.09.30

스마트 요양 지원 시스템 RoboCare : 프로젝트 기획2 (주제 선정)

안녕하세요!!!오늘은 24/08/30에 프로젝트 발표했던 내용을 늦게나마 포스팅하려 합니다.ppt를 전부 공개는 어렵고 일부 보여드리면서 말씀드리겠습니다!! 여러분은 몸이 불편해보신 경험이 있으신가요?라는 주제로 발표를 시작해 나갔습니다.경험을 바탕으로..?사실 저는 PLC때도 말씀드렸지만 인대가 다쳐서오른손잡이인데 오른손을 쓰지 못했습니다. 20대 청년도 힘든 일상생활이 어려운데 평생 장애를 갖게 된 장애우나 노약자 분들은 얼마나 불편하고 힘드실지 감히 상상하기 어려웠습니다. 뿐만 아니라 저출산과 고령화가 맞물리면서사회적 약자의 돌봄 서비스는 불안정해져만 갑니다. 이를 해결하기 위해 저희는 RoboCare 스마트 요양 지원 시스템을 기획하였는데요.저희는 로봇 케어라는 이름으로 식사 제공을 포함한 반복적..

🚀 [ROS2 Humble] Launch와 RViz: 왜 필요할까요?

안녕하세요! 😊오늘은 ROS에서 왜 노드(Node)나 토픽(Topic)이 아닌 Launch 파일이 필요한지 알려드리려 합니다.그리고 RViz의 역할과 Launch 파일과의 관계도 살펴볼게요!🎯 ROS2 Launch 파일이 중요한 이유🤔 "ros2 run으로 노드를 실행하면 되는데, 왜 launch 파일을 써야 할까?"👉 그 이유는 효율적인 실행 관리 때문입니다!💡 Launch 파일을 사용하면?✔ 자동화된 실행 🚀여러 개의 노드와 파라미터를 한 번에 실행할 수 있습니다.복잡한 시스템을 쉽게 시작하고 관리할 수 있어요!✔ 구성 관리 🛠시스템의 여러 요소(노드, 파라미터 등)를 한 곳에서 관리할 수 있습니다.설정을 변경할 때 개별 노드를 수정할 필요 없이, launch 파일만 수정하면 끝!✔ 재사..

공부/ROS 2024.09.25

스마트 요양 지원 시스템 : 프로젝트 기획 1 (개발 프로세스)

안녕하세요!! 매일 기술에 대해서 포스팅하면서 공부하고 있는 블로거입니다.오늘은 프로젝트에 대해서 Preview하는 시간을 가져볼까 합니다. 저희 교육과정에서는 총 3개의 프로젝트를 진행합니다.1. AGV를 이용한 라인트레이싱 자율주행2. mycobot을 이용한 블록 적재 미션3. 자율주행 + 로봇암 + PLC를 융합한 자율주제 통합 프로젝트 통합 프로젝트는 11/8 ~ 12/16 27일 이내 완성하여야 합니다.제공된 기자재를 제외하고 추가 예산은 30만원내로 추가할 수 있는 조건이 있습니다. 그렇게 시간이 흘러KG_KAIROS를 하면서 팀원이 구성되었습니다!! 이름을 언급할 순 없지만 자주 보던 사람끼리 결국 됐어요!! 우선적으로 프로젝트를 진행하면서 기업에서 사용되는 프로젝트 프로세스에 대해 조사해 ..

[KG_KAIROS]SMT32 미니 프로젝트

파란 모터 드라이버 사용 시PWM전 일반적인 GPIOD를 활용하여 OUTPUT 시킴 /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,1);//B1-A HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);//B1-B HAL_Delay(1000); HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,1); HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,0); HAL_Delay(1000); /* USER CODE END WHILE */  그러면 pwm을 주는 방법은??우리 서보모터 했던 것처럼 하나를 TIM으로 설정해서 해보면 됨,https:/..

[KG_KAIROS] 서보모터 각도제어, HEX 프로토콜

오늘은 서보모터 제어!!!      STM32에서 I2C(Inter-Integrated Circuit)는 마스터와 슬레이브 간의 데이터 통신을 위한 양방향 2와이어 직렬 버스입니다. I2C는 두 개의 주요 선을 사용합니다:SDA (Serial Data Line): 데이터 전송을 위한 선SCL (Serial Clock Line): 클럭 신호를 위한 선주요 특징마스터/슬레이브 구조: 마스터 장치가 클럭을 생성하고 통신을 제어합니다. 슬레이브 장치는 마스터의 명령에 따라 데이터를 송수신합니다.주소 지정: 각 슬레이브 장치는 고유한 7비트 또는 10비트 주소를 가집니다.속도 모드: 표준 모드(최대 100kHz), 패스트 모드(최대 400kHz), 패스트 모드 플러스(최대 1MHz), 고속 모드(최대 3.4MHz..

[KG_KAIROS] EXTI와 Rx/Tx 제어 설명

EXTI는 External Interrupt의 약자로, 외부 인터럽트를 처리하는 기능을 의미합니다.외부 인터럽트는 마이크로컨트롤러가 외부 장치에서 발생하는 신호를 감지하고,이를 처리하기 위해 프로그램의 흐름을 잠시 변경하는 메커니즘입니다.EXTI의 주요 기능엣지 감지: EXTI는 신호의 상승 엣지 또는 하강 엣지를 감지하여 인터럽트를 발생시킬 수 있습니다.마스크 레지스터: 특정 인터럽트를 활성화(Enable)하거나 비활성화(Disable)할 수 있습니다.펜딩 레지스터: 인터럽트가 발생했는지 여부를 기록합니다.우선순위 설정: 여러 인터럽트가 동시에 발생할 경우, 우선순위를 설정하여 처리 순서를 결정합니다.EXTI의 동작 과정신호 감지: 외부 장치에서 신호가 발생하면, EXTI가 이를 감지합니다.트리거 모드..

☸️[KG_KAIROS] 밸런싱 로봇 제작기 (PID & MPU6050 활용)

🛠️ 사용 부품 및 라이브러리부품명 설명MPU60506축 자이로 및 가속도 센서L298N모터 드라이버 모듈DC 모터로봇의 이동을 담당아두이노메인 컨트롤러PID 라이브러리PID 제어 알고리즘I2Cdev, WireI2C 통신 라이브러리📌 프로젝트 개요오늘은 밸런싱 로봇을 제작해보았습니다! 🎉 PID 제어를 이용하여 로봇의 균형을 유지하고, L298N 드라이버를 사용해 모터를 제어하는 방식으로 진행했습니다. MPU6050을 통해 기울기를 측정하고, PID 연산을 통해 안정적인 균형을 유지하도록 했습니다.📜 코드 설명#include #include #include "I2Cdev.h"#include "MPU6050_6Axis_MotionApps20.h"#define INTERRUPT_PIN 2#define..

728x90
반응형
LIST