6.1 Underlying driver content:
Serial bus servo communication
DC motor drive
Six-axis accelerometer communication
OLED screen driver
Dial encoder reading
WS2812B-RGB lamp bead driver
Buzzer driver
WiFi communication configuration
6.2 Motion control content:
One-leg positive solution FK
One-leg inverse solution IK
Attitude inversion
Foot end cycloid trajectory calculation
Trot gait pattern
Walk gait pattern
*VMC algorithm -- pseudo-closed loop (to be tested)
6.3 Code file description:
lib:
Adafruit_NeoPixel: WS2812B lamp bead drive control (a little bug, the first lamp bead is not controlled, to be changed)
Adafruit_PWM_Servo_Driver_Library: PCA9685 communication and driver library
MPU6050: Acceleration sensor
U8g2: for 0.96-inch OLED screen driver
src/Drive:
Hiwonde.h/.cpp: Serial bus servo communication library
ServoDrive.h/.cpp: PWM servo drive control library (PCA9685)
IOs.h/.cpp: GPIO pin configuration and control library
IMU.h/.cpp: MPU6050 acceleration sensor communication library
DCMotorDrive.h/.cpp: DC motor drive control library
src/Dynamics:
FKIK.h/.cpp: One-leg forward and reverse library
MotionControl.h/.cpp: robot motion and attitude control library
7.Remote control App design
Note: Location and notification permissions need to be turned on
Design Features:
Development based on Android
Using WIFI as the wireless communication mode
Using TCP as the transport layer protocol