GKD.RoboCtrl
载入中...
搜索中...
未找到
config.project.hpp
1#pragma once
2
3#include <string>
4#include <vector>
5#include <initializer_list>
6
7#include "ctrl/robot.h"
8#include "device/controlpad.h"
9#include "device/imu/serial_imu.hpp"
10#include "device/motor/m9025.h"
11#include "io/can.h"
12#include "io/serial.h"
13#include "io/udp.h"
14#include "device/motor/dji.h"
15#include "utils/pid.h"
16
17namespace roboctrl::config{
18 constexpr std::initializer_list<io::can::info_type> cans = {
19 {"CAN_CHASSIS"}
20 };
21
22 constexpr std::initializer_list<io::serial::info_type> serials= {
23 {"serial1","/dev/IMU_HERO",115200}
24 };
25
27 constexpr utils::linear_pid::params_type chassis_motor_pid = {
28 .kp = 15000.0f,
29 .ki = 10.0f,
30 .kd = 0.0f,
31 .max_out = 14000.0f,
32 .max_iout = 2000.0f
33 };
34
35 constexpr std::initializer_list<device::dji_motor::info_type> dji_motors = {
36 {device::dji_motor::M3508,2,"left_front_motor" ,"CAN_CHASSIS",0.075,chassis_motor_pid,2ms},
37 {device::dji_motor::M3508,1,"right_front_motor" ,"CAN_CHASSIS",0.075,chassis_motor_pid,2ms},
38 {device::dji_motor::M3508,4,"right_rear_motor" ,"CAN_CHASSIS",0.075,chassis_motor_pid,2ms},
39 {device::dji_motor::M3508,3,"left_rear_motor" ,"CAN_CHASSIS",0.075,chassis_motor_pid,2ms},
40 };
41
42 constexpr device::control_pad::info_type control_pad{
43 "serial1"
44 };
45
46 constexpr device::serial_imu::info_type imu{
47 "imu",
48 "serial1"
49 };
50
52 .gimbal_info{
53
54 },
55 .chassis_info{
56
57 },
58 .shoot_info{
59
60 }
61 };
62}
基于 Linux SocketCAN 的 CAN 总线封装。
DJI 电机及分组抽象。
通用 PID 控制器实现。
串口裸 IO 封装。
UDP 裸 IO 封装。