본문 바로가기

반응형

IT

(42)
[ROS] 14. Jetson Nano 와 Arduino 의 I2C 통신 ☞ 메인보드 : Jetson Nano Developer Kit ☞ 운영 체제 : Ubuntu 18.04 - JetPack 4.4.1 ☞ ROS 버전 : Melodic ☞ IDE : Visual Studio Code ☞ 언어 : Python 목차 ○ 1. I2C 란? ○ 2. Jetson Nano(Master) ○ 3. Arduino(Slave) ○ 4. 실행 결과 메인보드로 Jeston Nano를 사용하면서 아두이노와의 통신 글을 올리곤 했는데, 아두이노 이외 MCU 중에서 그렇게 유명하다는 STM32나 인텔 8051은 써볼 엄두도 나지 않는다. 어셈블리어나 C에 익숙하지 않은 내가 갑자기 AVR을 공부하겠다며 AVR Studio 4를 설치했다가 한 달 동안 건드리지 않고 결국 삭제했던 기억이 있기 때문..
[QT] 3. 상단 탭 추가하기 (QTapWidget) ☞ 메인보드 : Jetson Nano Developer Kit ☞ 운영 체제 : Ubuntu 18.04 - JetPack 4.4.3 ☞ IDE : QtCreator, Visual Studio Code ☞ 언어 : C++ 목차 ○ 1. QTabWidget(탭 만들기) ○ 2. 코드 분석 ○ 3.이런 것도 있더라 -QTableWidget(엑셀 표) 정말 오랜만에 글을 작성해보는 것 같다. 조회수는 늘 비슷하게 유지되는 걸 보니 꾸준히 읽어주시는 분이 있는 듯하다. 가끔은 글을 써야 한다는 이상한 중압감에 사로잡혀 억지로 글을 쓰곤 했는데 그런 저퀄리티의 글도 읽어주시는 분들께 정말 감사하다는 인사를 하고 시작한다. 19년도 로봇 대회 참여로 동아리 발전을 위해 글을 작성하게 되면서 ROS나 OPENCV 이외..
[ROS] 13. 퍼블리셔-서브스크라이버 기능을 한 개의 노드로 구현 ☞ 메인보드 : Jetson Nano Developer Kit ☞ 운영 체제 : Ubuntu 18.04 - JetPack 4.4.1 ☞ ROS 버전 : Melodic ☞ IDE : Visual Studio Code ☞ 언어 : C++ 목차 ○ 1. 패키지 생성 ○ 2. 코드 작성 ○ 3. 실행 결과 ○ 4. 사용자 설정 메세지 통신 이전에는 ROS에 대해 이해도가 부족하여 메세지 통신 노드를 생성할 때 퍼블리셔(발행) 노드 한 개, 서브스크라이버(구독) 노드 한 개로 2 개의 노드를 생성하여 기본적으로 2 개 이상의 노드를 사용했다. 하지만, 필요한 경우 한 노드에도 여러 기능을 넣어 사용할 수 있다는 것을 알고 난 후에는 퍼블리셔-서브스크라이버, 서브스크라이버-서버 등 다양한 조합으로 한 노드에 기능을..
[ROS] 12. 서버-클라이언트 서비스 통신 ☞ 메인보드 : Jetson Nano Developer Kit ☞ 운영 체제 : Ubuntu 18.04 - JetPack 4.4.1 ☞ ROS 버전 : Melodic ☞ IDE : Visual Studio Code ☞ 언어 : C++ 목차 ○ 1. 패키지 생성 ○ 2. 서버 코드 작성[server.cpp] ○ 3. 클라이언트 작성[client.cpp] ○ 4. XML, CMAKE 파일 작성 + 서비스 파일 작성 ○ 5. 실행 결과 ROS는 병렬 작업에 최적화된 통신을 제공한다. 일반적으로 ROS 사용자는 다양한 센서와 부품들을 사용하여 로봇을 만들고자 하는데 이때 각 단위로 세부 제어를 할 수 있도록 하는 것은 ROS가 노드화 되어 있기 때문이다. 노드는 네트워크 통신의 노드를 생각해도 좋고, 구조 해석..

반응형