jiristepanovsky.cz

Return to Index


Siemens SX 2.0 - 2012

Since I started programming J2ME applications, I've dreamed about building an actual robot. So I did some research and came up with plans for a robot controlled by a J2ME application in a phone.

One of the problems with building a phone-based robot is the communication between the phone and the environment. Fortunately, some phones have (at least they had :) UART directly build in. I used Siemens C65 which has UART accessible on the 12-pin charging connector and programmed an Attiny2313 processor to communicate with it. The robot was powered by 4 AA batteries and propelled by two geared motors which were controlled by the Attiny2313. Everything, including the phone, was hot-fixed with hot glue, and the only sensor was the mobile phone's own internal camera.

Siemens 1.0

It could do some basic image recognition (like following a specific color in the image), but the lack of sensors was quite limiting, eventually leading to a second version.

Siemens SX 2.0 was the natural evolution. I've replaced the phone with Siemens CX75, which offers a better camera and, crucially, Bluetooth. I've added 3 IR obstacle sensors, 2 bumpers, 4 IR line sensors, and 2 servo motors to pan and tilt the phone (and its camera). Motors are still connected to the Attiny2313 from the previous robot, but sensors, servos, and other added hardware are connected to a new board with an Atmega8 chip. Both boards are communicating through UART with the J2ME application running on the phone. I've replaced the wheels and made it look a bit nicer.

Siemens SX 2.0

The robot is capable of following a line, avoiding obstacles, and doing some basic stuff with camera vision, like going to a uniquely colored object or navigating itself through a color-coded environment. In the video below, I control the robot via Bluetooth, take a picture from the camera, and blink with the LED on top.

Creating the logic inside a J2ME application was far from ideal. Even though the cell phone had more than enough processing power, the phone's environment constantly gets in the way. Just starting the J2ME application from the phone's internal menu is a pain, not to mention the requirement to have a SIM card inserted to even boot it up. Using a proper platform would have saved a lot of problems... and time.

Siemens SX 2.0 - back

Another unfortunate decision was mounting the cell phone on 2 servo motors. Because of that, the phone is unstable, which leads to the pictures being degraded by motion blur artifacts.

Siemens SX 2.0 - servos

The line-following and Bluetooth control work well enough, but undeniably, the design has definitely had several major issues and limitations, which I painfully learned the hard way. Still, learning by failure is the fastest kind of learning :)

The first version of the robot took part in a robotic contest named Istrobot and ended up in a respectful 3rd place.