Saturday, November 16, 2013

iRobot Create: Console App GUI Control


This is the second section of the iRobot Create tutorial. If you have not completed the first section, I would recommend that you go back and do so by following the link below.


Reference Documents

These documents should be referenced for details on interfacing with the Create
  • iRobot Create Open Interface Manual (OIM)- This manual provides detailed information on the serial interface with the Create. It details the implementation of the opcode system used to control the various systems as well as the necessary measures that must be taken to receive sensor data from the Create. Information regarding sensor packet size, connector pinouts, and command details can be found here.
  • iRobot Create User Manual - This manual provides an introduction to the basic functions of the Create and an overview of the basic onboard functionality

Necessary Hardware

Necessary Software

GUI Control

One convenient way to get started with controlling the iRobot Create is with a desktop application. One such application (Downloadable HERE) that has been developed provides a convenient GUI to mask the underlying serial commands. Follow the instructions below to get started.
1) Connect the Create as described above. Use of a serial extension is recommended.
2) Run Create. (close RealTerm if open)
3) Power on Create
4) Select "COM Open"
Use the following settings
  • COM Port: Default
  • Baud: 57600
  • Data Bits: 8
  • Stop Bits: 1
  • Parity: None
  • Flow Control:
    • RTS: Disabled
    • DTR: Disabled
Note that "COM PORT OPENED" should be displayed in the bottom left corner of the window. If the program fails to connect, check that RealTerm is closed and no other program is using the COM port. If problems persist, open the device manager and ensure that the Create is using COM 1.
Create COMopen.jpg 

5) Select "Safe Mode." The lights on the Create should go out and the picture of the Create should change to that shown below. Note that if any of the wheel drop sensor are triggered, the Create will go into Passive mode again. Also note that Full Mode should not be used as it disables safety critical sensor functions.
Create GUIsafemode.jpg 

6) Check "Automatic Refresh" next to Get Sensor Data. Try triggering the Create's sensors. The green icons should now turn red when the respective sensor is triggered.
Create GUIautomaticupdate.jpg 

7) Place the Create on a large flat, surface and explore the various methods of control described below. The user should note, in case of emergency picking up the Create will cease all output. If the Create becomes unplugged, it will continue to follow the last command it received. For this reason it is a good practice to have one team member "spot" the Create while the other controls it. A robot traveling at 400mm/s can be surprisingly difficult to catch. 
1) Directional buttons- These buttons allow the user to control the Create at a safe speed merely by clicking on the appropriate button. Note that the Create will follow the last command received until a new one is given. That is, the Create will follow the last command given (such as drive forward) until the user inputs a new command (such as stop). 
2) Manual speed input- This option allows the user to input the desired speed of the Create (mm/s) and select a direction. Again, the Create will follow the last command given until it receives a new one. 
3) Graphical control- Note the graph to the right of the window. It depicts the iRobot Create with the red line pointing toward the front of the Create. Clicking on a point on the graph will cause the Create to navigate to that point using it's wheel encoder data. Ensure that sufficient cable length is available before sending any commands. Each grid mark is 10 inches. 

8) View the Log- Selecting the "Log" tab at top of the window allows the user to view the serial commands sent to the Create. Compare the serial commands sent for driving forward to those used in the "Getting Started: Using OI Commands" section. Reference the Open Interface Manual for information on each of the commands.
Create GUIlog.jpg

Goto: Arduino Control

No comments:

Post a Comment