Problem Report

Home
click here
to download Word file

Artificial Intelligence and Robotics

iRobot Create

Jose D. Garcia        Gopal Jani          Amit Ramani

I.Introduction
A. Objective
B. Equipment and Software Installation
C. Downloading your code to the iCreate Robot
II. iCreate Robot Algorithm
III. iCreate Robot Demos
A. Demo One:
1. Problem Faced:
2. Resolution:
B. Demo Two:
1. Problem Faced::
2. Resolution:
B. Demo Three:
1. Problem Faced::
2. Resolution:
B. Demo Four:
1. Problem Faced::
2. Resolution:
IV. Important Factor for Future Work

Introduction

Objective

The purpose of this project is to program an iRobot Create series robot to map the Computer Science Department corridor and perform the following tasks:


Figure 1-Map of Computer Science Building second floor


Figure 2-Map of path followed by robot to mapped the floor


The robot make use of its sensors to locate itself inside the corridor and make decisions such as when to make a turn or as when just to keep going straight. Our algorithm revolved around sensing the walls with the robot’s bump sensors and keeping track of the distance of the walls to minimize uncertainty to whether we are at the desired location or not. However, there are pros and cons for using this kind of method which will be explained later.

Equipment and Software Installation

Our team used the final program as our baseline from the previous work of students who took the class in the spring of 2009. They used the python programming language to implement their project. The reason why they picked python was because python have an easy and user-friendly serial communication interface to communicate with the robot. Also, a Create package programmed in python, available for download from Dr. Zachary Dodds’s personal website, provides all the interfaces needed to control the robot’s actuator and as well as access to its entire sensor’s data.

To set up your system to run our source code on the iCreate robot, you need to do the following:

Once you have installed the files above, you are ready to download our code (or your code) to the iCreate robot. PySerial assume that you have serial port (RS-232) in your laptop for communication. However if you do not have a serial port but have a USB port, you are going to need a USB-to-Serial cable. We bought a USB-to-Serial cable from RadioShack for $39.99. You can buy a cheaper one online for about less than half of that price. Here is a link to the cable our team used for the project (USB-to-Serial Cable).


Figure 3-Gigaware® 6-ft. USB-A to Serial Cable (RadioShack)

 

Downloading your code to the iCreate Robot

To download you code to the iCreate robot, follow the following steps:

 

ICreate Robot Algorithm

In this section, we are going to describe the main algorithm to program the robot:

ICreate Robot Demos

Demo One:

The task assign in first demo was to Start from Computer Science second floor’s elevator and knocks on Roselyn’s office door to pick up some cookies.

Problem Faced:

At the time of first demo, the planning for mapping the corridor of computer science building, program was based on the traveling time from one point to another, the distance covered by the robot and the angle at which it will turn. But by considering these three factors it was not possible to have a robust program through which the robot can reach to the destination. We have faced so many problems in that program and that problems are as follows,

Resolution:

To solve the above mentioned problem, we decided to redefine the algorithm and we decided to develop a new strategy. The idea in the new algorithm was to follow the wall by left side wall sensor of the I-create robot. In this strategy we were not bothering about the time and distance. We programmed the robot that will follow the left hand side wall and by identifying the points it will map the path and in this way robot will identify where it is while reaching to the destination.

 

Demo Two:

Phase 1:
The task assign in Phase 1 of second demo was to Start from Computer Science second floor’s elevator and knocks on Roselyn’s office door to pick up some cookies and reach middle of the hall way without obstacle.

Phase 2:
The task assign in second demo was to Start from Computer Science second floor’s elevator and knocks on Roselyn’s office door to pick up some cookies and reach middle of the hall way with obstacle.

Problem Faced:

As mentioned, robot was following the left hand side wall to search the path and go through that. We have faced problems in that program

Resolution:

To solve this particular problem we reduced the speed while turning. Due to the reduced speed the robot was able to take sharp turn in specified directions. And the problem was fixed up to a level. Though reduction in speed solved the problem but still it was not a reliable solution it needed a better solution which we figured it out later.

 

Demo Three:

The task for the Third demo was to Start from Computer Science second floor’s elevator and knocks on Roselyn’s office door to pick up some cookies and reach Dr. Silaghi’s office door.

Problem Faced:

At the time of the third demo there was lots of problem because there was a new task as well as there was a new milestone, that mile stone was obstacle in the path on which robot will travel. There was issue regarding the angle of turning which we have discussed. Due to this we have again refined the algorithm and coded it accordingly to make it robust. All together the problems faced was as below,

Resolution:

Demo Four:

In final Demo the task was to Start from Computer Science second floor’s elevator and knocks on Roselyn’s office door to pick up some cookies and reach Dr. Silaghi’s office door and then final reached Dr. stansifers office door.

Problem Faced:

At the time of final demo the task was more difficult because there were 3 obstacles in the path. But actually that was not the problem in our case because at first time when the obstacle was introduced, we developed the code that can overcome as many as obstacle in the path and anywhere in the path. So the problems faced this time where as follows

Resolution:

Important Factor for Future Work

 

The ICreate robot can be programmed in very efficient manner using the sensors it has. But for the future work we have to keep in mid following factors.

  1. Behavior of the robot depends on the battery level of the robot (but it is not a big problem in this case behavior will be changed negligible).
  2. It is also dependent on the computer system you use. Because in each and every computers the computational time is different. So our suggestion is to use same laptop if possible because it affects a lot in robot behavior.
  3. Sensors in ICreate robot do not give the value as just 0 and 1 or say true or false. It provides a range of signals like 0, 1, 2, 3, 4, 5…
  4. It is also possible that it will give different reading of sensor at same place, because it depends on the battery level.