0

Line Robot - Skills

Choice

We will present here 3 roads which will lead You to the goal of making this robot do the tasks it is supposed to complete.

  1. First choice is for experts who understand hardware well, already mastered C++, who do not want to use a preprogrammed framework, but want to do everything by themselves, from coping with CAN Bus messages, making their own Arduino libraries, etc. So, if You are more oriented toward these smaller code examples, related to specific hardware options, use this page to see other approach to the problem.
    1. The next 2 options have in common usage of the preprogrammed framework in 2 ways, depending on programming skill. This framework (a collection of programs) will make You much more productive and is a preferred option.
    2. If You know C++ rather well, this option may be better for You. Read on paragraph 2.1. You may also be interested in option 2.2., if You omit the most basic C++ lessons. Check that option, too.
    3. If You a complete novice in C++ or if Your skill is limited, take this option. Continue with paragraph 2.2.

Option 2.1., framework for a seasoned C++ programmer

For this option You will have to have a basic C++ knowledge, that you understand C++ terms like: function, for, while, if, and similar. We do not assume that You understand some more advanced C++ concepts, like: pointers, templates, design patterns, etc.

Any normal Arduino course starts with something very alike hello-world-program in which a program prints "Hello world" or does a similar, simple task. While it is possible for us to go the same way, the process would be very long before we get any useful robot actions. There is different approach, not to use Arduino development environment, but to write a program that accepts only a limited user scripts, like Lego or Fischertechnik. We decided to use a third way, to give You total control and get the results fast. The downside will be that You will immediately start working in a complex, object-oriented, Arduino program. Follow the instructions and nothing bad will happen. Later, we will explain the details of this monster. Just imagine that we started with CAN Bus messaging to sensors and motors... You would be dead-bored before the robot started doing anything.

On the other hand, be ready for a steep learning curve. You will have to grasp rather advanced concepts right in the beginning. That will make sure that You will have much less problems later. The right concept will reveal itself later, cutting development time of any advanced robot manyfold.

To continue this way, just use the next tab, Basic programming.

Option 2.2, framework for novices

In this group of lessons for beginners, we try to explain even the most basic C++ concepts. You will gradually learn C++ and robotics at the same time. Some related exercises are included, too.