the important part is the "ATmega328p" processor and the 20 basic IO pins.
Absolutely correct! Arduino is just a board with IO pins routed from the ATxxx chip and PC software that can interface with the chips, everything else is quite irrelevant when learning to code with Arduino.
Having the basic 20pins is a good starting point.
As I said earlier, all you really need is the Chip, few caps, a crystal and few resistors. When you can build that hardware configuration, build your own AT-chip programmer hardware, code it, and code it right, then you know Arduino. Then you can easily switch over to any of the Arduino boards or even build your own board with features not found on the official versions (Arduino/Genuino).
If you want to build that robot then learn how to interface with sensors and motors, and that is what all the tutorials are about. They don't just teach how to get a led flashing or an LCD to display some garbage. :-)