NASA Ames University of Idaho


Home

About Us

Definition

Development

Design

Archive









MOONAVATORS
                     Sponsored by NASA Ames
Idaho Space Grant Consortium


Mechanical Development of L07 Robot

L07 Robot
Figure 1 - L07 before modifications

L07Figure 2 - Modified L07 Robot



Figure 1 shows the L07 robot completed by the Lunartics senior design team.  The L07 robot was modified by the Moonavators senior design team in order to make the arm more rigid and capable of handling larger loads (Figure 2).  The modifications included: improved base plate, gearing change in the elbow, smoother linear actuator motion, and stiffer arm links.  The changes did give the arm more strength and held the joints more rigid under loading.  With these improvements, the arm was also able to handle more torque before bending.  However, in order to break through hard soil and chip rock, more drastic changes needed to be performed.  The arm of the L07 was completely removed from the frame and a new arm was installed, named M08 (Seen in Figure 3).

Base Joint

The base was sloppy and provided inaccurate feedback.  The slop was a result of inaccurate machining of alignment holes and a Lazy Susan used as the support for the arm to rotate on.  The inaccurate machining resulted in skewed washers and spacers to make the base fit together.  The Lazy Susan supported a base plate with an internal gear attached to the bottom.  The base plate rotated due to a drive gear on a right angle motor coming up through from below. The Lazy Susan allowed a 1/8” of horizontal movement causing the drive gear to occasionally disengage. A potentiometer, opposite the drive gear inside the internal gear, attempted to stabilize the setup. The potentiometer was not strong enough to keep the assembly centered and the movement only created stress on axle.  The potentiometer was also only pressed into the frame plate and held in only by friction.

Arms

The Arms allowed for torsional movement caused by the linear actuator and from the gearing used to rotate the actuator.  This movement was because the linear actuator did not load each of the arms equally, and the helical gear also imparts a torsion load.  The arms were made of flat aluminum stock and had a large displacement under torsion loads.  The helical gear also slips under load because the bracket holding the drive gear was insufficient.

Linear Actuator


The linear actuator roller bearings easily bound up and provided inconsistent motion.  The bearings do not provide enough surface contact with the rack.  The drive motor with a high gear ratio was inoperable.  The rack was also able to twist almost 180 degrees within the bearings. 





Mechanical Development of M08 Robot


M08 Complete
Figure 3 - M08 Robot

Poker

Poker

Figure 4 - Percussive Poker

Purpose - to break up soil and chip hard rock using a percussive, hammering action mechanically driven by a cam follower 

Main Components

  1. Twin lobe cam
  2. Poker Follower
  3. Spring 
Design Description
The percussive poker uses a cam follower to produce the continuous hammering effect.  A high speed motor spins the cam which drives the poker shaft down.  A spring was placed in the shaft to return the poker shaft up when the cam came around.   Roller bearings were mounted on both sides of the cam to stabilize the cam while it rotates while minimizing the friction between the cam and the poker housing.  Bushings were placed in the poker shaft to give the poker a smoother linear motion.  Finally the poker tip was threaded to allow for different tips to be tested.

The team considered two percussive designs: a three-bar slider crank mechanism (see Appendix) and a cam-follower mechanism.  The three-bar linkage, inspired by the design of a sewing machine, was driven by a circular cam.   Attached to the cam was a connector linkage that could freely rotate with the cam.  Attached at the other end of the connector linkage was the poker (the slider crank) constrained to a linear motion by the shaft which moved up and down as the cam spun.  The first problem with this design is that the shaft that constrained the poker would experience very high stress when the force of the rock pushed the connector bar against the shaft at each hit.  This could lead to very rapid wear in the mechanism (see Appendix).  The next problem was that the design, although simple in theory, required a complicated design of the cam and connections between the cam and connector linkage with high tolerances work effectively.  Thus, the necessity for complexity to make the design work coupled with the prospect of wear instilled in the design that would quickly diminish the effectiveness of the design, this mechanism was not chosen.

Wrist Joint

wrist joint
Figure 5 - Wrist rotation

Purpose – To alternate between the scoop and the poker and provide torque for scooping

Main Components:

  1. 3x3 scoop for digging and trenching
  2. Rino gear box with a 120:1 gear ratio
  3.  Anaheim motor
  4. Slip ring for continuous rotation without tangled wires
