Graphical user interface for quadruped's leg robot.
Vatau, Steliana ; Cioi, Daniel
1. INTRODUCTION
With advances in science and technology, the interest to study the animals walking has developed the demand for building the legged robots. The development of legged robot involves research in heterogeneous areas. A Graphical User Interfaces (GUI) for monitoring and controlling a custom mobile robot named jRobo are presented in this paper. There are three components that form the basis of the design approach: visibility of system status; matching system and real world; user control and freedom. This approach requires that a lot of information be displayed on the user interface. But this is not practical, since with this amount of data on the screen the user is sure to get confused. So at any given time only a few details about the remote unit are to be supplied to the user. But the details should include the critical information regarding the status for the control of robots. A user can interact with the robot through one of the three types of graphical user interfaces: observer, commander, and a super user. The observer can only observe the system. The commander can send commands to the robots. The super user has the ability to control and modify not only the robot but also the environment of the system (Dixon et al., 1999).
2. LEG DESIGN
The aim has been to do research that would enable the design of an autonomous mobile robot, where the main direction, that has been taken, is to build a self-contained four-legged walking robot, capable of dynamic walking. We selected a design where each leg is composed of three links and has three degrees of freedom. The first joint of each leg is an abduction/adduction in the hip, i.e. a rotation around the longitudinal axis of the robot. The second joint is a flexion/extension joint also in the hip, i.e. a rotation around the lateral axis of the body. The axes of rotation for the first two joints in the hip are set such that the axes of rotation intersect orthogonally. Finally, the third joint is a flexion/extension joint in the knee. The total number of D.O.F. is three of the leg. Figure 1 shows the real leg of robot and the CAD model.
3. GRAPHICAL USER INTERFACE
A GUI is a rich environment for real-time two-way communication between the remote unit and the user (Sushila et al., 2002).
[FIGURE 1 OMITTED]
The main features of the interfaces are described in the following. Figure 2 shows a screenshot of GUI for the leg control made in Java (Sun, 2008).
Using this GUI, the user can control the robot by two methods. Using first method, in the top part of the GUI (see figure 3), the user can add (by select one of the button of the left part) or remove (by select one of the button of the right part) a one of the motors, which correspond of the robot.
When the user adds a motor, it can be possible to set the rotation (in degree) and how long time (in ms) must perform that rotation. The position in diagram specifies the start and stop time of that joint rotation. The motors' time of operation is show by a colour rectangle. In this way it can be possible to define a gait diagram (i.e. pace, walk, trot, or gallop). After that user define a gait diagram, it is possible to save all information in a file with xml extension using a "Save As" button.
[FIGURE 2 OMITTED]
[FIGURE 3 OMITTED]
[FIGURE 4 OMITTED]
[FIGURE 5 OMITTED]
The "Save As" button can be find in the bottom part of the GUI (see figure 4). In this mod, the user can define the forward, backward, turn left and turn right walking, concordant a different gait.
The "Open" button is in the bottom part also, and permitted of the user to open an existing file.
The GUI has a "Run" function, which gives the user possibility to move the robot in concordance with its settings.
With a "Reset" function, the user set the default value. Another method to move the legged robot is by using the slider for rotation and two slide bars to control the time (start and stop) correspond to each motor marked with a number from 1 to 12. The user can set the sense of motors rotation (CCW or CW) and how many step execute the robot using "Loops Nr" (see figure 5).
The "Custom" button allows customize the angular velocity, represented by a graph. Using the last method any adjustment is sent in real time to the robot, which performs the commands.
4. CONTROLLING OF LEGGED ROBOT
Generally any robot has a combination of motors and sensors, which are controlled by microcontrollers (Koditschek et al., 2004). There are wide varieties of motors, sensors and microcontrollers available. In this project for the quatruped robot named jRobo, low cost controller board and actuators are used. There are 12 D.O.F., each D.O.F. has one HS-5955TG servomotor and it is controlled by SSC-32 controller board.
The robot assemble controller board with servomotor is shown in figure 6. At this time, the communication between computer and robor is made using a serial cable and a USB to serial adapter.
The SSC-32 (serial servo controller) is a small preassembled servo controller with some big features. It has high resolution (1[micro]s) for accurate positioning, and extremely smooth moves. The range is 0.50ms to 2.50ms for a range of about 180[degrees].
[FIGURE 6 OMITTED]
The motion control can be immediate response, speed controlled, timed motion, or a combination. A unique "Group Move" allows any combination of servos to begin and end motion at the same time, even if the servos have to move different distances. This is a very powerful feature for creating complex walking gaits for multi servo walking robots (Lynxmotion, 2008).
HS-5955TG servomotors are basically geared DC motors with positional feedback control, which can accurately position the shaft. The motor shaft of HS-5955TGs servomotor is positioned by Pulse Width Modulation (PWM).
Generally angles are coded as pulse width, so based on the pulse width duration the motor rotates. Algorithm: all the 12 motors are controlled and actuated simultaneously while maintaining the previous positional values. Initially, the first motor will be serviced with on-time pulse period and during the off-time pulse period of the motor, second motor will be serviced with on-time pulse period. This type of actuation is continued till all the 12 motors are serviced. Positional values loaded in the file and are retrieved and pulses are sent to the motors accordingly.
5. CONCLUSION
Quadruped robots are the fundamental block of any advanced walking robots. By making the quadruped robots fully autonomous, it can be used in environment where human cannot enter.
This paper presents an easy way to control a quadruped robot using a Graphical User Interface.
On the next step the control communication will be done through wireless Ethernet devices. Also, the robot will be equipped with proximity sensors and the information from these sensors will be represented on this Graphical User Interface.
6. REFERENCES
Dixon, K.; Dolan, J; Huang, W.; Paredis, C. & Khosla, P. (1999). RAVE, a real and virtual environment for multiple mobile robot systems. Available from: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/cjp/www/pubs/ IROS99_RAVE.pdf Accessed: 2007-10-10
Koditschek, D. E.; Full R. J. & Buehler M. (2004). Mechanical aspects of legged locomotion control. Available from: http://polypedal.berkeley.edu/twiki/pub/PolyPEDAL/Polyp edalPublications/Mechanical_2004_ASD.pdf Accessed: 2007-12-10
Lynxmotion Inc., SSC-32 controller board, (2008).Available from:http://www.lynxmotion.com/images/data/ssc-32.pdf Accessed: 2007-06-24
Sun Microsystem Inc., Java tutorial, (2008). Available from: http://java.sun.com/docs/books/tutorial/ Accessed: 2008-0412
Sushila, S.; Lakshmi, V. & Arvin A. (2002). Graphical user interfaces for mobile robots. Available from: http://citeseer.ist.psu.edu/612670.html Accessed: 2008-0210