Category: BeagleBone

Hungarians On Mars Competition 2013

There is a competition in my country which is called Hungarians On Mars, official site. It is held once in a year, and it’s about robotics challenges. As always, we attended.

Game field overview

This years challenge was to make a two wheeled robot and capture points by dropping magnet onto them while other three challengers try to do the same thing.


Beaglebone + thermal sensor with ROS

Robots self testing

As we build more complex robots we need more feedback from them to know what state they are in. In my case I want to know some temperature information about my rover. These things are the motors, the outside environment, and the battery temperature. For this purpose, I want to create an Arduino thermal sensor. Later it will be only an Atmel chip with the sensors but for prototyping and developing the Arduino is the best solution.
The central computer on the Rovers will be Beaglebone. So after I create the thermal sensor, I need to make the communication between these devices. If that is done, the only thing is left to make the ROS package. I have chosen ROS because in the near future I want to make more sensors and ROS is ideal for information distributing.


Cheat sheet bonanza

Lately I’ve been working a lot with Atmega328P on a custom breadboard and found it troublesome to always look up the pdf on my computer so instead I put together a nice cheat sheet and hung it up on the wall so I can check it any time I feel like it.

Enough talk, here’s the stuff:

MotorController Python class and ROS node for the BeagleBone

Today I’m going to present the MotorController class for Python that handles – guess what – a motor controller using a BeagleBone along ROS wrapper node.

Usually motor controller hardwares are operating with 2 wires per channel: a PWM signal for speed and a  “boolean” signal for direction. It’s quite easy to handle such things using an Arduino but we’re trying to get rid of extra hardware since the BeagleBone is also capable of solving all this stuff.


Wifi acces point on Beaglebone with DHCP

With the OS of Debian new opportunities have come. The Angstrom distribution did not meet our requirements because conman and ROS was not supported well yet, while Ubuntu didn’t have PWM, so that’s how Debian came into picture. The idea of connecting to the BeagleBone directly is better then connecting through some middle layer (like a router). To be this simple we need to config an acces point on the BeagleBone.

ROS on BeagleBone with Debian

If it comes to complex robotics software I’m always looking for ROS. I wanted to be able to use it on my BeagleBone but Ubuntu was not satisfying so I though of keeping Angstrom since it is the ‘official’ distribution of the board but I had trouble with installing ROS onto it. The final solution was to install Debian Squeeze on the BeagleBone so ROS can go on the top of this. The importance of Debian is that it supports all hardware interfacing features Angstrom does (PWM, GPIO, Analog). First I tried Fuerte but there were some problems and I don’t really need any fancy stuff yet so I went back to Electric. (more…)

Sonar sensor on the BeagleBone part 1, direct approach

When building a robot one needs to use sensors. I used sonar sensors before for this post:

The main idea is to get rid of the Arduino on our rover “Scarabeus” and use the sonar sensor directly on the BeagleBone. The problem is that this sensor needs a 5V pulse to trigger ultrasonic output and it also answers with a pulse according to the received incoming signal but all the GPIOs on the BeagleBone operate at 3.3V. There are several possible ways to solve this and I’m presenting two of them here.

  1. Do some electronic hack and apply the sensor directly onto the BeagleBone.
  2. Use a dedicated 5V chip to handle the sensor and communicate via serial port (uart) to the BeagleBone.

This article will describe the first one, the direct approach. (more…)

BeagleBone pin layout cheat sheet

I’m not good with memorizing things.

After two weeks of working with it I got bored of reading the BeagleBone manual over and over every single time I had to use a pin so I created this “pin layout cheat sheet” that can be printed and hung on the wall.