Fall 2016 Velociraptor (W): Fritzing Diagram

By: Taylor Farr (Electronics and Controls)

Approved By:

– Lam Nguyen (Project Manager)

– Ryan Daly (Division Manager for Electronics & Controls)

Table of Contents

Requirements

  • The velociraptor shall utilize a printable circuit board (PCB).
  • The velociraptor shall use a 3DoT board library and utilize I2C to communicate with sensors, A/D converter, and GPIO.

Introduction

In order to design a PCB that will be placed on top of the 3DotBoard, several drafts will be used before we find our final design. The Fritzing software will be used to design the PCB. It will also help us see where the necessary connections to be mad will be. This will help our systems engineer route the cable tree.

fritzingimage

Diagram 1: Fritzing Diagram

In the center of Diagram 1 is a model of the 3dot board modeled by Alan Valles (biped E&C Wednesday). The 3dot board has an internal battery connection, an external battery connection, two servo headers, two motor connectors, and a female connector for the external PCB. For our initial design, we have two external batteries to be used for power and as weights for the head and tail. It is also seen that there will be two servos. One servo is to control the movement of the head and tail. The other servo was to be used to control the linear actuators which would change the linkage that controls the leg movement. 2 dc motors are seen to be used to drive the legs. For the I2C connection, everything here will be on the PCB. The I2C pins have 4 pins. One for power, one for ground, one for serial clock, and the last one for serial data. On the data sheet for each device, we can find where all the matching connections are. The red device is the IMU that we will use. It essentially requires to be connected to Vcc, ground, serial clock, and serial data. This is the same case for the A/D converter which is the blue device on the bottom right corner of the figure. Connected to the A/D converter is the two rotary encoders.  These require to be connected to power and ground. The signal from those are connected to the inputs of the A/D converter. The final unit on our PCB is the GPIO port. The GPIO port is I2C compatible, and it is used to connect to the stepper motors. They will act as outputs that will drive tiny stepper motors.

Conclusion

Now that the Fritzing design is complete, we have a better understanding of what our PCB design will be like as well as the wiring of the system. All of the components that will be on the PCB are I2C compatible, so there is no problem.

Resources

[1] http://web.csulb.edu/~hill/ee400d/Technical%20Training%20Series/07%20FritzingDocumentation.pdf

Fall 2016 Velociraptor: EagleCAD schematic

By Taylor Farr (Electronics and Control)

Approved By:

– Lam Nguyen (Project Manager)

– Ryan Daly (Division Manager for Electronics and Control)

Table of Contents

Requirements

L1 – 9: The velociraptor shall utilize a printable circuit board (PCB).

L1 – 10: The velociraptor shall use a 3DoT board library and utilize I2C to communicate with sensors, A/D converter, and GPIO.

Introduction

After the Fritzing design is complete an EagleCAD schematic has to be designed to create a PCB and move the project forward. EagleCAD is a software program that allows the user to place components on the board, and wire all the connections properly. Pins such as I2C pins can be connected across the network.

eaglepicture

Figure 1: Eagle Schematic

Here, all of the components are seen with all of the connections visualized. In the top corner is the 3dot board. The external battery connection is connected to the output of the LDO (more on this later). The two servos and two motors are connected to the 3dot board. On the top right is the analog to digital converter. It is wired correctly according to the datasheet. It allows for four inputs. Two inputs will be used for each rotary encoder. On the middle left contains all of the connections. The female connectors for the IMU are on the left. To the right of that is the connections for the rotary encoders. The connections for the stepper motors are on the right. These connections connect to the stepper motor driver that is on the right. The stepper motor driver is connected to the GPIO expander located in the middle on the bottom. On the bottom left, the LDO is found. The external batteries that will be on the head and tail are going to be inputs to the LDO. The LDO regulates the output down to 5 volts and 1.5 amps. The connects to the external battery connector on the 3dot board in order to drive the servos at 5 volts. To the right of the LDO are some light emitting diodes to show that the PCB is working.

Conclusion

The completed fritzing diagram and the Eagle schematic pushed our final design closer to the  completed product. We now have a concrete version of our schematic. This is then sent to the manufacturing engineer to order the external PCB layout.

Resources

[1] http://web.csulb.edu/~hill/ee400d/Technical%20Training%20Series/10%20Schematic%20Capture%20with%20Eagle%20CAD.pdf

[2] http://arxterra.com/fall-2016-velociraptor-w-fritzing-diagram/

Fall 2016 Velociraptor (W): Mass and Power Report

By Gifty Sackey (Mission, System, Test Engineer)

Approved by: Lam Nguyen (Project Manager)

Table of Contents

Mass Report

The mass of the Wednesday Velociraptor was 348 grams. As part of the level two requirements, the mass of the robot should not be greater than 350 grams. The mass of the robot was an important thing to consider because the DC motors needed to be able to drive the mass allotted.

In calculating the mass of the robot, a motor torque test was performed in order to make sure that we were aware of any constraints. The Wednesday Velociraptor is controlled with two GM 9 motors which based on the torque test can drive up to 1000g.  With our Velociraptor having an overall weight of 348 grams, we were confident that the DC motors would be able to drive the mass.

Power Report

This table down below is a representation of the power report schedule that was created by the Velociraptor senior design group. For the mass report, there were a series of tests that were performed in order to test whether the Velociraptor would be supplied with enough power to move it. This duration request was necessary to satisfy the requirement which stated that: “The 3rd generation Velociraptor shall operate for a minimum of one hour with an external power source minimum of 1560 mA-hours.

