WiRobot PDA

Introduction to WiRobotPDA

WiRobotPDA is intended to be run on a PDA. You must first copy the program onto your PDA using whatever method you normally use to transfer files. Only WiRobotPDA.exe is required. There are no other files, but you must have the .NET 2.0 Framework on your PDA. If you have an older version of the PocketPC operating system, you can download the .NET 2.0 files from Microsoft.

The program (WiRobotPDA.exe) can also be run on any Windows PC with the .NET 2.0 Framework installed. Simply double-click on the file in Windows Explorer like you would for any other executable (.exe file). This might be 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.


I have run the program for over an hour and a half without problems on a Dell Axim X50v running Windows Mobile (PocketPC) 2003 Second Edition. I only had to stop because the PDA battery could not handle using the wireless network any longer and I lost connection to the robot. However, I cannot guarantee that the program will work on all PDAs 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

The following sections give a brief overview of each of the pages in the program. You can click on each of the images to see full-sized versions.

Before starting the program, make sure that your wireless Ethernet connection is working. Details on setting up the network are not included here. By default, the network access point supplied by Dr. Robot has a network called "dri" with a WEP password. You will have to configure your PDA to connect to this network and obtain an IP address.

Next, turn on the robot and wait about 10 seconds for it to initialize itself and obtain a network address. You can now run the program on your PDA.

Config Page

Config Page

This screenshot shows the initial page. You must fill in the address of the robot, which is the minimum required info. You can also turn off the camera if you don't need it because it takes up a lot of bandwidth.

The local port number will be displayed for you information, as well as packet counters and a run time counter.

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.

Control Page

Control Page

This screenshot shows the main Control page. Notice that this page shows the current view from the camera (assuming you have not turned the camera off). 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 set of arrow buttons here that can be used to control the movements of the robot, or to move the camera head (pan and tilt). The inner-most set of arrows are for basic moves and rotations. The outer set are only for rotating by fixed amounts (+/- 45 degress and +/- 90 degrees).

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!

Be careful not to get confused between moving the camera head and driving the robot! Unfortunately there is not enough screen space for two sets of arrow buttons.

Data Page

Data Page

This screenshot shows the Data page. 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.

Data is updated on a regular basis. You can change the display interval, but basically the speed of updates is determined by how fast the robot sends the data.

There are arrow buttons on this page too for controlling the robot. It is possible to drive it using just these buttons by observing the sensor values to avoid collisions. However, this is not recommended unless you can see the robot!

Note that you can also use the "rocker" button on your PDA to drive the robot, i.e. up (forward), down (backward), left (rotate left), right (rotate right) and enter (stop). (This is the big silver button in the center at the bottom of the PDA in the screenshot. Your rocker might be in a different place.) These buttons only work on the Control and Data pages.

Options Page

Options Page

The Options page allows you to set various options. They should be self-explanatory.

Note that you must click on the Apply button for the changes to take effect. If you move to another page (using the tabs across the bottom) then the changes will be discarded.

If you want the changes to be the default values every time you start the program, then use the File menu Save Settings option.

Help Page

Help Page

The Help page contains an abbreviated version of the information on this web page.

It is not intended that you use this help page very much. It is really just there so that the program is self-contained and somewhere to put the Copyright notice. 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.

Other Notes

Sometimes the program will hang when you select File \ Exit. This is a problem with a thread not terminating. The PocketPC operating system does not have very good thread control, so you will have to manually close the program. In the Start menu, select Settings, then the System tab. Click on Memory and select the Running Programs tab. You should see WiRobotPDA listed and you can stop it.

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, the counter on the Config page will increment. Also, the Help \ About page displays the error code for the last error. This is only intended for debugging.