Design Description
The goal of this design was simple, to provide the M-08 a degree of freedom that allowed it to alternate between digging and breaking rock.  Last year’s team helped set the criterion for the design when they realized that the required an exceptionally powerful motor for the scoop to be capable of performing any work. Therefore, the design includes an Anaheim motor that provides an upwards of ( I need to look up the exact amount of torque  ) and a powerful gear box with 120:1 gear ratio.  Originally, a more powerful motor gearbox assembly was designed for the wrist.  However, due to shipping delays, the assembly was redesigned with the intent of installing either the Anaheim motor or the combination motor gearbox when it is shipped. A slip ring was also recommended from last year’s project to eliminate the burden of wires hanging everywhere and improve the appearance of the machine. 

Elbow

Elbow
Figure 6 - Elbow joint

Purpose – The purpose of the elbow joint is to increase the precision of linear positioning of the percussive poker and scooper mechanism

Main Components

  1. Rino Mechanical P20-60 60:1 worm and wheel gearbox
  2. Rino Mechanical P20-DX Keyed output shaft coupled to the P20-60 gearbox
  3. Rino Mechanical 5mm x 6mm Oldham shaft coupler
  4. Anaheim Automation 12V DC 5.5oz-in rated torque Brushed Spur Gear Motor 
Design Description
The elbow joint was designed to supply high levels of torque for scooping with relatively low weight.  The design combines an Anaheim Automation 12V DC motor and a Rino Mechanical P20-60 with a 60:1 gear ratio worm and wheel gearbox.  This motor-gearbox combination gives the elbow joint a constant rated 333oz-in of torque to the drive shaft and, at the 1.5A stall current, an upward of 2499oz-in of peak torque.  

At the 9.7A stall current, the motor driving the linear actuator design on the L07 produced 1465oz-in of peak torque. The motor was coupled to a right angle gearbox, but was a 1:1 zero gear reduction gearbox therefore not increasing the torque supplied to the linear actuator. 
The previous elbow joint design for the L07 weighed in right at 2 lbs, and currently, the Anaheim motor and Rino P20 gearbox combination weighs .9lbs. The motor for the M08 is approximately one third of the physical size of the L07 elbow motor, and produces up to 10 times the rated torque using a miniature internal worm wheel gearbox. The L07 used a heavy and large external worm gear and shaft combination to translate the rotational motor motion ninety degrees into the elbow joint to rotate the end effectors. Not only was this setup bulky, but also allowed for dirt and dust to enter the gearing and after time could produce problems with the meshing.


Electrical Development of M08 Robot

Interface options for the M08 robot

Labview interface
Figure 7 - Labview generated interface control

The L07 robot used an LCD touch-screen operating from the Mini-ITX board for user interface.  A software file created in LabView had seperate controls for each joint on the arm.  This allowed the user to move only one joint at a time and was difficult to use.

Laser-6 by Hitec
Figure 8 - Laser-6 radio frequency transmitter by Hitec

In order to make it easier to operate the arm, a radio frequency remote control (Laser-6 by Hitec) was purchased.  However, the output of this remote controller is a PWM signal operating at about 50Hz.  The microprocessor needs an analog input.  To convert the PWM to analog would require additional electronics, therefore the RF remote control option was not chosen for this project.

Playstation controller
Figure 9 - Playstation Controller

Finally, a Playstation one controller was decided upon as a simple method of controlling the robot.  The Playstation controller sends an analog output to the Basic Stamp microprocessor.  This method requires no additional hardware and offers real-time control of the robot while controlling multiple joints simultaneously.  

Microcontroller

RCM4110
Figure 10 - RCM4110 Microprocessor

The Rabbit 4110 RabbitCore (Figure 14) controls all the motor controllers on the M-08.  It is the brains of the M-08.  It reads the control signals from a serial port input and then takes this data and performs the programmed logic to operate the motor controllers accordingly.  Then the motor controllers provide the high voltage and current needed to operate the motors under load.

It has 4 PWM outputs, 8 analog inputs, 6 serial ports, and 29 parallel digital I/O lines available on board.  This number of I/O in addition to 512kB of onboard memory allow for connection of multiple controllers.  The processor operates at about 60MHz, which supports fast run-time of interrupts for controlling the robot arm joints simultaneously.
The rabbit 4110 was chosen for this project primarily because of its sufficient number of inputs and outputs to interface with the motor controllers and the team’s familiarity with its operation.  The rabbit is also programmed in C programming language, which is desirable.

Motor Controllers


BLH
Figure 11 - BLH450
HB-25
Figure 12 - HB-25
b15a8
Figure 13 - B15A8


Shoulder Motor Controller – Oriental Motor BLH450 (Figure 11)

