Skip to content

Latest commit

 

History

History

Makeblock

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Intro

  • Goal: Provide an easy to use robot platform to schools for teaching technology, programming and robotics.
  • Aproach: Improve the Makeblock mBot robot: add a user friendly interface and make it move reliable and semi-autonomous. Read about this on mBot improvements

Getting started

Improving the robot

The Makeblock mBot robot provides great value for money but is not that easy to use. This opinion is supported by a very thorough review by Flashgamer.

The basic out of the box mBot robot has a motor that allows it to drive forwards, backwards and turn left or right. All these movements have to be controlled with only two parameters: motor power and time. The robot has two electrical motors, each motor drives a wheel. The motor power is specified as a number ranging form 0 to 255. To drive forward you apply electrical power to the motor (for example 100). To drive backwards you reverse the sign (-100). Now physics kick in, just specifiying a low value of 10 won't make your robot move slow. The robot will not move at all, this because of friction. You have to specify some minimum amount of power to get the robot moving. Now you want to turn lef or right. You have to drive one wheel for some time to make it turn. But for how long? Driving it too short won't make a 90 degrees turn and driving to long will make it spin around. In order to make the robot move as you wan't you have to find out how it works. Each robot has slighlty different behaviour because motors are not exactly equal and batteries loose power over time. You have to calibrate your robot.

I also found some issues when controlling the robot from my laptop. The robot can be controlled from the laptop by sending commands to the robot and receiving sensor data from the robot. This communication however takes time so commands get delayed and sensor data gets older. Another source of time delays is the laptop itself. Windows is not a real-time operating system and other processes such as virus scanners sometimes delay the communcation. This results in unpredictable behaviour.

My idea is to develop a robot that can perfom tasks such as a clerk in a warehouse driving around, picking up goods and delivering them. to achieve that i have to improve the standard mBot robot. I want the robot to be able to drive straight and make precise movements and turns. I try to achieve that by making it follow a black line on a white surface. This will allow me to draw a grid and let the robot drive and navigate on its own. Semi-autonomous capabilities will solve the timing problems and it will be easier to program.

Development

For progress check out projects

Scratch Programming