170 likes | 180 Views
This paper presents a performance evaluation of a multi-threaded distributed telerobotic framework, exploring the distribution of inter-arrival times of force and video packets. It also discusses the implementation of thread engineering techniques to optimize real-time processing.
E N D
Performance Evaluation of a Multi-Threaded Distributed Telerobotic Framework Mayez Al-Mouhamed, Onur Toker, and Asif Iqbal College of Computer Science and Engineering King Fahd University of petroleum and Minerals Dhahran 31261 Kingdom of Saudi Arabia
OUTLINE • Background on telerobotics • A multi-threaded distributed framework • Server module • Distributed framework • Client module • Distributed framework • Performance • Distribution of inter-arrival times of force packets only • Distribution of inter-arrival times of force packets with active video • Distribution of inter-arrival times of force packets during transfer of a video frame • Distribution of inter-arrival times of video packets with active force thread • Thread engineering • Conclusion
Background on Telerobotics • Telerobotics is an approach that extends a human operator’s sensing and manipulating capabilities to a remote environment. • Telerobotics has numerous applications in hazardous or hostile environments. • The purpose of this work is to design a reliable and efficient man-machine interface between a slave arm (robot) and a master arm over a network which preserves a large degree of operator dexterity. • Computer vision and force feed techniques are implemented to enhance the maneuverability of the operator by providing him force feeling.
Background on Telerobotics • To avoid communication delays in frequently interacting telerobotic systems, the operator will have a library of local automation tasks. Only coarse operator supervision is required. For example, picking up a tool, moving tool to a certain location, returning tool to initial position, etc. • Telerobotics is a multidisciplinary area integrating knowledge from robotics, real-time operating systems and programming, network programming, 3D stereo vision, mechanical linkage engineering, ergonomics, etc.
A Multi-Threaded Distributed Framework • Client-Server distributed component telerobotic system. • A telrobotic server has components (PUMA, Force Sensor, and Decision Server) and interfaces (Proxy Robot, Force Sensor, and DecisionServer). • One or more telerobotic client components • An integrated scheme of client-server components • A multi-threaded distributed telerobotic system
Server module • PUMA Component • Acts as a software proxy (thread) of the slave robot arm diagram • Public methods (Initialize, incremental motion, etc) • Public properties (robot states) • Public Events (motion commands and communication) • Force Sensor Component (wrist sensor) • Public propertie • Real-time streaming of force data from server to client
Client module • Client GUI (Graphic User Interface) for remote testing and maintenance operations • IDecisionServerto interface to server through .NET Remoting • All the definitions to execute methods on PUMA and ForceSensor components • After initialization, the client carries an empty un-referenced copy of IDecisionServer • Following the network connection, the client can reference any instance of DecisionServer
Distribution of inter-arrival times of force packets with active video
Magnified plot of inter-arrival times of force packets under active video
Distribution of inter-arrival times of force packets during transfer of a video frame
Distribution of inter-arrival times of video packets with active force thread
Thread engineering • Break-down independent operations into separate threads • Implement threads to allow maximum thread concurrency • Thread-1: transfer video from camera to buffer-1 • Thread-2: transfer of video over network from Buffer-2 • Pipeline threads 1 and 2 using time overlapping execution
Distribution of inter-arrival times of video packets with active force thread
Conclusion • An integrated scheme of client-server components • A multi-threaded distributed telerobotic system • Thread engineering (partitioning, concurrency, and priority) enables optimizing real-time processing • Picture (0.5x2 MB) copy thread takes 24 ms • Video transfer is 86.5 ms (single buffer) and 56 ms (double buffer) which gives a rate of 17 stereo frames per second • Worst inter-arrival times for reflected force is 9 ms. • Implemented system providesreasonable QoS for telerobotics operating over a LAN