In the monitoring working mode Android device represents a server。 The server is implemented by using Socket communication mechanism and Java programming language, and represents the part of Android application。 The monitoring can be performed by using 3D model of robot Lola 50 and by using 3D representation of trajectory of the robot’s end effector。 When monitoring is performed using 3D industrial robot model, commands that server can receive from the client (real time control system) carry information about the current position for each axis of the robot or sign for end of monitoring。 When server receives command with position value it adjusts the angle of orientation for each axis of virtual robot model。 Since these changes occur in short time intervals of 15 ms, the approximate continuous movement of virtual robot is obtained。 In the case when monitoring is carried out using 3D robot’s end effector trajectory in 3D coordinated system, commands that server can receive from the client carry information about the position of industrial robot’s end-effector in 3D coordinated system。 Trajectory drawing is performed in real-time。
3。3 3D Model Implementation
The 3D model of industrial robot Lola 50 is implemented by using Java programming language, Android libraries and OpenGL ES libraries。 Components of the virtual model are simplified and described using basic geometric primitives (box, cylinder and sphere)。 Positions of primitives are programmed relative to a specified reference coordinate system and primitives that make a whole are grouped。 Movable elements of robot are connected with relevant connections, rotational, or translational。 All robot parameters in the virtual robot are set as on the real machine and the robot axes directions are set according to defined kinematic model。 After completing construction, axes of 3D robot model are connected to appropriate signals that cause theirs position adjustment in real time monitoring。
3。4 Remote Communication
The Android mobile device and the real-time system are connected into the network using Wi-Fi 802。11 technology。 In addition to the work described in [24] where basic manual robot control is explained, in this paper the “speed dial” control and the monitoring of robot performance is implemented。 During the programming and realtime control of robot manipulators, Android device is used as a client and the real-time system is used as a server。 The client can send to the server the following types of messages: task execution messages, messages for the manual manipulator guiding and short control messages。 The task execution messages are sent by clicking on the “speed dial” GUI button。 They are sent in object code form and executed on the real-time system。 Those messages contain parameters obtained by execution of algorithms for robot manipulator path planning based on the manipulator’s motion type, motion speed, motion acceleration and positions represented in internal coordinates that are specified within the manipulator’s programming GUI。 Those parameters are obtained based on algorithms for industrial robot motion which are developed at the Lola Institute [6]。 The manual guiding messages are sent as string messages。
Fig。 2。 Communication diagram for remote control and monitoring
Each manual guiding message contains information about the axis of which the adjustment of the position is carried out。 Short control messages are messages for starting and stopping the manipulator’s work。
During the real-time monitoring of robot manipulators the Android device is used as a server and the real-time system is used as a client。 The monitoring is performed using the 3D manipulator’s model or trajectory path in 3D coordinated system (defined in the 3D Robot model) within the Android application。 The real-time system is connected to the manipulator using MOTENC board。 It performs sending of desired position to the manipulator and reading the achieved position of the manipulator from the encoders。 The position that is read from the encoders is sent to the Android server at 15 ms time intervals。 When the server receives a message with the current position value, operation of axes rotation on the 3D model or trajectory path of the manipulator is executed。