Pywin32
Asuswrt Merlin Extensions
Node.js
LaTex
Python 代码规范
How To Build This Blog
Markdown Syntax
AutoHotKey
Learn Vim Progressively
1st Level – Survive
i
→ Insert mode. Type ESC to return to Normal mode.x
→ Delete the char under the cursor:wq
→ Save and Quit (:w save, :q quit)dd
→ Delete (and copy) the current linep
→ Paste
Recommended:
hjkl
(highly recommended but not mandatory)→
basic cursor move (←↓↑→
). int: j looks like a down arrow.:help <command>
→ Show help about<command>
. You can use :help without a<command>
to get general help.
Rubik's Cube Robot
Abstract
This project designed a robotic system which can solve a randomly scrambled Rublik’s 3x3 cube. This robot uses Android OS as the computing platform and STM32 as the controller. Both communicate via Bluetooth and then control the robot arms to solve the Rubik’s Cube. Different from the way of color recognition based on RGB color model, here introduced k-nearest neighbors algorithm (k-NN) in color recognition, which eliminated the influence of light intensity on recognition, so that the rate of color recognition reached a very high precision. Kociemba algorithm has the least steps to solve the cube, with an average of only 21 rotations, and it can be figure out in milliseconds. The introduction of Kociemba algorithm greatly shorten the solution time. In addition, the binary tree model is used to optimize the solution steps, which significantly reduces the execution time of the servos. The ideas of the pulse increment interpolation in CNC system also applied to optimize servos control, which achieve a good balance between speed and stability.