Hu-Go is the name of the small robotic vehicle we are going to build in this tutorial. Hu-Go consists of four wheels, each with its one motor, giving us a maximum of control. In this tutorial, we start from the ground up, by showing you which parts you need, where you can buy them, and you can connect the parts to a robotic vehicle. However, we won’t stop there. This series is about understanding how we can program our small chum. First with inputs from a locally connected gamepad and later your smartphone is acting as the controller.
Be more technical: Hu-Go is a Windows 10 IoT project, using a Raspberry Pi to control motors by input from a gamepad connected via USB. Our example uses an Xbox controller, but other controllers are compatible too. A few steps, we extend the Raspberry Pi to act as a web server, receiving commands from a native smartphone application. As input, we use sensors like a gyroscope. To develop a cross-platform application we use Xamarin.Forms.
Remote controlling is only the beginning
Even if we focus on remote controlling in this series, this doesn’t mean our journey has to end there. Hu-Go is intended to be our fellow in many more series. In another tutorial, we equip him, with sensors enabling him to drive safely on his own. These efforts are the groundwork for more advanced project, like using artifactual intelligence to transform him into a mobile watchdog
As soon as we finish our work on these tutorials, you can see more information and links here.
Frequently asked questions
To check if Hu-Go is the right tutorial for you, we provided a list of questions and answers. If you think that we have missed a question, you are more than welcome to leave a comment.
How much time is needed?
It depends. Learning is always a self-learning process. Meaning we are not able to ‘teach’ you something. We provide a guide, explanations, and examples to support you during this process, but always be aware that just reading and clicking through the example is not likely to help you to understand.
We structure the lessons to take one to two hours each. You can do it on a daily or weekly base.
We plan to publish 16 lessons. If you are already familiar with programming, you can skip the beginner topics, which reduces the course to 12 lessons.
How much money I need to spend?
It depends on how many materials you already have. If you need everything, meaning if you haven’t got a Raspberry Pi, you should expect to pay about 140 USD. However, there are many options to save money. If you have already done some projects with Arduino and Raspberry Pi expect something between 25 USD and 35 USD. We discuss all the options and alternatives in the next post.
You don’t have to spend any money on software.
What equipment do I need?
You need a PC with Windows 10. This device needs to have an SD card reader (internal or external) to write the operating system on an SD card. Sometimes a second monitor, mouse, and keyboard can be helpful to connect it to Hu-Go directly. However, it is not needed.
The PC does not need much performance. My notebook is now four years old and is still working smoothly in this scenario.
What will we do in this tutorial?
We cover the following topics. Consider it as a short excerpt.
- Explaining the materials we need to awake Hu-Go
- Assembling the robot and get started
- Explaining the basics of programming (data, structures, statements)
- Going throw the very basics of electrical engineering and how to control a motor
- Writing logic to control motors and reading gamepad inputs
- Learn about command and control structures
- Implementing a small web service as base of the smartphone-based remote control
- Creating an application for smartphone/tablet to control the robot
- Using sensors like gyroscope to control Hu-Go
Don’t be afraid!
(Okay, this is not a question, but a crucial hint)
The previous table of content might scare you. However, you don’t have to be afraid. We don’t cover all the topics in detail. We want to draw a path from starting till deploying an application on mobile devices.
Imagine this tutorial as a jigsaw puzzle. We intend to assemble the frame first. Maybe we find some other pieces and put them together. When you finished this course you realize how big the puzzle is and how many other pieces are still missing. Then you can jump to other tutorials to complete another new area of the puzzle.
What can I do when I’m stuck?
Don’t be frustrated or desperate, even if this is mostly the first reaction. It’s more than likely – not only for beginners – to being lost in a problem. You will find ways to handle such situations. Till then you can follow these steps.
Make something else
Even if you don’t work actively on a problem. Your brain still is working on it, and sometimes an occurrence reminds you of your issue and giving you a different suggestion. Besides, on the next day the world often looks different.
Find another expression of your problem
Try to explain your problem to another person but find another way to express your problem. For example: If you don’t find the reason, why your wheels are not spinning, don’t ask ‘Why are my wheels not spinning?’ Try to explain what you have done, and more importantly, why you have done it that way. ‘I’ve connected one input from the motor controller to pin with number 3. The other input has been connected to pin 4. However, even if I write a high signal, my wheels are not turning.’
What is the difference? First, you have to review, what you have done, so maybe you realize then, that in your program you used the pins 6 and 7. Secondly, your discussion partner can ask you for more useful questions: What is the other output? Is it a High signal too? Are you sure you wrote a high signal? Have you connected the motor to the output of the controller?
The probability of finding the cause of your problem is much higher when you are using this way. Besides, you can ask search engines with better questions.
You can always ask us (inserting link to contact page) if you have a problem. However, we recommend trying it first by yourself and then ask us. The best learning result comes from understanding your failures.
Now, you should have a brief conception of what Hu-Go is and what path you are walking (sometimes climbing) in this tutorial.
In the next post, we see the gist of the matter. Hu-Go consist of what parts? Which ones are needed, which are helpful, but not necessary and where you can gather all the needed supplies?