WiRobot Test

Introduction to WiRobotTest

This program (WiRobotTest.exe) can be used for testing an X80 robot. It is written in Visual C++ using Visual Studio 2003, so it is not really a .NET application, but more of a standard Windows MFC application.

You might find this program helpful when you are first setting up because you can plug your PC directly into the wireless access point and make sure that you can control the robot. You do not need to have a Wireless network connection on your PC. However, I have also run it from my laptop using the Wireless LAN.


I have run the program for over an hour on a laptop with Windows XP Service Pack 2 and the .NET 2.0 Framework. However, I cannot guarantee that the program will work on all PCs and in all environments. Therefore you should not rely on this program if there is a chance of damage to your robot or injury to people!

Using the Program

I recommend that you plug your PC directly into the wireless access point supplied by Dr. Robot the first time you use the program. Once you are familiar with it, you might want to use a different network configuration.

Turn on the robot and wait about 10 seconds for it to initialize itself and obtain a network address. You can now run WiRobotTest on your PC.

Screen Layout

WiRobotTest Screenshot

This screenshot shows the WiRobotTest program. Because it runs on a standard PC under Windows XP, there is no need to have separate pages like WiRobotPDA -- all of the information can be displayed in a single window. Also, it has separate buttons for the camera head and motion control.

You must have established your network connection before running the program. It will automatically fill in the first part of the robot's address based on the IP address of the PDA.

NOTE: If you save the settings with an IP address filled in, then the address will be in the settings file. If you do not want to save the address, simply erase it before saving the settings. Then the program will determine the address when it is run.

Click on the Connect button to connect to the robot. It will take a couple of seconds, and then the camera should reset itself to the default position. At this stage you can switch to the Control or Data pages (using the tabs across the bottom of the screen) so see information from the robot and drive it around.

The program shows the current view from the camera (once you have clicked on the Take Photos button). Updates are determined by the speed that the robot sends the images. It is not very fast -- only a frame or two per second. This is a limitation of the X80, not the WiRobotPDA program.

There is a large set of arrow buttons here that can be used to control the movements of the robot. The small arrow buttons allow you to move the camera head (pan and tilt).

There are two basic control modes: Position or Velocity. In Position control, the sliders adjust how far the robot will move or rotate. In Velocity control they control the speed. Note that in Velocity mode the robot will keep moving until you stop it!

Sensor values are displayed here on a "mimic panel" of the robot. Note that the forward direction for the robot is up on the screen image.

Values displayed include Sonar, Infra-red, Human Motion and the Wheel Encoders. Note that there are two values for each of the Wheels: the top one shows the current "tick count" and the bottom on shows the speed in ticks per second.

Several counters are included at the bottom right of the window. These are for information only, but as long as the counters keep incrementing you know that you have a connection to the robot.

Other Notes

Note that even though I retain the Copyright, you can freely use and modify the program provided you retain the original Copyright notice. A copy of the licence is included with the source code.

Network errors might be encountered because wireless Ethernet is not 100% reliable. If this happens, you might lose control of the robot. This is one reason why Position Control is the preferred mode of operation. If there are network errors, this will probably be apparent from the counters.