Wiki(으)로 돌아가기

AgileX UGV SDK <unk> 유니버설 CAN 플랫폼 SDK

AgileX ugv_sdk C++ 라이브러리와 pyagxrobots Python 결합을 위한 완전한 참조. 설치, CAN 설정, 지원되는 플랫폼 (SCOUT, RANGER, BUNKER, TRACER, HUNTER, LIMO), ROS2 사용 및 프로토콜 세부 사항을 포함합니다.

이 페이지에

  • [전환]
  • [지원되는 플랫폼]
  • [설비]
  • [C++ 라이브러리]
  • [파이톤 결합]
  • [CAN 설정]
  • [단순식 설정]
  • [ 지속적인 설정 ]
  • [프로토콜 세부 사항]
  • [ROS2 사용]
  • [게제보 시뮬레이션]
  • [왼쪽]

AgileX 페이지

  • [Hub 모든 플랫폼]
  • [UGV SDK]
  • [SCOUT 시리즈]
  • [RANGER 시리즈]
  • [BUNKER 시리즈]
  • [트래커 + 헌터]
  • [LIMO]
  • [파이퍼 팔]

하드웨어 가이드

  • [VLAI L1 로봇]
  • [LinkerBot O6]
  • [DK1 바이맨્યુઅલ 키트]
  • [오픈아름 1]
  • 보스터 K1
  • [BrainCo Revo II]
  • [파키니 센서]
  • [우지 손]

또한 참조

  • [← 모든 기사는]
  • [로봇스 아카데미 →]
  • 플랫폼 →
  • [문제 하나 물어봐요]

T0 C++ 라이브러리와 T1 파이썬 결합을 위한 완전한 참조 모든 AgileX 모바일 플랫폼에 대한 통일 인터페이스 CAN 2.0B 500 kbps.

** 라이브러리:** T2 ** 파이썬:** T3 ** 인터페이스:** CAN 2.0B @ 500 kbps ** GitHub:** agilexrobotics/ugv_sdk

C++ 파이썬 CAN 버스 ROS2 모든 플랫폼

1. 전반적인 설명

ugv_sdk는 AgileX 로봇의 오픈소스 C++ 라이브러리로서 CAN 버스를 통해 모든 AgileX 모바일 플랫폼에 통일된 소프트웨어 인터페이스를 제공합니다. 플랫폼 특정 드라이버보다는 ugv_sdk는 기본 CAN 프로토콜을 일관된 API로 추상화합니다.

라이브러리는 프로토콜 버전 2개를 지원합니다. ** 프로토콜 V1** (유산) 및 ** 프로토콜 V2** (현재). 2021년부터 생산되는 모든 플랫폼은 프로토콜 V2를 사용합니다. 프로토콜 V1 지원은 오래된 스카우트, 스카우트 미니, 헌터 1.0 및 벙커 단위로 후진 호환성을 위해 유지됩니다.

파이썬 사용자들을 위해 pyagxrobots 패키지는 파이썬 파이프로 ugv_sdk에 Python 결합을 제공하여 C++ 라이브러리를 직접 컴파일하지 않고 파이썬으로 작성된 내비게이션 스택과 빠른 프로토타입 제작 및 통합을 가능하게 합니다.

** 하나의 SDK, 모든 플랫폼.** ugv_sdk는 모든 AgileX ROS2 패키지 (T4, T5, T6, T7, 등) 에 공유되는 단일 의존성입니다. 한번 설치하면 모든 플랫폼별 ROS2 드라이버가 자동으로 찾을 수 있습니다.

2. 지원되는 플랫폼

아래 표는 각 AgileX 플랫폼의 프로토콜 버전 지원, 사용 가능한 인터페이스 및 현재 지원 상태를 보여줍니다.