In order to successfully pass this requirement, the measured current drawn from the Velociraptor needed to be based on the components needed to accomplish our goal. First thing was to determined the stall current from each component and narrow down a type of battery our robot needed. After the battery was determined we needed to find an operational current rating from our components which were the 2 DC motors, one servo, and two stepper motors.

Change in design

Our project objective changed by gearing the projects direction to static walking as opposed to dynamic walking. As a result we took out components out from our design such as the two stepper motor driver. With our new design a test was performed in order to fulfill this requirement and was successfully passed. An in depth procedure of the testing performed can be found in the test validation and verification test plans.

Test Plan link:

 

Fall 2016 Velociraptor (W): Material Trade-Off Study

By Aaron Choi (Manufacturing Engineer)

Approved by Tim Haddadian (Manufacturing Division Manager) and Lam Nguyen (Project Manager)


Table of Contents

Requirements


Level 1-1 The 3rd generation Velociraptor (W) budget shall not cost more than $102. This estimate is based upon the customer and project team agreement on October 7th, 2016.


Introduction


For the materials, cost and mass of the materials were taken into consideration to meet the Level 1-1 cost requirement.


Materials


For choosing the material, cost and mass of the material should be considered to meet cost budget. The materials chosen for trade-off are the following: aluminum sheets, birch plywood, polylactic acid (PLA), acrylonitrile-butadiene styrene (ABS), and acrylic sheets. Since it is difficult to compare materials that are sold in different sizes, a set dimension is chosen, a volume of 6 inch by 3 inch by 0.125 inch. The reason for the 0.125 inch thickness is due to 3mm thickness limitation for 3D printing. The size 6 inch by 3 inch is chosen for further stress test to analyze which material is the strongest and which is best utilized for maintain the structure of the robot without breaking.


Calculations


Using the set volume, the mass of the volume of material is calculated given the density of the material and cost per cubic inch. The table below shows the given cost and density of the materials.

table-material-cost

table-calculation-resultsTable 1. Materials Cost

Calculations document

From the given cost and density, the cost and mass of the volume is calculated. The work shown for the calculations are also linked below.

table-calculation-results

Table 2. Calculation Results

Link: Material Cost and Mass Calculations


Conclusion


In conclusion, Baltic birch plywood is the lightest and cheapest material calculated. This would require laser cutting for the designing components of the Velociraptor. If components are too complex to laser cut, then 3D printing will be used. For the 3D printing filament, ABS will be chosen over PLA. Further stress tests will be completed through experimentation.


Resources


[1] http://www.3ders.org/pricecompare/

[2] https://www.metalsdepot.com/catalog_search.php?search=s318T6

[3] http://www.woodworkerssource.com/shop/product/18balpack3.html

[4] http://www.homedepot.com/p/OPTIX-18-in-x-24-in-x-0-093-in-Clear-Acrylic-Sheet-Glass-Replacement-MC-05/202038047

[5] https://www.botfeeder.ca/abs-vs-pla/

[6] http://www2.glemco.com/pdf/NEW_MARTERIAL_LIST/Alumina%206061-T6.pdf

[7] http://www.engineeringtoolbox.com/wood-density-d_40.html

[8] http://www.plaskolite.com/Media/Get/144?inline=True

Fall 2016 Velociraptor (W): Requirements

By: Gifty Sackey (Mission, System and Test Engineer)

Approved by:

– Lam Nguyen (Project Manager)

– James Lee (Division Manager for Mission, System and Test)


Level 1 Requirements


  1. The 3rd generation Velociraptor (W) budget shall not cost more than $102. This estimate is based upon the customer and project team agreement on October 7th, 2016
  1. The 3rd generation Velociraptor (W) biped robot shall demonstrate its capabilities during EE 400D Final for Wednesday on December 14, 2016 according to the CSULB Calendar 2016-2017 Final at 9:00 am.
  1. The 3rd Generation Velociraptor (W) should resemble a Velociraptor of the Theropodous Dinosaur Suborder. [1]
  1. The 3rd Generation Velociraptor (W) will use a 3DoT board embedded system.
  1. The DC motor can support the mass of the robot with a 50% margin
  2. The 3rd generation Velociraptor shall operate for a minimum of one hour with an external power resource minimum of 1560 mA-Hours.
  1. The 3rd Generation Velociraptor (W) shall use an external PCB with an I2C interface as the 3DoT board.
  1. The velociraptor shall use a 3DoT board library and utilize I2C to communicate with sensors, A/D converter, and GPIO. [4]

Level 2


  1. The 3rd generation Velociraptor shall weight no more than 350 grams
  2. The 3rd Generation Velociraptor (W) shall turn 0-360 degrees on one leg under one minute
  3. The 3rd generation Velociraptor (W) shall create custom commands to be used with the Arxterra Control Panel
  4. The velociraptor shall use the IMU MPU6050 that tracks acceleration and gyration that can provide X and Y angles to +/- 6.5 degree precision
  5. The velociraptor shall use a rotary sensor that tracks at 90 degrees’ precision to determine the position of leg. The leg position controls the head and tail location
  6. The velociraptor shall support the mass of the robot with a 50% margin, 522g in a 0 degree position (Footstep is down on the ground)
  7. The velociraptor shall support the mass of the robot with a 50% margin, 522g in a 90 degree position (Center of foot path on ground)
  8. The velociraptor shall support the mass of the robot with a 50% margin, 522g in a 180 degree position (Time before foot goes to ground)
  9. The velociraptor shall control the head and tail movement with a single servo using gear trains
  10. The head and tail shall use one servo that operates at an optimal torque of 18-45mN-m to maintain center of gravity
  11. The CoG on the axis of the H/T shall be controlled by one servo while being placed over the foot
  12. The velociraptor will not exceed a rating of 1A with the use of the LDO with the external PCB
  13. The velociraptor shall utilize custom telemetry commands that will be displayed on the Arxterra Control Panel
  14. The 3rd generation velociraptor shall walk on a flat surface
  15. The 3rd generation velociraptor shall walk on a surface texture
  16. The 3rd generation velociraptor shall walk on an incline and decline surface
  17. The 3rd generation velociraptor should perform dynamic walking while on a flat surface
  18. The 3rd generation velociraptor should perform dynamic walking while on a surface texture
  19. The 3rd generation velociraptor should perform dynamic walking while on an incline and decline.
  20. The 3rd generation velociraptor should perform dynamic walking while on a step

