Let’s build a new Arduino brain for a LG VR6260LV vacuum cleaning robot as the original board is now bricked!
The robot has five Sharp GP2Y0A51SK0F distance measuring sensors (2 to 15 cm). The viewing angle is about 30 degrees. Three of them are pointed towards the ground (left, center, right) and two of them are pointed forward (left right). Looking from the top from left to right the sensors are arranged in this order:
- Down left
- Forward left
- Down center
- Forward right
- Down right
The robot has a EAX64466801 ultrasound sensor composed of one central transmitter and two lateral receiver.
Arduino pins
- Right Motor
- Pin 2 (Int) : Encoder Right motor
- Pin 3 (Int) : Encoder Right motor
- Pin 5 (PWM) : Right motor
- Pin 6 (PWM) : Right motor
- Left Motor
- Pin 18 (Int) : Encoder Left motor
- Pin 19 (Int) : Encoder Left motor
- Pin 7 (PWM) : Left motor
- Pin 8 (PWM) : Left motor
- Proximity Infrared Sensors
- Pin A15 : Right Down Proximity Sensor
- Pin A14 : Right Forward Proximity Sensor
- Pin A13 : Central Down Proximity Sensor
- Pin A12 : Left Forward Proximity Sensor
- Pin A11 : Left Down Proximity Sensor
- Proximity Ultrasound Sensor
- Pin 9 : trigger
- Pin 10 : echo left
- Pin 11 : echo right
- Pin 9 (PWM) : Vacuum Fan motor
- Pin XXX (PWM) : Vacuum Brush motor
Kinematic model
The kinematic model of a two wheel robot was found on Mobile Robot Wheel Configurations and Kinematics:
ω = ( V_R - V_L ) / 2d\\ R = d ( V_R + V_L ) / ( V_R - V_L )\\ V = \omega R = ( V_R + V_L ) / 2
\theta(t) = \int \omega(t) dt\\ x(t) = \int V(t) cos(\theta(t)) dt\\ y(t) = \int V(t) sin(\theta(t)) dt\\