Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill localization명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | localization |
| description | 轮式车辆定位系统 - GNSS/RTK、SLAM、IMU融合、里程计 |
| argument-hint | 车辆定位 OR GPS定位 OR 车辆SLAM OR RTK |
| user-invocable | true |
用于开发轮式车辆的定位和地图系统
当需要以下帮助时使用此技能:
wheeled_vehicle_localization:
# GPS/RTK
gnss:
type: ublox / septentrio
rtk_base: local # 或 NTRIP
# SLAM
slam:
type: lio_sam / FAST_LIO / cartographer
# 融合
fusion:
method: ekf / ukf
sensors: [gnss, lidar, imu, wheel_odom]
class RTKLocalization:
def __init__(self):
self.gnss = GNSSReceiver('/dev/ttyGNSS')
self.rtk_base = NTRIPClient('rtk.base.com', 2101)
def get_pose(self):
"""获取 RTK 定位"""
gnss_data = self.gnss.read()
if gnss_data.rtk_status == 'FIXED':
# RTK 固定解
return self.enu_to_xy(gnss_data.position)
else:
# 标准 GPS
return self.enu_to_xy(gnss_data.position, accuracy=3.0)
class VehicleEKF:
def __init__(self):
self.state_dim = 6 # x, y, z, roll, pitch, yaw
self.ekf = ExtendedKalmanFilter(self.state_dim)
# 状态转移矩阵
self.F = np.eye(6)
def predict(self, dt, v, omega):
"""预测步骤"""
self.F[0, 2] = -v * sin(self.state[5]) * dt
self.F[1, 2] = v * cos(self.state[5]) * dt
self.ekf.predict(self.F)
def update_gnss(self, gnss_pose):
"""GPS 更新"""
H = np.eye(2, 6)
R = np.diag([0.1, 0.1]) # GPS 噪声
self.ekf.update(gnss_pose, H, R)
./wheeled_vehicle/perception/SKILL.md - 感知系统./wheeled_vehicle/navigation/SKILL.md - 导航系统./wheeled_vehicle/action/SKILL.md - 运动控制