Robot Protocol V1 Protocol V2 UART CAN Status
Scout 2.0 Y Y N Y Active
Scout Mini (Skid) Y Y Y Active
Scout Mini (Omni) Y Y Y Active
Hunter 1.0 Y Y Y Active
Hunter 2.0 Y Y Active
Bunker Y Y Y Active
Tracer Y N Y Active
Ranger Mini 2.0 Y Y Active
Ranger Mini 3.0 Y Y Active
Ranger Y Y Active

** 프로토콜 V2는 모든 새로운 개발에 권장됩니다.** 프로토콜 V1 지원은 오래된 하드웨어에 있습니다. 플랫폼이 프로토콜 V2 (2021년부터 모든 단위) 를 탑재하면 V1 을 활성화하지 않으면 새로운 펌웨어에서 예상치 못한 행동을 일으킬 수 있습니다.

3· 설치

C++ 라이브러리

소스에서 ugv_sdk를 구축하고 설치합니다. 라이브러리는 CMake 3.10+, C++14 호환 컴파일러 및 SocketCAN 개발 헤더 (T8) 를 필요로 합니다.

# 의존성을 설치 (Ubuntu 20.04 / 22.04) sudo apt 설치 구축 필수적인 cmake libsocketcan-dev

록을 복제 git klone T74 cd ugv_sdk && mkdir 빌드 && cd 빌드

# 구축 및 설치 () () sudo를 설치

설치 후 헤더는 T9에서 사용 가능하며 라이브러리는 T10에서 사용 가능하며 CMakeLists.txt에서 T11로 연결합니다.

파이썬 결합 (pyagxrobots)

파이썬 첫 번째 작업 흐름에 대해 파이썬 공식 결합을 파이프로 설치하십시오. C++ 컴파일링이 필요하지 않습니다.

** 파이썬 결합은 작동하는 CAN 인터페이스를 필요로 한다.** T12은 C++ 라이브러리와 같은 SocketCAN 인터페이스를 통해 하드웨어와 통신한다. 어떤 pyagxrobots API를 호출하기 전에 T13이 완료되었는지 확인한다 (하에 CAN 설정 참조).

4. CAN 버스 설정

모든 AgileX 플랫폼은 500 kbps**로 **CAN 2.0B를 사용합니다. GS_USB 호환 USB-to-CAN 어댑터 (예를 들어, CANable, Waveshare USB-CAN-A) 를 필요로 합니다. 아래 명령어 중 하나를 실행하기 전에 로봇의 CAN 포트에 연결하십시오.

CAN 인터페이스를 가져오십시오

GS USB 커널 모듈을 로드 sudo modprobe gs_usb

500kbps로 캔0를 올리는 sudo ip 링크 세트

# 인터페이스가 작동하고 있는지 확인 ip 링크 쇼가 될 수 있습니다

# 선택적: 진단에 필요한 원료 CAN 프레임을 폐기 캔드 캔드

리부팅 중 지속적인 설정

각 플랫폼의 ROS2 패키지는 지속성을 자동으로 처리하는 두 개의 셸 스크립트를 배포합니다.

# 어댑터를 구성하기 위해 첫 하드웨어 연결 후 한 번 실행 bash 설정_can2usb.bash

ROS2 노드를 시작하기 전에 다음 각 부팅을 실행 바쉬를 가져오세요

두 스크립트는 플랫폼 특화된 ROS2 패키지의 T14 디렉토리에 위치하고 있습니다 (예를 들어, T15).

** 팁: 스ક્રિપ્트를 수동으로 실행하지 않고 자동으로 시작되는 CAN 인터페이스를 원한다면 ~/.bashrc 또는 systemd 서비스에 bringup을 추가하십시오.

5· 프로토콜 세부 사항

Parameter Value
CAN standard CAN 2.0B (extended frame support)
Bitrate 500 kbps
Byte order Motorola (big-endian)
Timeout protection 500 ms — platform stops if no command received
Minimum command rate 10 Hz (recommended: 20–50 Hz)
Protocol versions V1 (legacy), V2 (current, all 2021+ units)

