728x90

2024/10/02 8

FlexRay에 대해서

FlexRay는 고속 데이터 통신을 위해 설계된 네트워크 프로토콜입니다. FlexRay의 특징10Mbps 속도를 지원한다.이중 네트워크 구조를 가져 하나의 채널이 실패해도 다른 채널이 정상적으로 동작한다.타임 트리거드 : 특정 시간에 데이터가 전송되는 구조이다.이벤트 트리거드 : 이벤트 발생 시 데이터를 전송하는 방식이다.고정된 시간 슬롯을 사용하여 대역폭을 효과적으로 활용할 수 있다. FlexRay의 토폴로지 순서대로 멀티드롭 버스, 스타 네트워크, 하이브리드 네트워크이다.멀티드롭 버스CAN, LIN과 동일하다.여러 ECU들이 단일 네트워크 케이블에 연결되어 있다.네트워크 끝엔 터미네이터 저항기가 있어서, 신호 반항 문제를 해결한다.스타 네트워크FlexRay 표준은 중앙 활성 노드에 개별 연결되는 스타..

자동차-통신 2024.10.02

TurtleBot3 실습-2

실습-1에서는 터틀봇을 움직여보고 Rviz2에서 로봇을 불러와 동작을 시킨 뒤 Gazebo 환경에서도 같이 움직이는 것을 보았다.이번에는 맵을 라이다로 학습하여 장애물을 인지해서 목표지점을 정하였을 때 길을 찾는 작업을 해보도록 하겠다. 실습환경은 동일하게 Ubuntu 20.04, ros foxy에서 진행된다. Nav_simulation# Terminal 1# TurtleBot3 준비ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py# Terminal 2# 매핑ros2 launch turtlebot3_cartographer cartographer.launch.py use_sim_time:=True# Terminal 3# 내비게이션 ros2 launch t..

ROS 2024.10.02

TurtleBot3 실습-1

작업환경 : Ubuntu 20.04 LTS, ROS Foxy, Gazebo11  기본 세팅SLAM 라이브러리 설치sudo apt install ros-foxy-cartographer sudo apt install ros-foxy-cartographer-ros내비게이션2 설치sudo apt install ros-foxy-navigation2sudo apt install ros-foxy-nav2-bringupTurtleBot3 패키지 설치source ~/.bashrcsudo apt install ros-foxy-dynamixel-sdksudo apt install ros-foxy-turtlebot3-msgssudo apt install ros-foxy-turtlebot3환경 구성echo 'export ROS..

ROS 2024.10.02

J1939

주로 상용차에서 사용하는 CAN 프로토콜이다. J1939의 주요 특징250 Kbps의 전송 속도와 29비트 확장 ID: J1939의 기본 전송 속도는 250 Kbps이며, 29비트 확장 식별자를 사용하여 메시지를 식별한다.PGN(Parameter Group Number)과 SPN(Suspect Parameter Number): J1939 메시지는 PGN이라는 18비트 식별자로 구분되며, 메시지 내의 데이터는 SPN으로 정의된다. 이 SPN은 특정 매개변수, 예를 들어 엔진 속도나 연료 소비율과 같은 정보를 나타낸다.멀티바이트 변수와 멀티패킷 지원: J1939은 멀티바이트 데이터를 지원하며, 최대 1785바이트의 데이터를 전송할 수 있다. 이는 J1939의 Transport Protocol을 통해 구현된다..

자동차-통신 2024.10.02

UDS 프로토콜

UDS(Unified Diagnostic Service)는 ISO 14229-1을 준수하는 공통화된 차량용 Diagnostic 프로토콜이다.ECU와 고장진단장치/EOL 사이의 소프트웨어 및 펌웨어 업데이트, Data 모니터링, 차량의 문제를 진단하고 확인 등의 목적으로 사용된다.진단통신은 Request/Response 구조를 가진다.UDS의 일반적 구성CAN 2.0A Standard Identifier를 가장 많이 사용하며 8 Bytes의 Data Filed를 통해 Data를 구성한다UDS 전송 명령어의 종류는 3가지 형태로 존재한다.Service RequestPositive ResponseNegative Response Service RequestUDS sender가 UDS receive에게 요청하는 ..

자동차-통신 2024.10.02

(수정 중)CAN(Controller Area Network)

CAN(Controller Area Network) 통신은 호스트 컴퓨터 없이 마이크로컨트롤러와 각종 장치들이 상호 통신할 수 있도록 설계된 메시지 기반 멀티플렉스 통신 프로토콜이다. Broadcast 방식의 Bus 네트워크를 사용하여 Non-Host Computer 환경에서 통신이 가능하다. 1980년대 초, Bosch 사에서 개발한 통신 프로토콜이다. Bosch 사는 차량에 사용되는 ECU의 증가로 필요한 전선이 너무 많아 차량 무게에 영향을 주어 외주를 받아 개발했다. 이로써 다음과 같은 효과를 얻었다.배선 간소화 및 무게 감소신뢰성 향상통신 효율 개선유연성 및 확장성   CAN 특징특징을 간단하게 설명하겠다.실시간 데이터 전송높은 신뢰성간소화된 배선 및 낮은 비용확장성... CAN Frame의 구..

자동차-통신 2024.10.02

OBD (On-Board-Diagnostics)

OBD는 On-Board-Diagnostics의 약자로 간단하게 차량을 진단을 위해 만들어진 것이다.이것은 연결을 위한 커넉터, 통신에 사용되는 프로토콜과 Service ID까지 모두 포함된다.각 지역마다 규정이 달라 지역마다 이름이 다르다. ex) JOBD(일본), KOBD(한국) 기능문제 진단 : 차량을 지속적으로 모니터링하고, 문제가 발생하면 경고등을 통해 알린다.데이터 수집 : 차량의 성능을 분석하고, 조정을 수행한다.표준화 : 표준화된 커넥터와 문제 코드 체계를 사용하여, 빠르고 정확하게 진단할 수 있게 한다 OBD의 구조DLC(Diagnostic Link Connector)라고 불리는 이 커넥터는 16개의 핀으로 구성되며, 실제로 사용되는 핀들은 9개이다.

자동차-통신 2024.10.02

ROS foxy install

우분투 20.04에서 ROS2 foxy을 설치하는 과정을 코드와 함께 설명합니다.echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc1. 사전 준비UTF-8 인코딩 설정locale # check for UTF-8sudo apt update && sudo apt install localessudo locale-gen en_US en_US.UTF-8sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8export LANG=en_US.UTF-8locale # verify settingsuniverse 저장소를 추가sudo apt install software-properties-commonsudo add-apt-reposit..

ROS 2024.10.02
728x90