Enable controllable power port to power nvidia jetson
fixed gyro z-axis offset
since when using Eigen library there is unexpected assignment failure, the EKF part is deleted and will be implemented on the pc.
add static filter to gyro's x and y axis and raised the threshold to 0.003. If the threshold value smaller than 0.003, there would be long-term shift on gyroscope when the chassis is static.
Fixed the number of bits and format of the USBVCom's output to make it easier to read in the host computer via the serial driver. And added the speed of each wheel and the overall speed of the body.
re-tune the pid parameters since the accurater encoder, the new parameters: Kp=1.17,Ki=0.103
switched to larger moment motor and accurater GMR encoder, therefore changed the value of ry (wheelbase) and nPpr(pulse per round).
re-distribute the GPIO pins and TIM to release the Ethernet peripheral's pins
added extended kalman filter to estimate oreientation and output the acceleration, Angular velocity and quaternion through USBVcom.
added static filter to gyro's z-axis, if in 0.5s the std of z-axis<0, they imu.wz are set to 0.0,
IMU raw data sent out. The sampling rate of gyro and accel is 200hz, the DLPF for gyro and accel are both set to 92hz, the range of gyro is 250 dps, and accel is 4g.
McNamee's Wheel Forward and Reverse Kinematics Solved
reorganize the codes, define new data type and functions to make the code more modular and readable
PI control motor,Ki=3.0 and Kp=45. The control result shows like,
receive formatted char from VCP and save the speed control value in float.
encoder's readings sent to USB VCOM
pwm and encoder must use two different TIM,problems would happen when pwm output and encoder uses different channel on the same TIM.