Resources


[1]  http://www.mokonut.com/app/com.bkminegames.b005/dinosaur-mods-for-minecraft/

Fall 2016 Velociraptor (W): Bluetooth Commands

By: Gifty Sackey (Mission, System and Test)

Approved by:

– Lam Nguyen (Project Manager)

– James Lee (Division Manager for Mission, System and Test)

Introduction

This blog post will be discussing velociraptor’s communication system; the ArxRobot app and the Arxterra Control Panel that is used to control the robot. At this point in time, the velociraptor group has been able to settle on a design for the velociraptor robot and is currently working on the systems and electronic controls for the robot.

Commands

The velociraptor robot will be able to receive commands through two main modes. It will be either through the community mode or remote control mode. In the event that the velociraptor will be receiving commands from the android phone, the Arxterra app would need to be configured into a remote control mode to make it possible. On the task bar located on the first line of your app, select the button that resembles the app logo merged with the phone. Once the user selects this, they can then select remote control mode.  If the user would like to change the control settings back to the control panel, follow the steps above regarding which tab button to select but instead choose the community mode to activate the control panel. When the control commands are sent from an android phone to the velociraptor robot, this communication is made possible with the help of the HM-10 Bluetooth module embedded in the 3DoT board with the help of WIFI or data services from the phone company.

a

Diagram 1: This shows when the robot has been located before boarding.

b

c

Students are allowed to have custom commands on the app and have the commands be unique to their robot. Command types must have their own unique identifier called a Command ID. These ID’s can be chosen from a range of 0x40 (64) to 0x5F (95). For our velociraptor group, we will have a custom command for static walking. The custom command for walking is being defined with the hexadecimal number 0x42. The static walking custom command has been created as a Boolean type whereby the user is allowed to either select an on or off. By default, the static walking custom command is created to be in the off mode.

d

The following image provided below displays the control panel after the Velociraptor robot has been boarded from the control panel. On the control panel, towards the right side of the screen the app connects to the phone’s camera. Aside from the custom commands that can be designed by students, there are some examples of telemetry commands that are embedded in the application.  Amongst these are options for the user to be able to display the phone’s battery, roll and pitch. Students are able to access these modes through the robot capabilities configuration.

Conclusion

In order to have the custom commands displayed on the control panel, the user has to select the community mode. On the other hand, to be more secure with the robot and its commands, users are also allowed to control the robot using the remote control mode option instead. When user’s control the robot from the remote control (phone), they are limited with the options and commands they see on the screen.

e

Diagram 1: This shows when the robot has been located before boarding.

f

Diagram 2: Clicking on the green robot allows students to board the robot

g

Diagram 3: Shows the communication to the phone’s camera

Fall 2016 Velociraptor (W): PCB Layout

By: Aaron Choi (Manufacturing Engineer)

Edited and Approved by:

– Lam Nguyen (Project Manager)

– Tim Haddadian (Division Manager for Manufacturing Engineer)

 


Table of Contents

Requirements

L 1-9 requirement states the Velociraptor shall have an external PCB with an I2C interface which will be similar to the 3DotBoard


Introduction


To fulfill the Level 1-9 requirement, a layout of a custom PCB with Surface Mount Technology (SMT) discrete components will be implemented. This layout will be created through EagleCAD.  Once the layout is carried out, approval must be given from Professor Hill or the class President Fabian Sasuke.


Design


The design of the PCB layout revolved around the physical dimensions of the 3DotBoard. The idea is to place the custom PCB above the 3DotBoard. Female pin headers of the PCB will connect to the male pin headers on the 3DotBoard. The battery of the 3DotBoard limits the vertical distance from the PCB to 3DotBoard. This would affect the type of pin headers and connectors used. To avoid the physical constraints, the PCB shall have an L-shape, leaving room for pin header connections to connect properly.

figure-1

Diagram 1: The figure above shows the SolidWorks model of our PCB.

For the placement and wiring components, rules were carried out following guidelines and tutorials from SparkFun [1] and Professor Hill’s PCB training [2].  The wires were set to a 45 degree angle, the decoupling capacitors were placed close to the IC components, and none of the wiring overlaps.

The placement of the IC components were prioritized on the top layer. The reason for this was to utilize a SMT solder paste stencil for only the top layer. However, due to wiring, one of the IC components were placed on the bottom layer. The IC component placed on the bottom layer shall be hand soldered and utilizing a heat gun. The parts list chosen are given in Table 1 below.

figure-2

Table1: Parts list ordered from DigiKey.

The final PCB layout is given below.

figure-3

Diagram 2: The Top Layer wiring of the custom PCB.

figure-4

Diagram 3: The Bottom Layer wiring of the custom PCB.


Conclusion


