Skip to content

Repository files navigation

PinyEngineer

Commitizen friendly semantic-release: angular

image

Todo

底盘

  • 1. 遥控器/键盘控制
  • 2. 功率控制
  • 3. 小陀螺
  • 4. 过减速带

云台

  • 1. 云台跟随

  • 1. 复位
  • 2. 遥控器/键盘控制
  • 4. 一键取矿
  • 5. 示教器跟踪

示教器

  • 1. 裁判系统通信
  • 2. 控制机械臂

中间层

  • 1. 双板通信
  • 2. ui

特色功能

  • 1. 翻倒自救

图传键鼠&遥控器

  • 图传遥控器三档CNS
  • C:键鼠模式
  • not C: 遥控器模式

键鼠:

  • Ctrl + Z : 上控(底盘,云台,臂)
  • Ctrl + C : 下控(底盘,云台,臂)
  • Ctrl + Shift + Q 上板reset
  • Ctrl + Shift + B uiReset(无需上控)
  • Ctrl + Shift + E 末端复位(确保末端运动无干涉)
  • 上控后:
  1. 底盘
  • 同时按Shift,底盘运动加速
    • W : 前进
    • S :后退
    • A :左移
    • D :右移
  • 云台默认跟随底盘
    • Z 云台跟随底盘
    • B 不跟随
  • Ctrl + Q:过减速带(默认底盘不跟随,可手动切换)
  • Ctrl + A:过减速带(儅裝甲板)
  • Ctrl + E:平地(默认底盘跟随,可手动切换)
  • Ctrl + W:小陀螺
  • Ctrl + Z:RUN
  1. 云台

    • 进入TEACH/PLAN默认图传舵机跟随
    • 不按
      • x方向移动鼠标:云台沿yaw轴旋转
    • 按 鼠标中键
      • x方向移动鼠标:云台图传沿yaw轴旋转
      • 移动鼠标滚轮:云台图传沿pitch轴旋转
    • 按 E
      • 图传复位
    • 按 Q
      • pitch自动跟随
    • R : 按了之后臂进入Teach,可使用示教器控制机械臂运动
    • 可按 G + C 进入一键拿矿 ; G + V 进入一键存矿 ; G +B 进入一键从矿仓取矿
    • ui显示:实际一键序数(实际),和鼠标左键控制的序数(目标)
    • 鼠标右键:负责设定目标序数
    • 6条路径按顺序执行,如果想要执行某一特定路径,使用鼠标左键把序数调到对应序数,三个按键(G+C/V/B+鼠标右键)同时触发目标一键
    • (或者先按住鼠标右键再按G+C,防止鼠标右键没有被触发,直接G+C按顺序执行下一条)
  • 矿仓舵机
    • C:关
    • V:开
  • 夹爪:
    • F + C 抓
    • F + V 放 (注意夹爪抓放时要同时按FC/FV或者先按住F再按C/V,防止按夹爪导致矿仓舵机动)

遥控器

  1. N:上控(底盘,云台,臂)

    • 摇杆:
      • 左: 臂yaw(8016),pitch(10010L)
      • 右:底盘前后左右运动
    • 按键:
      • fn1(左):底盘RUN遥控器
      • fn2(右):底盘SPIN小陀螺
    • 拨轮控云台
  2. S:上控(底盘,云台,臂)

    • 摇杆:
      • 左: 臂yaw(4310),pitch(4310)
      • 右:臂yaw(4340),pitch(8009)
    • 按键:
      • fn1(左):臂NORMAL遥控器
      • fn2(右):臂TEACH自定义
  3. N/S:

    • 按键(夹爪):扳机键——夹取;暂停键——释放

👉 Click here to view details

🎯Requirements

  1. cmake >= 3.24
  2. ninja >= 1.1
  3. arm-none-eabi-toolchains >= 10.3.1 or llvm (experimental)
  4. python >= 3.2
  5. kconfiglib

we also suggest to install following software:

  1. clangd >= 20.0
  2. clang-format >= 20.0
  3. commitizen
  4. ccache

🌟Getting started

🏗️Build

构建

cmake -B build -G Ninja

编译

ninja -C build

支持基于Kconfig对项目进行配置

cmake --build ./build --target menuconfig

支持直接根据预制的配置文件来构建项目 (应存在于根目录,本例文件名为"yourconfig")

cmake -B build -G Ninja -DCONFIG_NAME=yourconfig

🐞Debug

  1. openocd >= 0.12.0
  2. cortex-debug / codelldb (vscode-plugin)
  3. Ozone 3.24
  4. FreeMASTER/FreeMASTER Lite >= 3.1.3 (后者支持Linux,需装前置Java JRE)
  5. systemview

⚠️Notice

  1. 在main函数执行之前调用HAL库函数是危险的!请避免使调用HAL库的构造函数的类对象成为全局变量(可以创建全局的指针,或使用./Src/Utils/Lazy中的工具,并在初始化阶段构造);
  2. 首次构建时,本项目会自动从github拉取第三方库,请确保网络可用。

🧩Framework

frame

🙌Contributing

Contributions are always welcome!

See CONTRIBUTING for ways to get started.

Please adhere to this project's CODE_OF_CONDUCT.

Important

PinyCore is still in early development, and is not yet complete. It should be stable enough and we have been daily driving it for quite a while, but expect some bugs and possibly breaking changes to the config file.

About

RoboMaster 2026 PIONEER Engineer software code

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages