Since I luckily bought an Arduino Mega ADK it had an USB host controller onboard. So my idea was to take the receiver of the wireless XBox 360 controller and directly attach it to the Arduino board. In this way I would not need the USB wire to the PC anymore and the robot would be mobile and remote controlled. I searched quite a while until I stumbled upon some guys who had analyzed to protocol of the receiver module and here is what I came up with, an Arduino based robot that can be remote controlled with an wireless XBox 360 controller.
Montag, 8. Oktober 2012
First driving...
In a first test, I setup a serial communication circuit between the Arduino and the motor driver. Furthermore I've implemented some C# and Arduino code that allowed me to control the motors over the PC and that through an XBox 360 Game controller. It worked pretty nice with the exception that the robot was attached to the PC and therefore only mobile in the range of about one meter radius.
Sonntag, 7. Oktober 2012
The Happy Lab
The happy lab is a fab lab in Vienna. It is a really cool place where you can use CNC machines that you normally do not have in your backyard. I mostly use the laser cutter to cut the parts for my robot. For that I needed some CAD drawings and a program called QCAD turned out to be a very good nearly free tool to do so. The first part that I cutted out was a circle-shaped base of the robot.
Arduino and the motor driver
I spent several hours on surfing and reading to get a good overview on what's important when developing robots. So far I guess the most important rule is as follows: Keep it simple stupid!
Therefore I try to keep the mechanical design of my robot as simple as possible. Another interesting hint I've found is about the shape of the robot. If one has a differential drive robot it is a good idea to make it circle-shaped, because then it can rotate around its vertical axis without the risk to collide somewhere.
I also spent several hours on finding a good motor driver for my robot. I finally decided to buy the RD02 which is a complete robot driving set. It contains two wheels, two metal parts for mounting, two motors with(!) a sensor and the motor driver MD25. Although not very cheap this set is really worth the money, if you don't want to focus too much on the driveability of your robot. The MD25 does everything for you. For example you can set both motors to a certain speed and regardless of the momentum one motor is exposed to, it will try to keep up the same speed. This means that if you tell the motor driver to drive along a straight line, it will do that no matter if one motor spins easier than the other.
As a microcontroller I chose an Arduino Mega ADK board. It is kind of over-kill for a robot of this purpose but it has one unique feature that already paid off. It has a USB host controller, which means that devices like a mouse, a keyboard or a game controller can be directly attached to the Arduino board. Beside that it also can be used to comunicate with an Android device.
The documentation of the MD25 is pretty good but there is more! The guys from robot electronics set up some example code to control the motor driver with an Arduino over a serial interface (which I used because of its very easy electronic circuit) or I2C interface.
Sonntag, 5. August 2012
Idea for a robot
I'm want to build robots. That said raises lots of questions:
I came up with an idea of a robot that should be able to drive around in rooms, without colliding into obstacles and furthermore it should be able to reconstruct the surrounding environment.
The idea itself already raises lots of issues and I decided to go a middle way between prefabricated parts and parts done by myself. For example I am currently planning the body of the robot but I'm not going to design some homebrew motodriver electronics.
So the idea is to have a robot which is capable of reconstructing the environment! Therefore I will use the Microsoft Kinect Sensor. It is basically a structured light scanner that returns an array of depth values for each pixel. There are lots of wholes and noise in the data but a very nice solution to this is a method called KinectFusion (Video). The method does a nice job but is limited to a certain volume that does not allow large scene reconstructions. I will have to find a way around this problem. Furthermore KinectFusion needs a fast graphics card and as I do not have a fast laptop I will have a robot that uses a remote server to do the reconstruction.
My plans here are to go into the details of the robot planning and building process in upcoming posts.
For now I'll show some renderings that I did in Cinema4D as a concept:
- How do I drive a motor?
- Which "brain" should I use for the robot?
- Which materials should I use?
- What kind of sensors should I use?
- How do I drive a servo?
- How do I plan the robot?
- How does everything work together???
- Which questions did I forget to ask?
- Finally - What should the robot be able to do?
I came up with an idea of a robot that should be able to drive around in rooms, without colliding into obstacles and furthermore it should be able to reconstruct the surrounding environment.
The idea itself already raises lots of issues and I decided to go a middle way between prefabricated parts and parts done by myself. For example I am currently planning the body of the robot but I'm not going to design some homebrew motodriver electronics.
So the idea is to have a robot which is capable of reconstructing the environment! Therefore I will use the Microsoft Kinect Sensor. It is basically a structured light scanner that returns an array of depth values for each pixel. There are lots of wholes and noise in the data but a very nice solution to this is a method called KinectFusion (Video). The method does a nice job but is limited to a certain volume that does not allow large scene reconstructions. I will have to find a way around this problem. Furthermore KinectFusion needs a fast graphics card and as I do not have a fast laptop I will have a robot that uses a remote server to do the reconstruction.
My plans here are to go into the details of the robot planning and building process in upcoming posts.
For now I'll show some renderings that I did in Cinema4D as a concept:
Abonnieren
Posts (Atom)