figure-5

Diagram 4: PCB layout with ground planes.

Diagram 4 shows the final PCB layout for the custom PCB design. The custom PCB will be powered by 7.4V external Li-Po batteries. To bring down the voltage, a LDO was incorporated within the PCB. Stepper motor drivers were implemented for the linear actuators, which are micro stepper motors. The connectors for the IMU MPU-6050 were pin headers so that the MPU-6050 can simply be connected to the pin headers without any soldering. After running the Design Rule Check (DRC), no errors were found. The PCB will be ordered from OSH Park and an OSH Park DRC will be carried out.


References


[1] https://learn.sparkfun.com/tutorials/using-eagle-board-layout

[2] http://web.csulb.edu/~hill/ee400d/Technical%20Training%20Series/11%20PCB%20Layout%20with%20Eagle%20CAD%20(Working%20Stencil%20Addition).pdf

Fall 2016 Velociraptor (W): Control Algorithm #1

By: Taylor Farr (E&C)

Approved by Ryan Daly (Division Manager for Electronics and Controls)

Lam Nguyen (Project Manager)


Table of Contents

Fulfilled Requirements


  1. The Velociraptor shall statically walk.
  2. The Velociraptor should dynamically walk

In order to fulfill these requirements, a software algorithm needs to be implemented that reads the rotary sensors and move the dc motors and servos such that it is able to walk. Since the Velociraptor is using dc motors for the legs, rotary encoders need to be utilized so that the system knows the rpm and position of the motors at all times. No two dc motors are the same, so the pwm signal sent to the motors will vary for each otherwise the robot will be unable to walk. For our final design, we intend to use potentiometers for our rotary sensors.


Critical Design Review – Control Algorithm


Approach

For our CDR demonstration, we intended to use the potentiometers, however, this proved to be difficult to implement due to the size. Instead, we used optical sensors. The optical sensors behave like a switch. An led emits light while a BJT senses light. We then incorporated two circles with black ink across the diameter.

Materials

  • 2 gm9’s (DC motors)
  • 2 optical sensors
  • 1 servo
  • 3DoT Board

Control Algorithm – Summary


The algorithm is simple:

  1. Move the servo 30 degrees left (This will shift the head and tail over the left leg.).
  2. Move both dc motors 180 degrees (This will shift the right leg forward as the left leg moves and holds all the weight).
  3. Move the servo 60 degrees right (so the center of mass is over the right leg).
  4. Move both dc motors 180 degrees (This will shift the left leg forward as the right leg moves and holds all the weight).
  5. End

The algorithm uses a for loop to gradually move the servo to the desired position. Following that is a while loop. In the while loop, both motors move forward until the optoreflective switch reads a 0 output (An output of 1 indicates that the switch is looking at a white surface, and an output of 0 indicates the black line). There are two switches that need to be read, so some if statements are necessary in case one motor has moved 180 degrees before the other motor. After each sensor reads 0, each motor will stop. This will then use the for loop again to move the servo in the opposite direction. This subroutine is under moveHandler so that the systems engineer can use their Arxterra app to call the function using Bluetooth.

optical-sensor

Figure 1 – Dc Motor with Optical Encoders

 


Control Algorithm – Code


void moveHandler (uint8_t cmd, uint8_t param[], uint8_t n)

