Other projects

Modular Autonomous Robot Platform

11 1006
Hello Everyone,

This thread is for chronicling the development of my project: Modular Autonomous Robot Platform.  This project is a continuation of my Master's thesis many years ago.  At that time, I did not have access to devices like we have today at such a reasonable cost.  In fact, I wound up designing my own motor and ultrasonic transducer dirvers that took the majority of my time.  I am hopeful that with this project, my new approach will be more research and development yielding in knowledge sharing.   

Today, I am back in town and opened my package containing the LeMker Guitar core and baseboard.  I won't bore you with the details of the contents of the box.  See some of the other threads that have already done a really good job of this, if you're interested.  Let's just say I was pleasantly surprised.  So, for my first entry, and for completion, let me start off by reposting my project entry:

1. Project Background :
The production of useful robotics devices such as as a roomba or automatic lawnmower relies on being able to take in many sensors as input devices and control various output devices, while at the same time make many computations to effect the desired result.  One way to do this as efficiently as possible is to separate the duties of each type of task to different processing devices.  For example, the reading of control and interpretation of ultrasonic signals is accomplished by one microcontroller while the sensing of the wheel rotation and control of the motors is done by another.  Still, there is a need coordinate and communicate among these microcontrollers.  That is the job of the supervisor module (controller).  The supervisor module will need to be of sufficient power to perform the desired tasks (i.e. path planning, obstacle avoidance, error correction, object manipulation, etc.).  The key to this success is a sound communication protocol that permits the supervisor module to properly gather data from input devices as well as reliably controlling the output devices.  The aim of this project is to develop the supervisor module, a communication protocol, and the input and output devices needed for an experimental Modular Autonomous Robot Platform.  The platform will be used to test various theories, and performs multiple experiments as new sensors and actuators are added.  The information gathered will be used as a basis for the production of an intelligent, robust lawn mowing autonomous robot.

2. Project Content:

The supervisor module will be the heart of the platform.  This module will be the LeMaker Guitar.

The first step will be to develop two modules: ultrasonic sensor and motor control.  One Arduino microcontrollers will be used to read and control ultrasonic sensors. Another Arduino microcontroller will be used to control the motors on a robotic platform.  The I2C communication protocol will be the hardware communication channel between the modules.

The second step will be to develop the microcontroller communication protocol on top of the I2C that will allow us to properly interpret the data as well as control the devices.

The third step is to design an algorithm to do something simple such as read an ultrasonic sensor to determine the distance from an object and move the robot toward the object.  

3. Project Schedule :

Jan 15 - Feb 15:
  • Become familiar with LeMaker Guitar
  • Develop the ultrasonic and motor control modules
Feb 16 - Mar 15:
  • Develop Ultrasonic module algorithms for its Arduino microcontroller
  • Develop Motor Control algorithms for its Arduino microcontroller
  • Develop communication protocol and test
Mar 16 - Apr 15:
  • Develop Supervisor module algorithm for a simple task (To be better defined).
  • Integrate algorithm into the robot and test.
Apr 15 - Project complete.

Stay posted for new entries as I make progess.  

I'd like to see your project ASAP?

I am also attempting same implementation using the BPi-Car Tracked platform by Sinovoip, I2C communication with an Adafruit DC Motor/Servo HAT(s) for RaspberryPi (or equivalent since I just discovered the Guitar's 40 pin header is different pin-out than RaspberryPi2's) may just use a L293D Motor Shield and then use previous port of Autonomous code.

Here is my work in progress...prototypes, assemblies and items to incorporate onto BPi-Car/Tank with Guitar...Dagu mini-driver(for servos and DC Motors) or a BPiDuino UNO, 2 axis Pan-n-tilt assembly and USB Camera, possible TL-WR703N for video streaming...almost forgot the 12vdc battery.

All hardware unassembled

All hardware unassembled









I'm late, I'm late ...No time to say "Hello, Goodbye", I'm late ....
I'm quite a bit behind schedule on this project due to other commitments.  But, I'm seeing some light at the end of the tunnel.  I'm in search of a schematic library for eagle at this time.  I hope to post a better update by week's end.  

