-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial Adv1: Multiple Instances of TeMoto
Throughout the examples we emulate a situation where we have two actors: the Operator and the Robot. Both have their own set of TeMoto related subsystems running (Action Engine, Robot Manager, Process Manager, etc.), launched via temoto.launch.
Resoure sharing: Whenever an instance of a robot or component manager comes online, i.e., is launched, the respective managers share eachother's configurations (it's a default built-in behavior), illustrated below. Thus the Operator can access Robot's resources.
Loading local resources: In the upcoming demos, we invoke all kinds of TeMoto actions which implement a specific behavior we want our system to do. Among those behaviors, we also use the actions to load resources that are needed for a respective behavior. The figure below illustrates how an action utilizes Component Manager (step 1) to invoke a joystick controller (step 3) through the Process Manager (step 2).
Loading remote resources: Similarly to loading local resources, remote resources can be loaded aswell. This behavior can be utilized to orchestrate different robots without knowing the specifics of how a certain resource must be initialized and controlled. The figure below illustrates how the Operator initializes the robot (step 1). Since the Operator's instance of Robot Manager knows that the robot platform is managed by a remote instance of the Robot Manager, it forwards the request (step 2). Next the Robot's instance of Robot Manager utilizes Process Manager (step 3) to load the resources specific to the robot (step 4).
Controlling remote resources: Finally, the Operator can again utilize the Robot Manager to control remote robots without knowing the specifics of the robot (topic names, service names, etc).