{

ReadIR();

for (pos = pos; pos<=120; pos++)

{

servo_pin_13.write(pos);

delay(15);

SoftwareServo::refresh();

}

ReadIR();

motorA.go(param[0],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

//in my case I used 1 to move forward and a 255 for max speed

motorB.go(param[2],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

delay(500); // need to calculate delay

ReadIR();

// IR = digitalRead(sig);

//Serial.println(IR);

// IR2 = digitalRead(sig2);

while ((IR!=0)&&(IR2!=0))

{

motorA.go(param[0],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

//in my case I used 1 to move forward and a 255 for max speed

// IR = digitalRead(sig);

ReadIR();

motorB.go(param[2],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

// IR2 = digitalRead(sig2);

ReadIR();

}

if ((IR==0)&&(IR2!=0))

{

motorA.brake();

ReadIR();

while (IR2!=0)

{

motorB.go(param[2],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

//   IR2 = digitalRead(sig2);

ReadIR();

}

if (IR2==0)

{

motorB.brake();

ReadIR();

}

}

if ((IR!=0)&&(IR2==0))

{

motorB.brake();

ReadIR();

while (IR!=0)

{

motorA.go(param[0],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

//   IR = digitalRead(sig);

ReadIR();

}

if (IR==0)

{

motorA.brake();

ReadIR();

}

}

//IR = digitalRead(sig);

//IR2 = digitalRead(sig2);

ReadIR();

for (pos=pos; pos>=60; pos–)

{

servo_pin_13.write(pos);

delay(15);

SoftwareServo::refresh();

}

motorA.go(param[0],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

//in my case I used 1 to move forward and a 255 for max speed

motorB.go(param[2],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

delay(500); // need to calculate delay

//  IR = digitalRead(sig);

//  Serial.println(IR);

//  IR2 = digitalRead(sig2);

ReadIR();

while ((IR!=0)&&(IR2!=0))

{

motorA.go(param[0],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

//in my case I used 1 to move forward and a 255 for max speed

// IR = digitalRead(sig);

ReadIR();

motorB.go(param[2],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

// IR2 = digitalRead(sig2);

ReadIR();

}

ReadIR();

if ((IR==0)&&(IR2!=0))

{

motorA.brake();

ReadIR();

while (IR2!=0)

{

motorB.go(param[2],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

// IR2 = digitalRead(sig2);

ReadIR();

}

if (IR2==0)

{

motorB.brake();

ReadIR();

}

}

if ((IR!=0)&&(IR2==0))

{

motorB.brake();

ReadIR();

while (IR!=0)

{

motorA.go(param[0],0x40);// go(direction,pwm) –> direction: FORWARD =1, BACKWARD =2, BRAKE = 3, RELEASE = 4; pwm range(0-255) used to control the speed of the motor

// IR = digitalRead(sig);

ReadIR();

}

if (IR==0)

{

motorA.brake();

ReadIR();

}

}

}  // moveHandler

void ReadIR()

{

// Read in the ADC and convert it to a voltage:

int proximityADC = analogRead(QRD1114_PIN);

int proximityADC2 = analogRead(QRD1114_PIN2);

if (proximityADC < 630){

IR = HIGH;

}

else {

IR = LOW;

}

if (proximityADC2 < 630){

IR2 = HIGH;

}

else {

IR2 = LOW;

}


Conclusion


We were able to get the motors to move successfully. However, problems arose when we connected this to our prototype. There was more friction in the wheels than anticipated. Another issue is making sure that the legs start off in the correct position. If not, it is very likely that the robot will become unstable, and fall over.


Resources


  1. http://web.csulb.edu/~hill/ee400d/Technical%20Training%20Series/PID%20Controller/

Fall 2016 Velociraptor (W) Preliminary Project Plan

By: Lam Nguyen (Project Manager)

        Hal Vongsahom (System Engineer)

Table of Contents

Work Breakdown Structure (WBS)

By: Lam Nguyen (Project Manager)

The Work Breakdown Structure in Figure 1 organize specific tasks to three section for the Velociraptor project. These three sections are assigned to division members in Mission, System, and Test, Electronics and Control, and Manufacturer. The overall diagrgam is overseen by the Velociraptor’s Project Manager to delegate these task to each division member. Each branch lists the responsiblity of the division member to meet the overall objective in completing the project.

work-breakdown-structure

Figure 1

Project Schedule

By: Lam Nguyen (Project Manager)

In order to meet deadlines for the Velociraptor Project, a project schedule was made to keep track of completed tasks. This schedule will not only benefit both the project manager and the division members but will also help move the project forward to build the robot.

Top Level Schedule

Top Level Schedule was created to keep track of tasks the project manager assigns each team member in Figure 2. Each task has a projected deadline assigned to each division member. Each deadline that is completed will help guide the team to focus on tasks unattended. The overview timeline of project in Figure 3 shows

 top-level-schedule

Figure 2

Top Level Overview

Figure 3

System/Subsystem Level Tasks

The System/Subsystem Level Tasks outlines the tasks for each division member and provides a projected time for each division members.

System and Subsystem level

Figure 3

system-and-subsystem-level-overview

Figure 4

Burn Down and Project Percent Completion

(TBA)

System Resource Reports

By: Hal Vongsahom (System Engineer)

Power Report

power

Figure 5

The power report is an overview of the initial power draw of the system. However, an important note is that the manufacture website or data sheet only listed power draw in current for all the components. Therefore, the power draw was calculated using Ohm’s law. The power report has a minimum and maximum power draw. A minimum power draw is when the velociraptor is not walking. A maximum power draw is when the velociraptor is walking. The measured power column is left blank at this moment. The group have not obtained any of the hardware to physical measure the current draw. However, the expected margin can give a rough estimate of the actually current.

The servos power draw was collected from the manufacture web site [1]. A total of three servos will be used. One servo to control the head, the second to control the tail, and the third is to control the threaded rod that will shift the center of mass accordingly. The total power draw for the three servos use the most power of the entire system.

The two DC motor comes second in drawing the most power for the system. The data was collected from the hardware website [2]. One DC motor will use for the right leg, and the other DC motor for the left leg.

The I2C and the MPU-6050 data was collected from the manufacture data sheet [3, 4]. The power draw for the I2C and MPU-6050 are not significant.

The 3Dot board data was collected from last semester Spider bot [5]. The Spider bot also use a 3Dot board last semester and measured actually values to verify that the ranges are correct. As a result, the velociraptor may use Spider bot data to factor into our initial power estimate.

Overall, the power is sufficient to operate the system. In addition, a 3,387 mW contingency is available for the system for other uncertainty.

Mass Report

mass

Figure 6

The goal of this semester velociraptor is to weigh less than 900 grams. The mass of the MPU-6050 was gathered from the manufactured data sheet [3]. The mass of the MPU-6050 is very small and does not factor heavily in the project. The mass of the I2C is collected from the website [4]. The mass of the I2C also plays a small part. The mass of the 3Dot board was collected from the Spider bot last semester. Again, they were able to accurately measure the mass of the 3Dot board which justify it in this report.

The mass of the servo is collected from the manufactured website [1]. Since the quantity is in three, and it is acting as the velociraptor muscle. This add a decent amount of weight to the project. The DC motor mass was also collected from the website [2]. The quantity of the DC motor is two and adds 36 grams to the project. The battery mass of the battery is found online data sheet [6]. There will be two battery use in this project which ass 63.5 grams which is the second highest mass in the project.

The largest mass comes from the frame of the velociraptor. The frame of the mass was calculated using the total mass of the previous semester project minus the components mass of this semester [7]. The justification for using last semester mass is because their project was successful, therefore, this semester can factor that into this mass report for a good estimation.

Project Cost Estimate

By: Hal Vongsahom (System Engineer)

cost

Figure 7

The total project budget for this velociraptor project is 400 dollars. The PCB, Frame, and prototype cost for this semester velociraptor cost report was borrowed from last semester velociraptor [7]. Last semester project actually spent the funds approved by the customer. Therefore, a good estimation can be calculated in this cost report. Also to note, these parts are the most expensive resources of the project.

The MPU-6050, I2C, Battery, servo, threaded rod, and DC motor cost was collected from the retailer’s website [3,4,6,2,3,1]. The DC motor and servo are the second most expensive component for this project. The data for the system resource reports link mass and cost together. The more mass the component has, the more cost that component shall have as well.

Last note, the 3Dot board is provided by the customer, therefore, it is not factor in the cost.

Overall the initial cost is well within the project budget with enough budget to cover addition cost for uncertainty.

Resources

[1] Addicore SG90 9g Mini Servo. (n.d.). Retrieved September 28, 2016, from http://www.addicore.com/Addicore-SG90-Mini-Servo-p/113.htm

[2] https://www.pololu.com/product/182/specs

[3] https://www.cdiweb.com/datasheets/invensense/PS-MPU-6000A.pdf

[4] https://cdn-shop.adafruit.com/datasheets/PCA9685.pdf

[5] https://www.arxterra.com/spring-2016-3dot-spider-bot-preliminary-design-document/

[6] https://www.bhphotovideo.com/bnh/controller/home?O=&sku=1018868&gclid=Cj0KEQjw1K2_BRC0s6jtgJzB-aMBEiQA-WzDMZ4G93fpLNmiUX-CGjONHm0czidWkbbSiUMk3B_luoAaAqM68P8HAQ&Q=&ap=y&m=Y&c3api=1876%2C92051678402%2C&is=REG&A=details

[7] https://www.arxterra.com/spring-2016-velociraptor-project-summary/#Size_Weight

[8] https://www.grainger.com/category/threaded-rods/bolts/fasteners/ecatalog/N-8k5

Fall 2016 Velociraptor (W): Preliminary Design Documentation

By: Lam Nguyen (Project Manager)

Hal Vongsahom (System Engineer)

Taylor Farr (Controls Engineer)

Aaron Choi (Manufacture Engineer)

Program Objective

Lam Nguyen (Project Manager)

The Fall 2016 Velociraptor is inspired by both the biped Titrus-III robot and the Theo Jansen biped robot. The Titrus-III was developed by the Tokyo Institute of Technology and the Theo Jansen biped robot was designed by the Gakken company. The objective for this year’s project is to avoid utilizing servos by implementing alternative motors to meet the customer’s demand. The most compatiable design for using alternative motors is the Theo Jansen biped robot known to model human giat motion that utlize continuous rotion with linkages.

Mission Profile

Lam Nguyen (Project Manager) 

The Fall 2016 Velociraptor had the wonderful opportunity to be included in this years Game Arena called “Save the Humans”. Representing the dromaeosauridae theropod dinosaur from the Cretaceous period the fall the the Velociraptor will navigate through the game arena terrain and hunt down the Biped robot before reaching the safe-haven zone in a time duration of 30 minutes.

The Fall 2016 Velociraptor will demonstrate its navigation cabablities by operating telerobotically from the Arxterra control panel. With a fixed view of the game arena the Velociraptor will navigate through both flat surfaces and uneven surfaces such as linoleum and cardboard.

Requirements

Program Level 1 Requirements

Lam Nguyen (Project Manager)

  1. According to the CSULB Fall 2016 Academic Calender, the Velociraptor biped robot shall be tested by Wednesday, December 14, 2016, the last day of EE400D [1].
  2.  The Fall 2016 Velociraptor biped robot budget shall be a limit of $400.00 [2].
  3.  The Fall 2016 Velociraptor biped robot shall participate in the game “Save the Humans” defined by the game committee. [3]

Project Level 1 Requirements

Lam Nguyen (Project Manager)

  1. The Velociraptor biped robot shall resemble dromaeosauridae theropod dinosaur from the Cretaceous period. [4]
  2. The Velociraptor shall be able to statically walk on the terrains of the game arena.
  3. The Velociraptor shall be able to dynamically walk on the terrains of the game arena.
  4. The Velociraptor shall use Bluetooth communication with the Arxterra Android or Iphone application.
  5. The Velociraptor shall use a 3DoT board with a custom I2C shield.
  6. The Velociraptor shall navigate through the game arena’s terrain.
  7. The Velociraptor shall use a portable power source for the duration of the game “Save the Human”.

References

[1] Time, B. C. (n.d.). Final Exam Fall 2016 Schedule Charts. Retrieved September 21, 2016, from http://web.csulb.edu/depts/enrollment/registration/final_exam/fall_chart.html

[2] Khoivu0814. (2016). Retrieved September 21, 2016, from https://www.arxterra.com/spring-2016-velociraptor-preliminary-project-plan/

[3] Index of /~hill/ee400d. (n.d.). Retrieved September 21, 2016, from http://web.csulb.edu/~hill/ee400d/F’16%20Project%20Objectives%20and%20Mission%20Profile.pdf

[4] Dromaeosauridae. (n.d.). Retrieved September 21, 2016, from https://en.wikipedia.org/wiki/Dromaeosauridae

System/Subsystem Requirements

Project Level 2 Requirements – System Requirements

Lam Nguyen (Project Manager)

Hal Vongsahom (System Engineer)

Taylor Farr (Controls Engineer)

Aaron Choi (Manufacture Engineer)

  1. The Velociraptor shall walk on two feet and use both head and tail to control the robot’s center of gravity.
  2. The Velociraptor shall implement the head and tail to shift it’s center of gravity on one foot in order to statically walk in the game arena’s terrain.
  3. The Velociraptor shall use an accelerometer and a gyroscope to detect its reference to x, y, z space to adjust it’s center of gravity to dynamically walk in the game arena’s terrain.
  4. The Velociraptor shall use an HC-06 Bluetooth to communicated with the Arxterra Application to control the robot’s movement.
  5. The 3DoT board shall receive commands from the HC-06 Bluetooth and decode the command data, and transmit the command data to the I2C to control the actuators.
  6. The Velociraptor shall provide a lithium polymer battery to provide power for the duration of 30minutes from the game objective.
  7. The Velociraptor shall be able to travel up an incline/decline slope no larger than 6.5 degrees.
  8. In order to navigate around the game arena’s terrain the Velociraptor shall travel on cardbaord and class room floor, uneven surfaces of the terrain shall be no larger than 0.5 cm.

Subsystem Level 2 Requirement

Taylor Farr (Elecontrics Engineer)

  1. In order for the velociraptor to be able to operate properly, an input and output system must be designed. For our inputs, we will be using a digital accelerometer to measure acceleration as well as a gyroscope to determine the position from a neutral point at any given time. [1] & [4]
  2. The accelerometer shall be digital in order to reduce coding(Help from Hal). Trade-off studies shall be conducted in order to find an appropriate accelerometer that is compatible with Arduino. [1]
  3. For actuators, motors shall be use to move the Velociraptor forward and performing actions in order to keep it stable. [2]
  4. Servos shall be implemented in the head and tail to move the head and tail to shift the center of mass 30 degrees in either direction. In order to correlate the sensors and actuators, a microprocessor is required to interpret the data at input pins and then provide the appropriate signals to the output pins in order to activate the motors and servos. [2]
  5. The motors for the legs shall provide enough torque to support the 900 grams. Operating speed shall be determined by how fast the velociraptor needs to move in order to control its dynamic walk. The torque necessary to move the robot and support the 900 grams must be taken into consideration. This calls for a trade-off study of motors and servos in order to pick the appropriate ones. [3]
  6. Based on the speed and torque required, trade off studies shall be conducted to find an appropriate power supply that supplies enough current at the appropriate voltage.
  7. Fritzing diagrams shall be utilized in order to map out circuits connected to Arduino that provide appropriate and accurate data. Once this has been established, we will model the electronics in LT Spice, send the circuits to Eagle, and then design the PCB.

Aaron Choi (Manufacturer Engineer)

  1.  In order to meet the customer’s demand in alternative motors the Velociraptor shall use the Theo Jansen Biped robot’s linkages for continuous movement. [5]
  2.  In order for the Velociraptor to operate the mass shall not surpass 1000 grams.

References

[1] MAV-blog. (n.d.). Retrieved September 21, 2016, from http://tom.pycke.be/mav/69/accelerometer-to-attitude

[2] @. (2014). How a Robot Can Keep Its Balance and Stand up Even if it Gets Kicked – Case Study – Smashing Robotics. Retrieved September 21, 2016, from http://www.smashingrobotics.com/how-a-robot-can-keep-its-balance-and-stand-up-even-if-it-get-kicked-case-study/

[3] http://www.robotshop.com/en/gear-motors.html

[4] MAV-blog. (n.d.). Retrieved September 21, 2016, from http://tom.pycke.be/mav/70/gyroscope-to-roll-pitch-and-yaw

[5] @. (n.d.). Theo Jansen-style Biped Robot kit by Gakken. Retrieved September 21, 2016, from https://www.adafruit.com/product/1841

Design Innovation

The team worked off of the creativity presentation, with ideas bouncing back and forth we considered additional problems and applied our research to find a solution. One of the main problems we have considered are the motors which provides a continous rotion for our Velociraptor. Since the customer demands motors instead of servos, that effects the design of the legs as well. For a model to follow we bought a Theo Jansen Biped Robot for further study of the linkages for the legs. We will create a design for the legs and chassis that with less amount of material as possible for prototyping.

Creativity Presentation

Creativity Presentation PowerPoint

System/Subsystem Design

Product Breakdown Structure

Hal Vongsahom (System Engineer)

 

Product Breakdown Structure

Figure 1

The image display on Figure 1. the product breakdown structure.  This is a high overview of the structure flowing from the top down to the structure and component of the velociraptor.

Power

The velociraptor shall be power by a portable supply source. The battery will power the systems 3Dot board, I2C, DC motors, Servos, and the Accelerometer/Gyroscope. This can be thought of as the food and energy necessary for the velociraptor to move.

Software

The software required by the customer is the Arxterra app. The Arxterra acts as a friendly user interface that will help control the movement of the velociraptor. The codes will be written in C++ in Arduino. All of the subroutine will be develop to properly control the movements of the velociraptor.

Communication

The main component to the velociraptor communicating properly is dependent on the Bluetooth. The Bluetooth will receive data packets that must be decoded. The Bluetooth will receive data from the Android phone.

Actuators

The actuators for our system are DC motor and Servos. The DC motor will control the legs to perform walking. The servos will govern the head and tail movement for the velociraptor. Another conceptual way to think of the actuators are it is the muscle of our systems.

Manufacture

This can be considered the bones, and the entire body of our system. The manufacture of the velociraptor head, tail, and body will be printed and constructed. The PCB will also be design and printed out to form the blood vessels of the velociraptor.

Reasoning

The customer requires our velociraptor navigate through the game arena with different surfaces and inclines/declines. Therefore, it is important for the design to incorporate as many DC motors or Servos to not restrict movement of the velociraptor.

Electronic System Design

System Block Diagram

Hal Vongsahom (System Engineer)

3dotboard

Figure 2

A system block diagram above shows the corresponding inputs, power, extended peripheral, outputs, and communication devices that will be use on this project. The image shows the input devices that will be sending data to the microcontroller will be the accelerometer and the wireless Bluetooth device. The communication that will contribute to controlling the velociraptor movement will be the Android phone and the Arxterra application. The portable battery device will power both the microcontroller, the I2C, and the outputs such as DC motors and Servos. This system diagram illustrates the important of the microcontroller acting as the brain for all other components to operate properly.

Interface Definition

Interface

Figure 3

3Dot Board

Figure 4

The above image in Figure 4 below lists all the pins in the Arduino microcontroller. It also gives a clear understanding of how much digital pins and analog pins are on the microcontroller. This can then lead to us designate each pin to control the devices needed for the velociraptor to operate successfully.

Assigned Pins for Input and Outputs

Figure 5

Pins for the velociraptor in the above image

System Resource Map

System

Figure 6

The table above list the system resource. A new requirement this semester from the customer is that we are required to have an I2C board. The 3Dot board is utilizing an Arduino Leonardo and the pins for SCL (Clock line) and SDA (Data line) are limited to one each. Therefore, we extend the SCL and SDA with the I2C board to connect the MPU-6050 accelerometer/gyroscope.

In addition, the primary design for our velociraptor will be using 2 DC motors and 2 servos. The DC motors only require a Vcc and Gnd, and the servos require PWM. If our design requires more DC motor or Servo we can add this on the 3Dot board pins or the I2C board. This will overall give us more flexibility.

Resources

[1] https://github.com/Bouni/Arduino-Pinout & https://www.arxterra.com/spring-2016-velociraptor-preliminary-design-document/

Mechanical System Design

Taylor Farr (Elecontrics Engineer), Hal Vongsahom (System Engineer), & Aaron Choi (Manufacturer Engineer)

Leg Design

Previous generations of the Velociraptor utilized servos in the leg design. The controlled angle of rotation from the servos allowed the Velociraptor to walk statically. However, due to the customer’s demands, servos are not to be implemented within the leg design. Therefore, the Velociraptor shall utilize a DC motor. Since the DC motor use a continuous rotation, the Jansen’s Linkage shall be implemented with the leg design. The Jansen’s Linkage utilizes a joint to be driven by a continuous rotational motion.

Theo Jansen Linkage

Figure 3

In the Figure 3 above, the leg mechanism models a Jansen’s linkage. This system utilizes a fixed point and a rotating point to model the human walking gait.

Resources

[1] AMANDA GHASSAEI: HOME. (n.d.). Retrieved September 21, 2016, from http://www.amandaghassaei.com/files/thesis.pdf

[2] What’s The Difference Between DC, Servo & Stepper Motors? (2015). Retrieved September 21, 2016, from https://www.modmypi.com/blog/whats-the-difference-between-dc-servo-stepper-motors

Design and Unique Task Description

 

Taylor Farr (Elecontrics Engineer)

The previous semester was unsuccessful with dynamic walking due to their sensors. They used an analog accelerometer to measure walking up inclines, and the previous semester did not use a gyroscope. The problem with analog is the converted codes will have tons of lines of codes. Therefore, compile too much memory on the Arduino Leonardo. In addition, there sensors was not accurate because they did not use a gyroscope. Therefore, this semester we are using a gyroscope in our system. This can monitor the displacement of the body from the neutral balance state, and update in real time. Moreover, we will use a digital accelerometer and gyroscope so that the coding will be simpler thus speeding up the processing time.

Sensor Selection

We have selected the MPU0605 as the gyro/accelerometer. The reason we choose this particular device as a sensor is it has both the features of an accelerometer and gyroscope. It also has an analog to digital converter built in.

Motor Selection

Once the sensor has been selected, the next task is to select the appropriate DC motors for the legs. Some options are brushless, brushed, shunt, series, or stepper. From these options, we will conduct trade off studies. Based off these studies, we will select the appropriate motors and servos that satisfy the torque and speed needed based on weight requirements.

Power supply selection

Now that the motors have been determined, we will select the appropriate power supply based on the power consumption of the selected motors. Based on requirements, we will use lithium ion batteries.

Aaron Choi (Manufacturer Engineer)

  1. Project level 1 requirements describe the velocraiptor to statically and dynamically walk. To improve the walking motion, the feet of the Velocraiptor shall implement a toe joint. This toe joint enhances performance and stability of biped robots [1], specifically increasing walking speed [2] and reducing energy consumption compared to a flat foot [3]

Resources

[1] Kwon, SangJoo, and Jinhee Park. “Kinesiology-Based Robot Foot Design for Human-Like Walking.” International Journal of Advanced Robotic Systems 9 (2012).http://cdn.intechopen.com/pdfs-wm/41665.pdf

[2] Ouezdou, Fathi Ben, Samer Alfayad, and Bachar Almasri. “Comparison of several kinds of feet for humanoid robot.” 5th IEEE-RAS International Conference on Humanoid Robots, 2005.. IEEE, 2005. http://ieeexplore.ieee.org/document/1573556/?arnumber=1573556

[3] Sellaouti, Ramzi, et al. “Faster and smoother walking of humanoid HRP-2 with passive toe joints.” 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2006. http://ieeexplore.ieee.org/document/4059197/?arnumber=4059197