분류 전체보기

    UDS 통신 정리 (1)

    리프로그래밍, 업데이트, OTA (Over The Air) ========================================= (1) 등장 배경 & 개요: 진단 통신이 그래서 뭐 하는 건데? 다운로드 장비 Trace32 1. SW 내부 데이터 값 확인 2. SW 다운로드, 버전 확인 3. Calibration 4. 제어기 Rebooting (ECU Reset) 5. 고장기록 확인, 고장 종류, 몇번 났는지, 고장 당시의 각종 정보 D-Sub 9Pin 2번 - CAN Low 7번 - CAN High OEM(완성차업체)이 CAN DB를 구성해서 부품사들에게 제공 OBD Connector 진단통신 표준 스펙 ISO 14229 SAE J1939 (미국자동차공학회) 진단통신 종류 1. UDS (Unifie..

    FreeRTOS - 2. 태스크와 메모리

    .stack \- 2ffe8 (stack growth : 맨 마지막 주소부터 아래로 사용) .heap (동적메모리) --> configSUPPORT_DYNAMIC_ALLOCATION 1 .bss \- 90b8 (정적메모리) --> configSUPPORT_STATIC_ALLOCATION 1 .data \- 74 .text 태스크 스택은 heap이 될 수도 있고 bss가 될 수도 있다. 메모리 단편화를 방지하기 위해 런타임에 태스크를 실행하지 않고 부팅하자마자, main.c에서 극 초반에 태스크를 생성

    FreeRTOS - 1. 태스크 생성과 운용

    FreeRTOS - 1. 태스크 생성과 운용

    전자공학부 임베디드운영체제 A+ 컴퓨터공학부 운영체제 A+ 이젠 RTOS 공부다! osKernelStart(); // 멀티태스크 시작 함수 생성된 태스크의 스케줄링을 시작하는 함수 xTaskCreate() 태스크 하나를 생성 /* 함수 원형 */ BaseType_t xTaskCreate(TaskFunction_t pxTaskCode, const char * const pcName,/*lint !e971 Unqualified char types are allowed for strings and single characters only. */ const configSTACK_DEPTH_TYPE usStackDepth, void * const pvParameters, UBaseType_t uxPriority,..

    6일차 & 7일차

    custom_interfaces 나만의 msg, srv,a action type Jetson Nano Jetson NX, AGX 20.04 --> ROS2 Foxy 최신 기능들 포함 L4T TensorRT = Optimizer + Runtime Runtime: 엔진 형태로 만들기 (후반부 강의) CUDA : GPU를 다룰 수 있게 해줌 cuDNN: 딥러닝 네트워크를 잘 다룰 수 있도록 해줌 ROS2 Real Robot 2D Lidar 실내 A1 (15-20만원대) A2 (50만원대) 실외 A3 (80만원대) Measuring Range Angular Resolution 투명, 유리 --> Radar(빛), 초음파(전자기파) Camera 로지텍 c270 resolution 720p frame rate 30..

    ROS2 Service 프로그래밍

    Service Command ros2 service call ros2 service list ros2 service type ros2 interface show # 서비스 타입 출력 형식 request --- response 실제 전송되는 데이터는 실행되는 Service type에 맞춰야함 데이터 타입 = srv (topic의 msg와 유사) Server는 동시에 여러 request를 처리하지 못 함 srv import # turtlesim/srv/Spawn from turtlesim.srv import Spawn # node import import rclpy from rclpy.node import Node Client 생성: create_client() create_client(srv_type, s..

    ROS2 Topic 프로그래밍

    Topic 관련 명령어 ros2 topic list ros2 topic info Type: Publisher count: Subscription count: ros2 topic echo ros2 interface show Topic msg type이 geometry_msgs/msg/Twist인 메시지를 사용 from geometry_msg.msg import Twist Publisher create_publisher(msg_type, topic_name, queue_size) self.twist_publisher = self.create_publisher(Twist, '/turtle1/cmd_vel', 10) Callback 함수 내에서 msg publish msg = Twist() msg.linear...

    ROS2 Launch file

    launch 명령어 ros2 launch launch file 분석 launch file = 실행시킬 노드(개별 프로그램)들을 한번에 실행 ROS2 launch file = Python 문법 launch file은 항상 맨 아래부터 보기! return LaunchDescription([ start_gazebo_server_cmd, start_gazebo_client_cmd, robot_state_publisher, joint_state_publisher, spawn_entity, rviz2, ]) rivz2 = ros2 run rviz2 rviz2 launch 파일 작성법 robot_state_publisher = Node( package='robot_state_publisher', executable=..

    ROS2 Node 프로그래밍

    setup.py 파이썬 파일 ros2 run으로 실행하려면 setup.py 파일에 entry_points 부분에 파일명 추가 '실행 시 사용될 이름 = 패키지 이름.파일 이름:main' entry_points={ 'console_scripts': [ 'example_node_1 = basic_topic_pkg.node_example_1:main', 'example_node_2 = basic_topic_pkg.node_example_2:main', 'example_node_3 = basic_topic_pkg.node_example_3:main', 'example_node_4 = basic_topic_pkg.node_example_4:main', 'example_node_5 = basic_topic_pkg...