Patrick McDowell


Control and system architecture



Download 0.83 Mb.
Page3/6
Date28.05.2018
Size0.83 Mb.
#50839
1   2   3   4   5   6
Control and system architecture

The original control system consisted of a PC communicating via serial port to Medonis Engineering’s Advanced Servo Controller 16 (ASC16) micro controller board. The board could simultaneously control the position, speed and acceleration of up to 16 standard RC servos. It also featured 8 outputs rated at 250 ma and 8 inputs that could be read as digital or analog with 8 bit resolution. The general idea was to send micro-code generated by a C program over the serial line to the micro-controller which would in turn would run the code. The code set allowed servo speeds, accelerations, triggering, and stopping points to be set. Triggering could be based on time or position. Positions and analog to digital values could also be returned to the host computer. The system performed moderately well, but sometimes the servo motions were unpredictable. It was never determined if this was due to low battery power or micro-coding errors. A short in a power supply expedited a change in electronics. See figure 8 below.


Figure 8. Control flow using the Medonis ASC16 micro controller board.



Because of parts availability, or lack of it, two Mini SSC II boards from Scott Edwards Electronics, Inc.were used in place of the ASC16. The Mini SSC II board can control up to 8 RC servos, thus the need for two boards (The original board failed while on Mickey). Again, communication is accomplished through the serial port. The new boards had no reporting or A to D provisions so a National Instruments DAQCard-1200 was slated to handle sensor inputs. The PC control system was switched from C to LabView in order to provide a GUI and to communicate with the DAQCard. To command a servo to go to a new position takes the PC only needs to send a 3 byte code down the serial line. The command structure is as follows.
Byte 1 Byte 2 Byte 3


Unlike the Medonis board, the Mini SSC II does not monitor servo positions and act like a micro controller, it serves as an interface only. The PC was programmed to handle the multi-tasking required to control multiple servos at once.
Stubby is equipped with micro switches in its feet so that when a foot is down it can be detected. LabView uses the DAQCard to monitor these inputs. Figure 9 shows the data flow using the Mini SSC II boards in conjunction with the DAQCard and PC.

Figure 9. The current system architecture uses 2 Mini SSC II boards (each controls up to 8 servos) to control the servos and a National Instruments DAQCard-1200 to collect sensor information.


Computational

Three basic strategies were used to create the software that controls Stubby. The first software was loosely based on code that came with the ASC16 board. This code was fine for testing but was not easy to tune or adjust.


Realizing that software with direct servo control and editable playback features was needed, the m0.vi system was created. With this software the user could control each servo individually and save sequences of positions of the servos. Thus, to make the robot walk, the walking gait would be divided into a number of discrete times in which each servo would at be some particular position. The idea was to use the program to move the legs through the gait manually and then play it back. Figure 10 below shows the control screen of m0.vi.



Download 0.83 Mb.

Share with your friends:
1   2   3   4   5   6




The database is protected by copyright ©ininet.org 2024
send message

    Main page