A few suggestions...
Don't just load the example/project programs or copy/paste them... Type them in by hand.
Try to understand what each line of code is doing. Refer to the Language Reference frequently. Read-through the Language reference if you haven't already done so.
Modify the examples to make them do something different. For example, modify the Blink example for different on & off times. Make the blink-on of blink-off time (or both) random within limits of your choice. Add one or two more LEDs and make them blink in a particular sequence.
Take the Blink Without Delay example, and modify it to blink two LEDs independently at different blink-rates. You'll probably need multiple timers running at the same time eventually, and you need to know how to time something while your program keeps running.
Modify the other examples in ways that you find interesting, or in ways that might eventually apply to your robot project.
Try to create your own projects/experiments to make something you find interesting, or something that will eventually apply to your robot project. If you need some additional hardware for your own projects/experiments, buy it!
The two most important programming concepts are conditional execution (if-statements, etc.) and loops (doing things over-and-over, usually until come condition is reached). Of course, there's a LOT more to programming than that... People get college degrees in programming (Computer Science), but once you understand those two concepts you should start to understand how programs "work".
For learning programming that's not specific to the Arduino -
Get an introductory C or C++ programming book and a compiler (to write programs on your computer). You'll be learning command-line programming (not GUI Windows) and a lot of it won't apply to the Arduino, but you will be learning programming. I learned C & C++ before I ever played-around with the Arduino and that made it really easy to look at the Programming Reference for the stuff that's unique to the Arduino. (I'm not an expert programmer, so I refer to the Arduino Language Reference and my books a lot.)
Look for a book with "homework" assignments so you can evaluate your progress. I liked Teach Yourself C in 21 Days and Teach Yourself C++ in 21 Days. (Some people hate these books, but I liked them.)
[u]cprogramming.com[/u] has tutorials, book recommendations, compiler recommendations, a forum, and all kinds of stuff to help you learn programming.
The best way to learn programming, especially if it's your first programming language is to take a class. With a class your learning is structured, you have an instructor and fellow students to lean from, you get homework, quizzes, and tests to evaluate your learning, etc. I never took a C/C++ class, but I'd taken classes in a couple of other programming languages before studying C/C++.
...There's enough information on the Internet to learn brain surgery, but knowing where to find it, what to study first, etc., means that most brain surgeons go to medical school! Most professional programmers go to school too!