Final Arduino Code

By: Jordan Smallwood (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents


6-Wheel Differential:

The six-wheel differential takes advantage of pin-change interrupts since most of the external interrupt pins are lodged within communication pins on the ATMega 2560. The way it works can be viewed here. Currently we are experiencing difficulties getting the software to work, this may be due to the short that took place while wiring the Pathfinder up. I believe there may be some issues with the motor drivers and we will have to replace these. The code for a 6-wheel differential can be found here: Final Arduino Code.


No-Load:

In order to preserve energy in the wastelands of Mars, we need to cut off power to motors that are spinning freely. In order to determine if a wheel is spinning freely we compared the current power running to them with known values of no-load current and would turn them off if need be. Turning off the motors is not an issue but it’s determining when to turn them back on that poses a threat. We can pulse the motors to find out if a load is present but at that point it may be too late and will create unnecessary drag on the system. Further studies can be found here. If you would like to view the code it is included in the .zip folder mentioned in the previous section.


GPS Navigation:

Due to time constraints and non-software related issues, the Pathfinder is currently unable to perform GPS navigation. However, access to GPS information regarding latitude, longitude and heading can be extracted from the Arxrobot application onto the Arduino. Furthermore, these values can be modified to produce distance to checkpoints and required turn. Although this feature is currently not functional it is definitely feasible.


Conclusion

Acting as Project Manager/Software was an extremely difficult task this semester. I would have liked to focus on one specific area, specifically software, so that I could have done more as far as coding went. But will have to continue working on this code throughout the summer so that Pathfinder will be able to complete it’s mission.


References

  1. https://www.arxterra.com/pathfinder-arxterra-communication-part-two/
  2. Final Arduino Code

Final Pathfinder Design

Author: Adolfo Jimenez (Manufacturing Engineer)

Verified By: Jordan Smallwood (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents


Introduction:

Figure 1: Isometric View of the Pathfinder Robot

Many modifications were made to our original designs of the pathfinder rover. These designs were implemented to accommodate the requirements of the rover being able to operate in a dessert environment. Our preliminary design involved the use of an electronics box, similar to the one used by previous semesters to house all the electrical components required for the operation of the robot. The use of the box, combined with the considerable real estate taken up by both the battery and differential gear mechanism, required a redesign of the housing for all of our components.


Aluminum Body:

Figure 2: Isometric view of Rover body without top cover 

The main design update was the use of an entire aluminum body with dimensions 3” x 14.25” x 9.25” constructed from ¼” thick aluminum alloy 6061 that would be used to house not only the electrical components but the differential and battery as well.  This new aluminum housing required us to change the orientation of our differential from previously being mounted underneath the aluminum plate to above the base of the new aluminum body.


Mounting Hub:

Figure 3: Rocker-Bogie with Differential Gear System Re-oriented

Our requirement to make the rover able to be disassembled forced us to find a solution other than welding to fix the differential axels to the wheel assemblies. The differential was mounted to the side arm assemblies (making up the rocker-bogie suspension system) using a 3/8” set screw hub purchased from SparkFun.

Figure 4: Set screw Hub (top); Screw Hub mounted to wheel assembly (bottom)


New Motors:

Our need to have encoders to be able to measure and vary the speed of our wheels to implement the slip differential required us to purchase new motors with included encoders. These new motors were slightly smaller than the ones used by previous semesters, required less current to operate and generated more torque. The only trade-off being that these new motors operated at a much slower RPM. Though the new motors themselves were different in size to that of the previous motors, fortunately for us, the gearbox on the new motors were the exact same size as the ones found on the old motors, allowing us to easily mount our new motors on the same motor mount used of the rover. In addition to the new motors, new thrust bearings were purchased to replace the previous radial bearings that were incorrectly acting as spacers on the bogie mechanism.

Figure 5: View of Rover Bogie with upgraded motors.


Internals:

Figure 6: Isometric and top-side views of robot internals

Inside the rover body can be found all the electrical components and wiring for the rover. Located at the very front of the robot is the 12-Volt rechargeable battery used to power the entire rover. At the very center is the differential mechanism requiring most of the real estate within the rover body. On the right side of the differential is the power distribution block, it is used to redistribute the power from the battery to the external motors as well as the rest of the internal electronics. On the left side of the differential can be found the custom PCB for our robot, connecting our 3 sets of paired motor drivers to an Arduino Mega.

Figure 7: Custom PCB connecting motor drivers to Arduino Mega

The heat generated by the motor drivers and the rest of the components was cooled down using a fan located to the rear of the rover, near the custom PCB. The need to keep eternal particles out of the rover had us opt for a fan with included filter. To the right of the fan, also on the rear, is a toggle switch which can be used to turn the robot on and off.

Figure 8: Rear view of rover showing fan and toggle switch


Sensors/Lid:

Figure 9: Top cover with Ultra-Sonic sensors

The aluminum panel making up most of the rover chassis for previous generations was repurposed to serve as a top cover. To do this, the triangular side assemblies that were once used to connect to the rocker-bogie suspension system were removed. The sensors and sensor mounting plates, however, were left intact. With all electrical components located inside a closed body, a method of getting the wiring to the outside sensors and LED’s required, to combat this, a small hole was drilled at the front of the rover body just wide enough to allow wiring through.

Figure 10: Hole at front of rover for sensor wiring


Conclusion:

The incasing of our components in an aluminum body ensures that our electrical components, as well as our differential system, will be more secure from the elements. The obvious danger in using a conductive material to enclose electrical components means add precaution when wiring everything up. Much to our dismay, accidental contact between the wiring and the rover body can lead to short circuits, in our case that meant the frying of some of our components. For future semesters, we recommend extreme caution when wiring components inside the rover.  A small layer of non-conductive material such as rubber could be used to combat this and help prevent accidental short-circuiting. Rubber could also be used to somehow cover holes such as those made for the differential axels and ultrasonic sensors to further prevent external particles from entering the robot. The reason for this being that large enough accumulation of particles between the differential might cause it to jam, or worse, conductive particles such as iron could also get into the components and cause short-circuiting.


References:

  1. Solidworks Files: https://drive.google.com/drive/folders/11zZJXZYqD2LwFxzG09dudBXihLIsBzNR
  2. Fall 2016 Semester design: https://www.arxterra.com/the-pathfinder-fall-2016/
  3. Custom PCB: https://www.arxterra.com/custom-chassis-pcb/
  4. Updated Bearings: https://www.arxterra.com/bear-ings/

PCB Fabrication

Author: Diane Kim (Division Manager of E&C Hardware)

Verified By: Jordan Smallwood (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents


Introduction

To fabricate our board, we use a PCB fabrication machine called the V-One from Voltera. Its function includes printing, soldering, and drilling.

Printing

V-One uses conductive ink to print the traces of the circuit. It will print the traces and bake it as well. The limits of the traces are:

  • Minimum 8 mil trace width and spacing
  • Minimum 0.65 mm pin pitch for SMT components
  • Minimum 0603 passive size
  • Minimum circuit size 1 x1 mm

Soldering

After the trace is done, the V-One can print the solder paste onto the desired traces. The user must manually place the pieces onto the board. After the pieces are place, the V-One will bake the board once more to heat up the solder paste. The limitations of soldering are:

  • Minimum 0.5 mm pin pitch for SMT components
  • Minimum 0402 passive size

Drilling

The V-One can also drill holes through the circuit board. The drill sizes are 0.7, 0.8, 0.9, 1.0, 1.6 mm for the diameter. Therefore, the smallest hole size is 0.7 mm which is 27.6 mil. To connect the top and bottom layer, rivets are used, and the given rivet sizes are 0.4 mm and 1.0 mm for the inside diameter.


Software

To communicate between Eagle CAD and the V-One, Gerber files are used. V-One has its own CAM processor that outputs the top, bottom, solder paste and drill layers. Once the Gerber files are converted from the Eagle CAD, it is uploaded into the Voltera software which allows the user to choose the desired action: print, solder, bake, or drill. Each process has its own procedure which the user can follow easily with the guidelines that are shown through the process on the right side of the window.


Procedure to Fabricate the Board

Drilling:

Drilling is done first. The board is placed onto the pad and then the drill size is chosen. For our board, we are using the 0.7 mm and the 1.6 mm drills.

Figure 1. Picture of the drill in action

Printing:

After the drilling is done, the top layer is printed first. The board is not moved therefore the previous alignment can be used. After the conductive ink is printed, the board is heated to bake the conductive ink.

Figure 2: printing process

After the top layer is baked, the board is flipped to print the bottom layer. Since the board is moved, alignment is needed so that the top and bottom match. After the alignment is done the bottom layer is printed and baked.

Connecting Top and Bottom Layers:

The top and bottom layer are connecting using the rivets. The flat side of the rivets are placed into the through-holes connecting the top and bottom. To flatten the non-flat side of the rivets, the rivets pressing tool is used. After each rivet is pressed, the multimeter was used to confirm that there is a connection between the top and bottom pads.

Figure 3: Rivets done

Cutting the Board

We needed to cut the board because the machine doesn’t have the function to do so. Therefore, we used the machines given access to mechanical engineering majors to do so.

Figure 4: Cutting the excess part of the board

Soldering:

Alignment is needed once again since the board is moved so that the location of the pads is known to the machine. The solder paste is printed on the pads and the components are placed onto the correct locations and baked once more.

Figure 5. Picture of the soldering

After the surface-mount component is placed, the through hole components. For our board, we had male and female connectors that needed to be hand soldered. Following the guide form the soldering workshop blog post, the connectors were hand soldered

Final Testing:

The final product is shown below and the connections were checked using a multimeter. Basing off the interface matrix, the connection between the peripheral systems pinout and the ATmega2560 pinout was checked. All the connections were checked.

Figure 6: Final Project

Figure 7. Testing the connection of the traces


Conclusion

The time taken to fabricate the PCB was 7 hours. It took two hours to draw the traces for each side, one hour to bake the traces, and another hour to solder on everything. When it came to testing the board, we weren’t able to due to technical problems. We were able to connect all the components onto the circuit board and the ATmega256. However, during the process, the board got shorted and damaged the board. We didn’t have enough time nor material to print out the board, therefore, we weren’t able to print out another one.

Figure 8: Image of the damaged board

Soldering Workshop

By: Diane Kim (Division Manager for E&C)

Verified By: Jordan Smallwood (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents


Introduction

The Soldering workshop was focused on hand soldering. Based on the PCB designs of each project, the components that were to be hand soldered were the through-hole components, more specifically the connectors and the IR LEDs. Since we had access to a soldering iron, we practiced soldering based on the guide from Adafruit to understand how to solder. I have access to a PCB fabricating machine called the Othermill from Batam tools and printed out practice circuits for the group to practice on as well as provide connectors if needed.


Guide To Soldering

Required Tools

  • Solder Iron
  • Wet Sponge/Brass Mess
  • Solder
  • Wires
  • Through-Hole Components
  • Solder Sucker/Wick

First Step: Check Tools/Materials

Before you turn on the soldering iron, make sure to check whether the tip is clean or not. If the tip is not clean (when it is oxidized) it can prevent the tip of the soldering iron from heating up properly. To make sure that this doesn’t happen, we need to always make sure to clean the tip using the wet sponge and brass mesh and thin the tip after each use so the tip acts as a protective layer.

The type of solder also determines what temperature to set the iron on. If the solder is lead-based the temperature of the iron should be set to around 650 degrees Fahrenheit, and if the solder is lead-free it is best to set the temperature around 750 degrees Fahrenheit. The temperature setting is important to properly heat up the conductive pads and the wires or through-hole components.


Soldering

When the soldering iron reaches the desired temperature, the iron is placed in the joint of the pad and the component wire lead. The solder should first touch the iron and then to the wire lead and the pad for a secure connection. Then remove the iron and solder for it to cool. It is also important to make sure that the heat is not applied for too long to prevent overheating. A good solder is when the solder covers the whole pad and the wire lead and it has a slanted slope connecting the wire lead and the pad. It also looks smooth and shiny on the surface. If the solder is dark and is in a ball like shape that means that not enough heat or uneven heat was applied to the pads which are called the cold joint.


Making Mistakes:

Sometimes when the pads are so close, it can be shorted during the soldering process. To remove the excess solder, you can use a solder sucker or solder wick to remove the solder. The solder sucker sucks the solder out and the solder wick soaks up the excess solder.


Soldering Workshop:

The groups first went over the basics of soldering and then I provided practice boards so that they could practice. The practice board consisted of connectors that varied in the number of pinheads (8, 6, 4, 3). Female connectors were also provided to practice soldering.

Figure 1: Eagle Board file of the practice board for soldering

The practice board consists of 2 of each 8, 6, 4, and 3 pinhead connectors.

Figure 2: Photo of the practice board after printing and female connectors that are provided


Conclusion:

The group knew how to solder prior to the workshop but were able to practice to avoid making mistakes that would cost them the whole board. Since they were able to practice soldering on connectors which is what they will be soldering on for their PCB, it was more applicable to their projects.

When it comes to surface mount soldering, I went over the theory of how to apply the solder paste and how to bake the board; however, since I have access to a PCB fabrication machine that can print the solder paste and bake the board, we will be using that for the PCBs for our projects. The PCB fabrication machine that we are using is the V-one from Voltera.  


References:

The information about soldering is based off a tutorial on Adafruit:

  1. https://learn.adafruit.com/adafruit-guide-excellent-soldering/tools

Spring 2018: Biped FOBO Existing obstacle avoidance software test

Written By: Jorge Hernandez (Electronics & Control)

Verified By: Miguel Gonzalez (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)


In order to avoid obstacles, we implemented the SEN136B5B sensor ultrasonic code within the given navigation program from projectbiped.com. I also did my own code which turned on an LED to detect when the ultrasonic detected 8cm or less. This was made because Micro Fobo already had navigation code which used Ultrasonic to turn Right when it detected 5 cm and I did not want to take credit for code that was not mine. Within the provided code, the only changes we had to make is to have the function found Obstacle read the value of 8 cm. If Micro FOBO’s ultrasonic read anything above 8 cms, it would provide a zero, or a false to the function found Obstacle. Below is the given code with the minor changes in order for Robot avoidance.

Fig.1 Initial Code Test

Below is a video of the testing performed which would essentially have Micro FOBO walk and when detecting an obstacle at 8cm’s, instead of the LED going on, it would stop Micro FOBO completely.

https://drive.google.com/open?id=1ppkFJqBtTFxKPoDTRbCh50Uc4DUi5A1O

Initially, we wanted to have the LEDs that were on top of Micro FOBO’s head turn on when it detected 8cm but in our dem,o there was a loose wire which caused miscommunication and could not make FOBO move at all. Below is a video on how we would have used the idea of Robot avoidance with the Arduino code provided as well.

// Jorge Hernandez
//Ultrasonic Sensor HC-SR04 and Arduino Tutorial
//Dejan Nedelkovsk
// defines pins numbers
const int trigPin = 9;
const int echoPin = 10;
const int ledPin=13;
// defines variables
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
if (distance <9){  // if less than 9 cm's then the LED will turn on
  digitalWrite(ledPin,HIGH);
}
else{
  digitalWrite(ledPin,LOW); // if not, LED will stay on
}
// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.println(distance);
}

References

  1. https://drive.google.com/open?id=1ppkFJqBtTFxKPoDTRbCh50Uc4DUi5A1O

Spring 2018: Biped Breadboard Build and Test

Written By: Jorge Hernandez (Electronics & Control)

Verified By: Miguel Gonzalez (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)


Our design ended up being breadboarded which fit inside of Micro FOBO’s head. The reason we had to resort to breadboarding is due to the fact of using a wrong chip. Originally Fobo operated on the CD-4017 decoder chip as we used the PCA9685 16-channel PWM driver on our PCB. Due to this error, in order to move Micro Fobo we need to use the 4017 decoder and with limited time, we breadboarded and tested.  In order to build and use the 4017 decoder to drive the 8 micro servos Micro Fobo uses, I drew up a schematic and pinouts to simplify which derive from projectbiped.com.

Fig1. Pin Out and connection of 4017 decoder

To clarify figure 1

  • RH= PWM connection to Right HIP
  • RLL= PWM connection to Right Lower Leg
  • RA= PWM connection to Right Ankle
  • RUL= PWM connection to Left Upper Leg
  • LH= PWM connection to Left HIP
  • LLL= PWM connection to Left Lower Leg
  • LA= PWM connection to Left Ankle
  • LUL= PWM connection to Left Upper Leg
  • NC= no connection
  • GND= ground connection
  • VCC= connection to 5 v

In figure 2 one can see the actual completed breadboard.

Fig.2 Completed 4017 breadboard connection

Fig.3 Testing each servo using FOBO Poser

 

 

 

 

 

 

 

 

 

 

 

 

Using this breadboard shield gave us full control of each individual servo when connecting a 4.7 V battery to it. The program used to calibrate was provided by Projectbiped.com which was called FOBO poser. The breadboard build and test were successful when testing individual micro servos. The walking test will be a more challenging task as it uses all 8 micro servos simultaneously.

Below is a video of the actual calibration.

Video

References

  1. https://drive.google.com/open?id=171cSjTzGN8j88Nwz8zHqaluC846qZIKd

Spring 2018 AT-ST Rapid Prototyping

By: Danny Pham (Manufacturing and Design Engineer)

Verified By: Intiser Kabir (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents

Introduction

3D printing using a plastic can cause inaccuracies in the dimensions and measurements of the piece that you are printing. Even if the pieces are designed to be simple shapes, dimensions can be skewed because plastic can become deformed while the 3D printer melts the plastic. To counter this, we printed many copies of different pieces. Despite our efforts, pieces continued to be skewed and we had to sand down the pieces in order for the pieces to fit in our prototype.

All of the components we printed are not simple shapes. The connectors have small edges and holes that 3D printing can not avoid making inaccuracies for. In order to remedy this, we printed many copies of a few complex pieces with different 3D printer settings to see if a change in accuracy, layers, and density would fix some of these errors. As you can see in the image above, many of the pieces came out very well. Some of the holes and edges in the pieces had to be sanded out in order to fit other pieces, but the main design and function of the pieces was printed correctly.

Printing components

Figure 1: These are the components we printed that will be put together to build the legs of the robot.

We printed the pieces with PLA so the printed components are brittle and easy to break. We had to replace these with new reprints and increased the number of layers and density so that the components weren’t as easy to break when putting the bot together.

Figure 2: One of the few pieces that broke when we were putting together the pieces.

The main piece that gave us the most trouble to print was the rotating shaft. Because it’s design is complex, the shapes are easy to deform. The component was also not flat, so we had to use a more supporting material as a platform for the material to sit on while it was 3D printing. When we printed the rotating shaft vertically, it was very easy to snap. After we changed the 3D printing setting to print it sideways instead of vertical, it was very sturdy yet it looked messy. Changing some accuracy settings allowed us to create a good rotating shaft that looked clean and was sturdy enough to rotate on the robot without breaking.

Figure 3: Rotating Shaft

The first print of the rotating shaft. It is a complex piece to print because of alternating circles and different sizes throughout the shaft. It was also very easy to snap because we printed it vertically.

Figure 4: Future print of the rotating shaft using higher precision settings and sideways printing instead of vertical.

The printed motor case fit the motor pretty well. The only thing I did not account for was having space for the wires to stick out without constraining the motor in the case. A simple solution to fix this was to cut out a bit of the edge on the side so that the wires can stick out while allowing the motor to fit in the case.

Figure 5: Printed case for the motor to sit in. It contains a hole on the side so the shaft can rotate freely without issue.

The pieces we printed required a lot of sanding just to fit each other. Almost all of the pieces had some inaccuracies in dimensions and shapes because of 3D printing. Some pieces were too big to fit in the holes for other components. We tried modifying the size of the holes and edges on Solidworks for reprinting, to account for 3D printing inaccuracies, and many other issues came up. These issues included having holes too big, dimensions still deformed, and more cost for paying for reprints. We decided that sanding down the components to fit each other would work best in saving money and also fixing the issue of deformities in the components.

Figure 6: 1 leg build

One leg put together after sanding down the pieces. Each component of the leg fit pretty well and the leg moved pretty well. The connections were not too tight or too loose.

Figure 7: Image of the printed components fitting together after a lot of sanding down.

Figure 8: Final prototype fully built

We will be designing a new box to fit the ultrasonic sensor, servo, and other electronics.

Conclusion

After putting the components together, the robot came out similar to the Solidworks model. There were some minor errors in the prototype. Some of the pieces were a loose fit instead of snug, but overall, the pieces connected to each other well and the motion of the leg was not disrupted. The shaft rotated cleanly and the leg moved in a Theo Jansen motion as intended.

References

  1. https://grabcad.com/library/theo-jansen-type-biped-walking-robot-strandbeest-1
  2. https://drive.google.com/open?id=10GJDTiolPUA9C2i3yNMLMN5Ndx_wRcU-
  3. Final 3D Model: Linked when blog is published

Spring 2018 AT-ST Final Model

By: Danny Pham (Manufacturing and Design Engineer)

Verified By: Intiser Kabir (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Introduction

After the preliminary design review presentation, we decided to steer away from the split leg option that the previous semester used because it was difficult to balance. There were many complications with the previous design that caused the robot to fail, such as the unstable design of the legs and feet. To give us some ideas, Hill let us borrow a Theo Jansen Biped kit that moved with the Theo Jansen leg design using a fan. We decided that since the kit was well balanced, we could try to incorporate the use of motors instead of a fan into the leg design of this kit in order to make a walking robot that could walk and turn.

Figure 1: Theo Jansen BiPed Kit

This is the fully built Theo Jansen Biped Kit that moves by using the fan to rotate the shaft. It includes an automatic weight shifting mechanism and three gears that connect the fan and the shaft.

After building the kit, we saw that the main action that moved the kit was a fan that moved three gears in a gear system. A shaft that runs through the kit is rotated by a gear connected to the shaft. The rotating shaft moves the entire Theo Jansen kit. We modified the design of the kit so that instead of using a fan to move the kit, a motor on each leg would move each leg. First, we removed the fan and the gear attached to the fan.

Figure 2: Theo Jansen Model on SolidWorks.

We found the entire kit on a Solidworks file on grabcad. The link is sourced below. This is an image of the kit on Solidworks after I removed the fan.

The kit above includes a rotating shaft that moves both legs simultaneously at different motions to create the walking motion. Since we are implementing a motor to do that for each leg, we split the shaft in half and implemented that on each side so that one shaft will move one leg, and the other shaft will rotate the other leg.

Figure 3: Original Rotating Shaft and the edited Shaft.

Image of the original rotating shaft and the edited shaft that is cut in half. We will be using the half shaft on each leg instead of just one shaft for both legs. Each shaft will be connected to their own motor through the gears.

Figure 4: Leg Design on SolidWorks.

The edited rotating shafts and a gear are connected to each leg. The frame of the kit and the automatic weight shifting mechanism are removed from the model. This will be the framework of the legs.

After removing the chassis of the kit, we designed our own frame with the same concept as the kit model. The chassis will hold the rotating shaft in place while it rotates. It is also connected to the rest of the frame and will be the main anchor that holds the robot together. We added a general box on top of the frame to hold the electronics.

Figure 5: The legs are connected together with the shafts.

The legs are connected together with the shafts to three frame pieces that hold the legs and the body together. It also holds a box on top to fit electronics and other miscellaneous parts.

We initially planned to just stick the motor directly onto the rotating shaft on each end so that the motor rotated the shaft directly. However, Hill recommended that to balance the center of mass well, the weight of the legs should be closer together. If we went with having the motor on each side of the shafts, the weight would be shifted farther apart and make it more difficult to balance the robot. We decided to move the motor right in front of the legs so that the weight of the motor would be directly on the same plane as each leg. Since the weight would be closer to each other, the kit would have an easier time to walk while balancing itself. We created a case for our motors and modified our existing frame pieces to hold these motor cases. Since we are not putting the motors directly to the shaft, we created a two gear system.  The motor spins one gear and the one gear will spin the other gear that is directly attached to the shaft so that the motor will rotate the shaft. We went with a gear system that moved from small gear to big gear and that will create more torque for the robot to move.

Figure 6: AT-ST with the motor case.

This is the robot after attaching gears and motor cases to the robot. We added two more frame pieces on the side to hold the motor cases and to hold the top box in place. This will add more stability to the robot and allow us to keep the motors closer to the center of the robot.

After finishing the leg and chassis design, we redesigned the box to hold the ultrasonic sensors, servo, and other electronic parts. First, we made the box longer to hold the 3DoT board and have space for the ultrasonic sensor and cables.

Figure 7: A transparent image of the redesigned box.

A transparent image of the redesigned box. I cut out holes in the front of the box to fit the ultrasonic sensor. A hole in the front bottom side of the box was also cut out for wires to come into the box from the two motors in front. I created small panels sticking out from the bottom side of the box so the 3DoT board will fit perfectly between the panels. Finally, I created a roof with a servo mounted to it so that the servo will act as the weight shifting mechanism.

Figure 8, Final 3D Model.

Final 3D model of the robot. It contains the servo, ultrasonic sensor and the other electronic components in the box. There is a two gear system on each side of the robot.

Conclusion

There are a few things I would fix for this model. Because there are gaps between components in the model, it would be nice to hide some of the wires with panels that covered these gaps. I would also fix some of the screw holes for the model. In Solidworks, it is easy to reach these holes to put screws in, but for the actual model, it can be impossible to reach. Finally, I would adjust some holes in the box. When you 3D print the part, the 3D printing can deform the part so that your dimensions for size and holes are off. We had to sand down the parts to fix that. The issue for this type of design is that these components were not meant to be 3D printed. The design worked as intended but could be improved on. A solution to this is to redesign each component so that it is held together by screws instead of the connections and edges already on the kit components. Redesigning the components to basic connector shapes and using more screws to hold each part together will allow for easier 3D printing but maintaining the function of this design.

References

  1. https://www.adafruit.com/product/1841
  2. https://grabcad.com/library/theo-jansen-type-biped-walking-robot-strandbeest-1
  3. https://drive.google.com/drive/folders/10GJDTiolPUA9C2i3yNMLMN5Ndx_wRcU-?usp=sharing

Spring 2018 AT-ST Cable Tree

By: Samuel Yoo (Electronics and Controls Software Engineer)

Danny Pham (Manufacturing and Design Engineer)

Verified By: Intiser Kabir (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents

Introduction

This blog post shows the wiring design for the AT-ST robot. It will show how the wires connect from the board inside the box to the servo, ultrasonic sensor, and the motors outside of the box on the final model images.

The wiring for the AT-ST robot contains only ribbon wires. There were two different types of cables, one with the female-to-female connector and the female to male connectors. The female to male connectors were store bought and used for the ultrasonic sensor and the servo. The female-to-female connectors were made from components and used for the dc motor only.  There are two methods of making these type of wires; the first one is soldering a wire with a male connector and a female connector with male pins. After soldering the part together place, shrink wire on the connections and heat up the wire to get a good conductivity. The other method is getting a ribbon cable, housing, and female pins. With the listed components, first, remove some of the plastic off the wire to get the metal. Then taking the female pins, crimp them on the ribbon cable. After that step is done for each wire piece, insert them into the housing.

Wiring 

  • Wires – Red
  • Board – Black box Green outline
  • Connectors – Black box

Figure 1: Front Image of the wiring design.

Description: Front image of the wiring design. It shows wires connecting from the motors through the hole in the box to the board. The wires connect from the ultrasonic sensor inside the box directly to the board.

Figure 2: Top View of the wiring

Description: Top image of the wiring. The wires connect directly from the servo to the board.

Figure 3: Side view of the wiring design.

Description: Side view of the wiring design. It shows the wires connecting to the board from the servo and the motors.

Figure 4: Front angle view.

Description: Front angled image of the board. It shows a better view of the hole on the bottom side of the box and the wires connecting from the motors into the box.

Conclusion

The connectors for the wiring made it much easier to connect and disconnect the electronic parts. Some other issues with this design are that since the final model is not closed, there are a lot of gaps that wires come through that aren’t hidden. A simple solution to hide the wires is to design new panels that would go on the front that will hide the motor wires.

References

  1. Final 3D Model Blog post: Linked when Published
  2. Interface matrix: https://www.arxterra.com/at-st_interface_matrix/

Spring 2018 AT-ST Theo Jansen Leg

By: Danny Pham (Manufacturing and Design Engineer)

Verified By: Intiser Kabir (Project Manager)

Approved By: Miguel Garcia (Quality Assurance)

Introduction

The Theo Jansen Leg design is a design by Theo Jansen consisting of rods connecting to each other. One of the rods in the design is a static point that holds the whole leg in place and another rod which rotates in a circular motion. By rotating this specific connector in a circular motion, the whole leg moves in a circle and creates a walking motion.

Figure 1: screenshot of animation of Theo Jansen leg motion.

Description: The gif of the Theo Jansen leg shows the simulation of a walking motion by rotating a connector in a circular motion.

The reason the Theo Jansen Leg works well with motors is because the connector spins in a circle similar to a motor. One way to look at this is spinning a crank wheel.  If you attach a motor to the connector, the motor will spin that connector in a circular motion and create the walking motion for the leg. The motor is essentially turning a crank wheel that allows the rest of the leg to simulate the walking motion. A servo would not work with this design because servos only turn 180 degrees. A motor can spin this continuously and allow the leg design to walk forward without any interruptions.

Figure 2: Measurements regarding the Theo Jansen Leg Design.

Description: These measurements are used by Theo Jansen for his leg design. The green circle represents the connector spinning in the circular motion or the crank wheel. The red line represents the circular motion that the leg moves in to create the walking motion.

One main issue to look out for using this design is controlling how the foot pivots on the ground while walking. Keeping the foot parallel to the ground is essential in order to have stability in the leg while walking. If the foot is not parallel to the ground when it is in contact with the ground, the motion is disrupted by the angle of the connector next to the foot. This will disrupt the stability of the leg and cause the leg to fall over or not walk at all.

Conclusion

The Theo Jansen leg design works well with motors. This leg design will work with our requirement of moving the legs of our robot with motors. The main priority for this design to function with our robot is having stability while the motor is running the leg. The parallel foot to the ground is essential for keeping the leg motion smooth and stable.

References

  1. https://en.wikipedia.org/wiki/Jansen%27s_linkage
  2. http://scottburns.us/walking-mechanism/
  3. https://en.wikipedia.org/wiki/Jansen%27s_linkage#/media/File:Strandbeest-Walking-Animation.gif