The Decentralized Software Services (DSS) are responsible for controlling the basic operations of robotics applications. As explained in the previous chapter, DSS is built on top of the CCR. This chapter moves on to more advanced features of services, including subscriptions and user interfaces. It is very likely that you will need to use the material in this chapter at some stage.
This chapter develops a service, called TeleOperation, that can be used to drive a robot with a web camera attached so you can see where the robot is going. The code introduces you to using Windows Forms as well as Web Forms with MRDS services, and demonstrates how to display live video. Don't worry if you don't have a robot with a camera because the faithful simulator comes to the rescue and you can still work through the code.
You might want your user interface to look like the cockpit of a 747, but that is not the objective in this chapter. It covers the basics of using Windows Forms (WinForms) and how to format web pages using XSLT. You can add fancy stuff yourself later.
These concepts are used in the Dashboard service that is included with this chapter. However, the discussion in the text uses the TeleOperation service because it contains a small subset of the Dashboard functions.
Although MRDS is full of examples, a new service is provided in this chapter to perform teleoperation: driving a robot remotely using an onboard camera. This ...