# High-level
- Chess engine
- Board scanning -> FEN (Engine notation)
- Outputs: coordinates of pick and place coordinates of robot
## Planning
- Sampling-based planners
- RRT*
- Maybe next time
- Collision detection
- Next time
### Linear interpolation for the planner
- Known values: z-offset=0.1m, pose of board
- Calculate pick and place positions from board pose and coordinates from high-level and
1. Center above pick position
2. Pick position
3. Go up
4. Center above place position
5. Place position
6. Go up
7. Home position
Outputs list of xyz positions
Inverse kinematics: xyz to joint angles
Feed joint angles to Control
# Perception
- Cameras capture board state for FEN notation
- Done
# Control
Goal: Given joint values, execute control commands that reach those joint values
Constraints:
1. Low-velocity movements
2. Stay within joint limits
3. Follow waypoints within tolerance
Build controller that solves these constraints
- PID controller
- Hard to tune
- less computatlion
- MPC controller
- Easier to tune
- more computation
- [AX-12A Servo Control Docs](https://emanual.robotis.com/docs/en/dxl/ax/ax-12a/)
- [read/write to servo](https://github.com/ROBOTIS-GIT/DynamixelSDK/blob/master/python/tests/protocol1_0/read_write.py)
-
- Raghava