500 ms 안전 시간** 제어 노드 충돌 또는 500 ms 이상 정지하면 로봇은 자동으로 멈출 것입니다. 이것은 의도적입니다. 제어 루프를 최소 10 Hz에서 명령을 보내도록 설계하십시오. 원활한 움직임을 위해 50 Hz는 원활하게 작동하는 것이 좋습니다.

6. ROS2 사용

모든 AgileX 플랫폼은 동일한 ROS2 발사 패턴을 따르고 있습니다. T16을 플랫폼 이름으로 대체합니다: T17, T18, T19, T20, T21, 또는 T22.

플랫폼의 ROS2 패키지를 설치

# SCOUT의 예제 플랫폼으로 '스카우트'를 교체 cd ~/ros2_ws/src git klone T75 cd ~/ros2_ws 로스데프 설치 --From-paths src --ignore-src - r - y Colcon 빌드 --symlink-install 소스 설치/설정.bash

기본 드라이버를 발사

# 먼저 CAN 인터페이스를 가져오십시오 (이기에 안 들어간 경우) bash ~/ros2_ws/src/scout_ros2/scripts/bringup_can2usb.bash

로봇 기반 드라이버를 시작하세요 로즈2 발사 스카우트 스카우트 스카우트 스카우트 스카우트 스카우트

2단말에서 키보드 텔레오퍼레이션 로즈2를 실행하세요

속도 명령 주제는

모든 플랫폼은 T23 (형: T24) 를 가입하고, T25에 오도메트리 및 T26에 로봇 상태를 게시합니다. 주제 이름과 메시지 유형은 모든 플랫폼에서 일관합니다.

# 드라이버를 시작한 후 사용 가능한 주제를 확인하세요 로스2 주제가

# 수동 속도 명령 (0.3m/s 앞으로, 0 각) 을 보내십시오 로즈2 주제는 pub /cmd_vel 기하학 "{선형: {x: 0.3, y: 0.0, z: 0.0}, 각형: {x: 0.0, y: 0.0, z: 0.0}}"

nav2 호환성. 모든 AgileX 플랫폼 ROS2 패키지는 ROS2 nav2 내비게이션 스택과 호환성입니다. 기본 드라이버는 nav2가 요구하는 T27을 게시하고 T28T29 TF 변환을 방송합니다.

7. 가제보 시뮬레이션

AgileX는 [ugv_gazebo_sim] (UGV) 에서 모든 UGV 플랫폼에 통일된 Gazebo 시뮬레이션 패키지를 제공합니다. 시뮬레이션은 실제 하드웨어와 동일한 ROS2 주제 인터페이스를 사용합니다. 따라서 시뮬레이션에서 개발된 코드는 변경 없이 물리적 로봇에 전송됩니다.

# Gazebo Sim 패키지를 복제 cd ~/ros2_ws/src git klone T76 cd ~/ros2_ws && 콜콘 빌드 --symlink-install 소스 설치/설정.bash

# 가제보에서 스카우트 2.0를 출시 (스카우트를 플랫폼으로 교체) 로즈2 발사 스카우트

8· 주요 링크

Resource URL
ugv_sdk GitHub github.com/agilexrobotics/ugv_sdk
Gazebo Simulation github.com/agilexrobotics/ugv_gazebo_sim
Python binding pypi.org/project/pyagxrobots
AgileX GitHub org github.com/agilexrobotics (87 repos)
AgileX website www.agilex.ai
Technical support support@agilex.ai

** 모든 AgileX 플랫폼** AgileX 플랫폼 허브 를 검색하여 SCOUT, RANGER, BUNKER, TRACER, LIMO, Piper를 포함하는 제품 당 페이지를 검색합니다.

** 질문이 있습니까?** [공동체에게 물어보십시오]T72) 또는 [ 연락처 지원]T73)