728x90

전체 글 618

ROS2 - (5) Python을 이용한 Topic, Service 구현

ROS2는 python을 공식 지원하며 Jupyter를 이용하여 python으로 Topic에 접근해 볼 것이다.(Uubuntu Jupyter 설치의 경우 구글에 많이 나와있으니 찾아보길 바랍니다.)Python으로 Topic 접근 코드 예제 결과 특정 범위 안에서 거북이가 random하게 움직이는 시뮬레이션Topic Topic 구독 코드 작성 터미널에서 turtlesim_node를 실행하고, ROS2를 실행한 후 VS-Code를 실행한다.  jupyter notebook을 통해 아래 코드를 입력하고 실행 시킨다.import rclpy as rpfrom turtlesim.msg import Pose첫째 라인의 rclpy(ROS Client Library for Python)라는 ROS2를 Python에서 사..

ROS2 - (4) Action, Parameter 이론 및 실습

ActionAction은 Topic과 Service의 혼합Action 목표 및 Action 결과를 전달하는 방식은 Service와 동일하다.Action Feedback은 Topic과 같은 Message 전송 방식  기본적으로 Client와 Server가 통신을 하게된다.1. Client에서 Goal에대한 Service를 Reqeust를 Server에 전달하게 되면 Server에서 Response를 Client로 전달하게 된다. 1.1. Feedback은 Topic으로 동작하며 Action Server가 Action Client로 정보를 주기적으로 전달하는 역할을 한다.2. Goal에 대한 응답 이후 최종 결과를 Result Service를 통해 Request, Response를 주고 받는다.3. Clie..

ROS2 - (3) Topic, Service 이론 및 실습

Topic 노드 간 Publish & SubscribePublisher가 Message를 BroadCasting 방식으로 전달하면 Subscriber는 자기가 필요한 Message면 받아들인다. (Topic을 확인해서 가져온다.)  비동기 단방향 메시지 송수신 방식으로 msg 메시지 형태의 메시지를 발간하는 Publisher와 메시지를 구독하는 Subscriber 간의 통신이다.1:N, N:1, N:N 통신도 가능하며 ROS 메시지 통신에서 가장 널리 사용된다.Node A처럼 하나 이상의 Topic을 발행할 수 있을 뿐만이 아니라 Publisher, Subscriber 역할을 동시에 수행 가능하며, 자신 Topic을 셀프 구독할 수도 있다.통상적으로 70% 이상이 Topic 방식을 사용한다.(기본 특징으..

ROS2 - (2) Message, DDS 이론 및 실습

Message Communication - Node : ROS에서 최소 단위의 실행 가능한 프로세스- Package : 하나 이상의 Node 또는 Node 실행을 위한 정보 등을 묶어 놓은 것(ex) Turtlesim)- Meta Package : Package의 묶음 ROS에서는 최소한의 실행 단위로 프로그램을 나누어 프로그래밍, 노드는 각각 별개의 프로그램으로 보면 된다.수많은 노드들이 연동되는 ROS 시스템의 특성 상 노드와 노드 사이에 입력과 출력 데이터를 서로 주고 받도록 설계해야 한다. * 노드의 이해와 더불어 노드 간 데이터 교환 방법, 데이터 유형에 대한 이해가 필요하다.ROS2 Message CommunicationNode 간 주고 받는 데이터를  Message라 칭하며, 주고 받는 방식..

FPGA - IP 생성 및 Vitis를 이용한 Switch, LED 제어

목차IP 생성Block Design 생성 및 xsa 파일 생성 및 내보내기Vitis를 통한 하드웨어 실행- Switch 동작에 따라 점멸 속도가 각기 다른 LED를 조절하는 IP를 생성할 것이다.  IP란?Intellectual Property는 특정한 기능을 수행하는 사전 설계된 모듈이나 블록을 의미한다. IP는 재사용 가능한 설계 요소로, 설계자가 FPGA, ASIC, 또는 SoC와 같은 하드웨어 시스템을 설계할 때, 기존에 블록을 사용하여 설계 시간을 줄이고 개발의 효율성을 높일 수 있다.- Module, XDC file 생성 4개의 Switch와 LED의 FPGA Board의 Pin 번호에 맞게 설정한 xdc File과 Counter를 이용하여 출력 값을 지정한 Clock 속도에 맞게 Toggle..