The BLH-450 motor controller was chosen because it is designed to control the BH450 motor used at the shoulder joint.  The controller has many features to control the speed and direction of the motor.   The speed stability reads the value of the motor speed and adjusts the current to hold the set speed for different loading on the motor.  There are four events that may trigger the alarm setting: an overload occurring for more than 5 seconds, the motor getting disconnected, the motor speed exceeding 3500 RPM, or the input voltage to the controller reaching 25% below or 15% above 24VDC.  These safety precautions are beneficial because when the arm is under high loading, the shoulder joint receives the majority of the torque. 

The control signals are in a parallel, meaning that a control line is either pulled high or low to change the operation of the corresponding control line. This greatly increases the number of output pins needed to control the motor.   The control signals are: START/STOP, RUN/BRAKE, CW/CCW, INT.VR/EXT, and ALARM-RESET. The input to these control lines are inverted which means that a low voltage on the input to the controller will result in a logical high.  This is done because each input line has an internal pull up resistor.  This type of setup is commonly used because if a failure occurs the arm will be turned off, stopping motion.  The needed voltage levels for a high voltage is 5V, this is a problem because the Rabbit can only output 3.3V for a high voltage.  To overcome this problem a PCF 8574 I2C expansion chip was used.  I2C is a serial protocol  that uses pull up resistors on the signal lines, then the master and slave devices can toggle the line as desired by effectively grounding the signal line, by using an open drain output.  This choice was made because the signal lines can be 5V, this is why I2C is commonly used to interface two different voltage based devices.  This also reduced the number of I/O pins used from 5 to 2.
The C code used to control this device was easy to implement because Rabbit has a built in I2C library.  The only adaptation that was needed was to change the output pins to the ones connected to the PCF 8574 and change the id needed to identify this device.  Once communication to the PCF 8574 was established and the output pins could be toggled as desired, the control logic was implemented.  This was done by consulting the BLH 450 operating manual.  This gave proper sequencing and timing needed to control the motor as desired.  The speed control of this BLH450 was set to the internal potentiometer (POT) as the rabbit does not have an analog voltage output.  This speed control was not considered a necessity as the BLH450 also has a POT for acceleration and deceleration rate.  This allows the motor to speed up and slow down at a rate slower than full speed.

Elbow, Wrist, and Poker Motor Controller – Parallax HB-25 (Figure 12)

The HB-25 motor controllers were chosen because of they have a high output current, low cost and are designed for use with DC motors, which are installed to move the elbow, wrist and poker.  The HB-25 motor controller can handle 25 amps (35 amps peak).  This feature made the HB-25 ideal for controlling the percussive poker and the joints under high loading, which draw large amounts of current.  The controller requires very few lines of code and only needs one pin from the microcontroller.  The HB-25 uses a servo motor pulse-width modulation signal to control the speed and direction of the motor.  This controller only requires a single pulse for continuous motion (normal servos require periodic pulses sent every 20 milliseconds).  This frees operating time for the microprocessor output and allows the user to operate multiple joints simultaneously.   

The original L07 robot used a Motor Mind motor controller for each of its joints.  This controller allows 3.5 amps peak current and 2 amps running current.  However, this motor could not support a high enough current that the motors needed to produce the maximum torque under high loads. Although the Motor Mind has features such as brakes, tachometer, and pulse counter which require more coding, these features were not necessary for operation on the M08.  Therefore, the Motor Minds were removed from the robot and replaced with the HB-25 motor controllers

These motor controllers are controlled by servo control pulses.  Servo control pulses are used to control servo motors.  The time the pulse is high is considered the pulse width.  The servo pulses vary from 1mS to 2mS with 1.5mS indicating a stop or no movement condition.  Any increase or decrease in pulse width will turn the motor in the indicated direction and increase in speed as the pulses become closer to the limits of 1mS or 2mS.  If the pulse width goes outside the range of 0.8mS-2.2mS the HB-25 will shut off the motor until it receives a valid pulse width.[cite]  This is why the pulse width are limited to 1mS to 2mS to install a safety margin ensuring the motors always stay in operation.   The HB-25’s also require a 5mS delay between pulses.[cite] 

Each of the HB-25’s is controlled by a Pulse Width Modulation (PWM) pin on the Rabbit.  The basic operation is one of the four Pulse Width Modulation (PWM) pin was used from the rabbit.  PWM is a pulse train that can control the length of time that the signal is high and low.  The Rabbit can only set one base PWM frequency for all of its PWM outputs.[cite]  This frequency is based on the Rabbits internal timer A6, once the base frequency the pulse width can be changed based on an integer number.  This number can vary from 0-1024 with 0 being a 0 pulse length and 1024 a pulse length of the entire cycle.  The Rabbit can suppress 7 out of 8 pulses from any of its PWM outputs, by taking advantage of this the base PWM frequency can be increased from 50Hz, no suppression, to 505Hz.

