The primary purpose of this chapter is to demonstrate how to write CF (Compact Framework) services that can run on devices running Windows Mobile or Windows CE. The small form factor of these devices allows them to be onboard the robot which makes the robot completely autonomous.
This Chapter contains the following applications:
Note that there is a general-purpose Drive By Wire service in Chapter 4 that uses the generic Differential Drive service.
The Stinger Drive-By-Wire service is designed to run on either a desktop PC or a PDA. It interfaces directly to the Stinger and is therefore specific to this model of robot. The service reads the IR sensors on the Stinger to avoid obstacles, and can be set into autonomous wander mode.
The original Serializer services from RoboticsConnection did not include a Generic Differential Drive service. This meant that you could not use the Dashboard or Teleoperation services from this book.
Therefore, this chapter also shows how to "wrap" a service using a generic contract without changing any of the original code. The new StingerPWMDrive service also requires fewer partnerships in the manifest.
However, note that this Drive service uses the Serializer PWM (Pulse Width Modulation) service which is not very accurate. The Serializer PID (Proportional, Integral, Derivative) service uses the encoders for greater control. It will require a different wrapper.
Stinger Drive-By-Wire on Windows XP:
CF version running on a PDA:
You must download and install the services for the Serializer board from RoboticsConnection before you try to compile the services in this chapter. Make sure that you get the V1.5 services.
This code is available free of charge for non-commercial use. For more information, please see the Licence Agreement.
Jason Summerour from RoboticsConnection assisted with some of the code and pictures for this chapter. The Serializer services for MRDS from RoboticsConnection are required to drive the Stinger robot.