The thread of LeMaker Guitar unpackage or other information are welcome also. you can post it in the general discussion section. more threads will be considered much more contributions to the community. the next campaign we'll take the threads quality&quantity as the standard to give away new products
BTW: looking forward to your project updates soon

I also have a prototype of autonomous robot vehicle made with Raspberry Pi 2 and planning to migrate it to Lemaker Guitar as well:

Good luck!

Edited by delad at Mar 12, 2016 00:03

That looks great.  You're several steps ahead of me. Do you have any details on how you built it?  Is it documneted anywhere?  Would love to see how you interfaced it with the raspberry PI.  I have two model As and two model Bs that I've yet to put to good use.  I'm hoping to be able to put them to work on the autonomous platform as it grows.

Great work!

I've been doing some work with fritzing to model bot the Arduino motor shield I'm using and the LeMaker Guitar.  I spent way too much time creating these and in the end I question whether it was worth the effort.  Fritzing is not yet a mature tool and it had crashed on me a couple of times. Still, it's a reasonable tool for quick breadboarding  They're not perfect but are workable.  If anyone is interested, I have a model of each that I will post.  I'm attaching an image of the diagram for my project I created with fritzing showing the planned wiring.  

fritzing breadboardv0.1

fritzing breadboardv0.1

This png also shows the schematic of the project, again from fritzing.  

fritzing schematic.

fritzing schematic.

Edited by delad at Mar 13, 2016 20:26

I've been collecting my parts for a long time.  Below is a photo with the major parts I'll be using for the project.  I wanted to illustrate this before I started assy to document the process.  Below I'll describe the intent reason for each of these parts.

Except for the LeMaker Guitar, All the parts you see are available on Amazon at pretty reasonable prices.  For example, the Ultrasonic transducers were just over  $1 (US Dollar) when purchased in the 10-pack qty.  That's a hughe bargain.  Keep an eye out for bargains like this. They come and go on Amazon.

Motorized platform.  Needless to say, this is the platform on which all the parts will be mounted.  It contains the two DC motors we'll be driving with the motor driver shield.  

Motor Controller.  This is an Arduino Duemillanove.  It's an older Arduino but it'll do the job.  This controller will interface with the master controller (Guitar) via I2C.  It will drive the motors via the motor driver shield.  With the aid of the encoders, it will act as a PID controller to provide better motor control.  

Speed Encoders.  Eventually, the encoders (two shown on the platform) will also be used to sense motor speed.  Additionally, these encoders will provide a means to compute a rough estimate of distance traveled.

Motor Driver.  The Adafruit motor shield serves to provide the higher current needed to drive the motors.  It is capable of driving 8 DC motors unidirectionally, or 4 bidirectionally, or 2 stepper motors and 2 servos.  For this initial project, we will only use motors 3 and 4.  The other capabilities may be used at some point in the future but not in the near term.

Ultrasonic Controller.  It is another Duemillanove whose function is to trigger and read the untrasonic transducers.  Over time, this controller will employ various algorithms to explore ultrasonic characteristics.  It communicates with the master controller via the I2C interface.  

Ultrasonic transducers.  Three (3) of these will be used to start; one pointing directly ahead with the other pointing at 45 degrees on either side.  

Master Controller.  The LeMaker Guitar is the master controller.  It's purpose is to take in all information from the sensors and to make d"ecisions" in fulfillment of the algorithm goals.  The main communication link will be the I2C interface.  For this project, it will only communicate with the subsystems (controllers) describe above.  Future subsystems will include GPS, infrared, radar, water/moistre detection, as well as potentially drive other forms of locomotion and actuators, such as robotic arms, and more.

I2C Level Shifter.  At this time, the Arduinos being used operate at a voltage level of 5V while that of the Guitar is at 3.3V.  This requires the voltage levels to be "shifted" to the proper levels.  

Power subsystem.  This is comprised of the 9.6v rechargeable battery pack, terminal strips, and power jacks.  It will provide the necessary power to all modules.

Makerbeam Beams.  The platform itself does not have enough real-estate to permit all items to be securely mounted.  The Makerbeam beams are used to expand the platform veritcally and provide more levels where devices can be mounted.

I'll provide more information and photos as the project progresses.

You have to log in before you can reply Login | Sign Up

Points Rules