IOIO-SHR Java programmable robot

Posted on 17/12/2011 by robotfreak
Modified on: 13/09/2018
Project
Press to mark as completed
Introduction
This is an automatic import from our previous community platform. Some things can look imperfect.

If you are the original author, please access your User Control Panel and update it.

Introduction: The IOIO-SHR is my first attempt in using Java to program a robot. Using a Sparkfun IOIO board to control the hardware and an Android phone as the robot brain. I must confess that I wasn't a friend of Java until yet, but the simple example programs for the IOIO board gave me a good starting point. IOIO board: The Sparkfun IOIO board is based on a PIC24F microcontroller. 48 IOs are available (digital I/O, analog In, special functions like I2C, SPI, PWM and UART). It has a USB host port ...


IOIO-SHR Java programmable robot

Introduction:

The IOIO-SHR is my first attempt in using Java to program a robot. Using a Sparkfun IOIO board to control the hardware and an Android phone as the robot brain. I must confess that I wasn't a friend of Java until yet, but the simple example programs for the IOIO board gave me a good starting point.

IOIO board:

The Sparkfun IOIO board is based on a PIC24F microcontroller. 48 IOs are available (digital I/O, analog In, special functions like I2C, SPI, PWM and UART). It has a USB host port to communicate with an Android phone via ADB interface (ADK is in an experimental state, Bluetooth can be done with an firmware upgrade).

The best thing is, you don't need to program the IOIO board. It has a builtin firmware to talk to the Android phone. You only have to use the IOIO library in your Android Java program to get things done. The IOIO Library is very well designed and easy to use, similar to program an Arduino. Sourcecode is freely available at Github.

 

Chassis:

The chassis is build from a 3mm piece of styrene. Google SketchUp has been used to make the layout and a drill template.

2 hacked (continous drive) servos has been used for the drive system. The 3rd wheel is made from a deo roll-on.

First tests:

For the first test of obstacle avoiding only 2 bumper sensors have been used. Not really elegant, but it is working. The bumper whiskers were made of cable ties applied to a snap-action switch. Unfortunately the whiskers fall apart very quickly. Need a better solution for this

.

Further tests:

  • Improve obstacle avoiding with a distance sensor.
  • Make a line follower

Todo List:

  • add a line sensor
  • add a distance sensor
  • change servos against DC geared motors and motor controller
  • improve battery runtime
  • find out how to record videos work in background on Android
  • use the Android sensors (accelerometers, compass...)
  • connect IOIO board and Android phone via bluetooth

Update 24.12.2011:

New Video is up. Showing Line follower behaviour.

A Pololu QTR-8A line sensor aray has been used. Cut into pieces you get a 2xline sensor and a 6x line sensor will analog outputs.

The Android app has been extended to show the line sensor values in digital voltage values and an analog progress bar. It is nice feature to see the sensor values in real time on the phone screen.

  
 Update 29.12.2011:

Sourcecode is now available here:
IOIO-SHR is getting more personality. Added a Compound Eye as object detection sensor mounted on a a servo pan/tilt unit. New video shows the first basic steps. Still need some more fine tuning.

Navigate around bump into walls

  • Actuators / output devices: 2x hacked servos
  • CPU: PIC24F, Qualcomm QSD 8250
  • Operating system: Android
  • Power source: 5xAA NiMH
  • Programming language: Java
  • Sensors / input devices: 2 Bumper switches
  • Target environment: indoor
LikedLike this to see more

Spread the word

Flag this post

Thanks for helping to keep our community civil!


Notify staff privately
It's Spam
This post is an advertisement, or vandalism. It is not useful or relevant to the current topic.

You flagged this as spam. Undo flag.Flag Post