AI에 관한 기본적인 지식

AI에 관한 기본적인 지식 약인공지능 : 특정분야에서 인간 수준의 판단을 할 수 있는 것 - ANI강인공지능 : 범용적인 분야 모두에 대해 지능적 판단을 내릴 수 있는 것 - AGI초인공지능 : 주관적인 판단이나 자의식을 가질 수 있는 것 - ASI머신러닝 : 데이터와 정답을 입력하면 스스로 그 안의 규칙을 찾아내어 정답을 도출 - 머신러닝이라는 학문은 기계가 명시적으로 코딩되지 않은 동작을 스스로 학습해 수행하는 것 / 수없이 다양한 강아지 사진을 학습하며 그 속에서 스스로 패턴을 찾아내어 나중에는 강아지 사진을 입력하면 고양이와 다른 점을 구분하여 고양이가 아닌 '강아지'라는 정답을 도출해 내는 것 머신러닝의 3가지 유형1. 지도 학습2. 비지도 학습3. 강화 학습 1. 지도 학습1.1. 회귀어떤 입..

WaveDrom (Timing Diagram) 사용 법

https://wavedrom.com/ WaveDrom - Digital timing diagram everywhereWaveDrom Digital Timing Diagram everywhere WaveDrom draws your Timing Diagram or Waveform from simple textual description. It comes with description language, rendering engine and the editor. WaveDrom editor works in the browser or can be installed on yourwavedrom.com위 사이트에서 Timing Diagram을 편리하게 생성할 수 있다.처음 접속하여 Editor에 들어가면 아래와 같..

ROS2 - (1) 설치 및 기본 동작 (Topic, Service, Action)

* Ubuntu, WSL 등 환경 구성 설치 및 설정은 추후에 다루겠다.ROS2 설치 Ubuntu (deb packages) — ROS 2 Documentation: Humble documentation Ubuntu (deb packages) — ROS 2 Documentation: Humble documentationYou're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Jazzy. Ubuntu (deb packages) Table of Contents Deb packages for ROS 2 Hu..

Portfolio - Async FIFO Interface 설계 및 Syn ~ PnR

- FIFO RTL 설계https://insoobaik.tistory.com/678FIFO RTL 설계 및 PnR 후 netlist, sdf 파일을 통한 Simulation Delay 확인Metastability를 방지하기 위한 DFF 추가 구현FIFO Buffer의 Read, Write 동작 Clock Domain을 별도로 지정하여 CDC 구현Full, Empty 구분을 위한 Pointer의 경우 Gray Counter를 사용  Async FIFO Interface 설계를 위한 필요 개념 정리 글- FIFO 이론https://insoobaik.tistory.com/676FIFO 구조 및 동작원리 Interface, Synchronoushttps://insoobaik.tistory.com/677FIFO ..

Portfolio - UART / SPI Interface 설계 및 이를 이용한 DC_Motor PWM 제어

- UARThttps://insoobaik.tistory.com/658STM32 - FPGA UART Interface를 이용한 DC Motor 제어FPGA ILA를 이용하여 STM32 UART Signal Verification 및 Cadence Synthesis ~ Post Simulation Delay 및 결과 확인- SPIhttps://insoobaik.tistory.com/651아두이노 - FPGA SPI Interface를 이용한 DC Motor 제어하기https://insoobaik.tistory.com/648SPI 설계 및 FPGA ILA를 통한 Signal Verification & Cadence Synthesis ~ Post Simulation Delay 및 결과 확인- I2Chttps..

728x90