Base Motor Controller – Advanced Motion Control B15A8 (Figure 13)

The AMC motor controller was chosen because the base motor is a direct drive motor and this type of motor was controller is the type the manufacturer uses.  The direct drive motor uses tertiary windings and has Hall Effect sensors.  These Hall Effect sensors are connected to the AMC controller providing it with feedback data.  The AMC has three modes of operation Current, Tachometer and Open loop mode.  The open loop mode was chosen because there is no tachometer on the base motor, and the open loop mode controls the output voltage to the windings proportional to the input signal.  This was chosen because the user will close the control loop, and by controlling the voltage will control the speed of the motor.  The current mode is intended for use if the motor is operating at a constant speed with a variable load.  The AMC is controlled by a differential analog voltage.  This voltage can range from +10V to -10V, with 0V indicating no movement and positive and negative voltage controlling direction and magnitude of the the voltage controlling speed.  This device also has an inhibit motor input pin that is used to ensure the motor moves only when desired. 

The Rabbit was very limited in controlling the AMC since it has no analog output capabilities.  To overcome this, two devices were needed to produce a differential voltage.  This PWM signal is then sent to an RS-232 driver chip a UA9636AP this converts the PWM input into a signal that is +10V when the PWM is high and -10V when the signal is low.  This driver chip uses the ±10V outputs from the AMC as its power sources.  The output of the driver chip is then low pass filtered resulting in a DC voltage that is then sent to the AMC as a signal input.  This voltage increases or decreases as the PWM changes, for a 0V signal the PWM value is 512 meaning that the PWM is high and low for an equal amount of time. 

Power Systems on the M08 robot

L07 Electronics
Figure 14 - L07 Robot Avionics Box
M08 avionics
Figure 15 - M08 Robot Avionics Box


Figure 14 shows the avionics box on the L07 Robot.  In order to control the M08 robot, new motor controllers and microcontrollers were installed (Figure 15).  The Mini-ITX board, Basic Stamp microcontroller, and Motor Mind motor controllers were removed from the avionics box.

flowchart
Figure 16 - Power Systems Flowchart for M08 Robot

XP-08s
Figure 17 - XP-08S Power Management
DCD1HV
Figure 18 - DC1HV DC-DC Converter
DC123S
Figure 19 - DC123S DC-DC Converter
HD4RX
Figure 20 - HD4RX Kill Switch

XP-08S Power Management  (Figure 17)

The XP-08S power management  is designed to operate from either an 18VDC (external of M08) or Smart Li-Ion battery packs (internal of M08).  However, the external 18VDC supply requires a 120VAC source.  The XP-08S outputs a clean (low-noise and steady) 18VDC to the DC1HV DC-DC converter to ensure the rest of the system is maintained with a constant power.  This board also charges the Smart Li-Ion battery packs when the external 18VDC is connected.


DC1HV DC-DC Converter (Figure 18)
This board takes power from the XP-08S and is capable of supplying 350watts of power at 18VDC and 24VDC.  Currently, it powers the DC123S DC-DC converter, the B15A8 motor controller, and the BLH-450 motor controller.


DC123S DC-DC Converter (Figure 19)
The DC123S DC-DC converter is powered by the DC1HV DC-DC converter.  It provides up to 144watts of power at 3.3VDC, 5VDC, and 12VDC.  It is supplying power to the three HB-25 motor controllers, the Rabbit microcontroller, the BasicStamp Homework board, the HD4RX wireless kill switch, and the avionics box fans.


HD4RX Wireless Kill Switch (Figure 20)
The HD4RX wireless kill switch (Figure 12) is integrated to the M08 as a safety precaution.  It simply acts as a quick on/off switch for the motor controllers.  If any of the motors cannot be stopped by software with the Mad Catz controller, then this device will completely kill the power to any of the four motor controllers.

Kill Switch Button

Motor Controller

M08 Joint

1

B15A8

Base

2

BLH-450

Shoulder

3

HB-25_E

Elbow

3

HB-25_W

Wrist

4

HB-25_P

Poker

Table 1 – HD4RX Wireless Kill Switch button assignment 

The transmitter in Figure 12 has four buttons numbered 1 through 4, arranged as seen in Table 1 (Note: Button 3 is connected to the elbow and wrist joints). 
 





























































assignment 

The transmitter in Figure 12 has four buttons numbered 1 through 4, arranged as seen in Table 1 (Note: Button 3 is connected to the elbow and wrist joints).