Spring 2018 3DoT Hexy: Final Project Summary

By:  Eduardo De La Cruz (Project Manager & Manufacturing Engineer)

Approved By: Miguel Garcia (Quality Assurance)

SpiderBot Team:

Eduardo De La Cruz (Project Manager & Manufacturing Engineer)

Raymundo Lopez-Santiago (Mission, System, and Test Engineer)

Kris Osuna (Electronics and Control Engineer)

Table of Contents

Mission Objective

For the Spring 2018 3DoT Hexy SpiderBot project, under the EE400D program, we will incorporate Arxterra’s 3DoT Robotics microcontroller board to design, build, and remotely operate a toy for people ages 8+. Control of the 3DoT Hexy SpiderBot will be accomplished via the Arxterra Mission Control Panel and/or ArxRobot application. 3DoT Hexy SpiderBot is to navigate remotely through a custom-built maze, memorize the path it took, start over, and autonomously travel through the path it took. The 3DoT Hexy SpiderBot is to have the ability to avoid collisions if it encounters other robots in the maze. The overall project is to remain within budget of $250 and be completed by May 15, 2018.

Level 1 and Level 2 Requirements

Level 1 requirements are high level requirements and are broken up into general requirements and specific robot requirements for 3DoT Hexy. All level 1 requirements are branched out to specific system and subsystem requirements (level 2 requirements).

https://www.arxterra.com/spring-2018-3dot-hexy-level-1-and-level-2-requirements/

System Design

System Block Diagram

Due to changes in the maze printing material and the fact that we are no longer using a boost converter, the UV LEDs will no longer be used and instead IR LEDs along with Light sensors will be used to handle intersection detection. Another change that is noticeable is instead of using an 8-channel I2C expander, we are now using a 4-channel I2C expander. The color sensor was removed from the design since we are using light sensors for intersection detection. A new addition to the design is the use of a gyroscope to aid in directional turning and two LEDs to act as eyes of the spider robot. The interface matrix was updated to reflect changes. Only 8-pins from the bottom shield of the 3DoT board will be used.

https://www.arxterra.com/spring-2018-3dot-hexy-system-block-diagram/

Experimental Results/Research

UV Trade Study

The original idea for the autonomous navigation of the maze was to have 3DoT Hexy take a picture, process the image and decide its action based on the image. The camera idea was proven to be too extensive with a high learning curve, so we decided to research other methods for the autonomous navigation through the maze. We decided to look into UV sensors to detect and follow a UV marker line. Since we were not going to use 5V to drive the LEDs, we changed UV LEDs to IR LEDs since the data shows that the UV sensors can not accurately differentiate when the UV LEDs are powered by 3.3V.

https://www.arxterra.com/spring-2018-3dot-hexy-uv-sensors-study/

Motor Type selection and Testing

Factors for choosing the best-brushed motor for 3DoT Hexy included cost, size, voltage rating, and speed-torque relationship. Based on tests performed and since we are using a similar gear system from 3DoT David, it was concluded that a motor rated at 6V at no load speed of 530 RPM ( Link) will provide enough torque to drive the 3DoT Hexy’s gear system and legs. Based on our final design and tests we will be using this motor at 3.6V from the battery with enough allocation for all the sensors used. https://www.arxterra.com/spring-2018-3dot-hexy-mock-up-motor-power-under-load/

RGB sensor study

Color sensors will no longer be implemented for our projects due to a customer revision of the maze definition. According to the customer, since we plan on using UV sensors/light sensors for our line following design, it would be more optimal to implement intersection detection using a UV grid (as shown in the maze definition). Also color sensing was out of the question for robots like biped or velociraptor whom would have had difficulty reading RGB due to required placement position. If interested in reading our data/results, reference the blog post below.

https://www.arxterra.com/spring-2018-3dot-hexy-rgb-color-sensors/

Subsystem Design

Interface Matrix

Based on customer concerns with the TPS61253A 9-ball 1.2-mm x 1.3-mm WCSP package, we explored other methods to not use a boost converter and further investigate operating all electronics of the robot at the rated 3.6 V from the RCR123A battery. After improving the gear mechanism with the addition of bearings and bushings, we were able to operate the robot at 3.6V while having stable movement with weight attached on top of the robot (simulating the final weight of all devices used for the final robot configuration). Since this change occurred, we no longer will use any connections from J1 and J2 from the 3DoT board. UV LEDs will no longer be used and will be replaced with IR LEDs. Based on customer recommendation instead of using the 8-channel TCA9548A I2C model, we are going to use a 4-channel model: PCA9544A. All peripheral devices will be connected to the Custom Sensor PCB developed by Kris Osuna (Electronics and Control Engineer). The Custom Sensor PCB is connected to J3 of the 3DoT board.  Two additional extra LEDs are added to act as eyes of the spider

https://www.arxterra.com/spring-2018-3dot-hexy-interface-matrix/

Cable Tree

Based on our design, it did require a lot wires which caused some issues when integrating all of them to their final position/destination. One main problem was with the positioning of the three-light sensors. A recommendation for a design improvement is to integrate the light sensors into the custom sensor PCB and place the PCB at bottom front bracket. The issue that needs to be further looked at is the 30-degree angle needed for the IR LEDs and the positioning so they maintain that angle. Another recommendation is start the design of the robot by first thinking about the wiring route and possibly integrating 3D printing wire assist clips to ease in the final product wiring. Images and wire interfacing are provided in the blog post below.

https://www.arxterra.com/spring-2018-3dot-hexy-system-cable-tree/

Getting 3DoT David Working

Since we planned on basing our design of Spring 2016 3DoT David, the manufacturing and E&C engineers got to fixing, and analyzing the design. Below is a blog post explaining what they learned and planned on improving. https://www.arxterra.com/spring-2018-3dot-hexy-getting-3dot-david-working/

Decision on Movement Mechanism

Having had studied the klann Linkage Mechanism and the Spring 2016 3DoT David Hexbug 2 Mechanism more in depth, we decided that implementing the Hex Bug 2 design was the way to go. Reasoning behind picking this mechanism is provided in the blog post below. https://www.arxterra.com/spring-2018-3dot-hexy-decision-of-movement-mechanism/

Determining Gear Design

We decided that pursuing a 3:1 configuration would be the way to go. This is due mainly to the femur-to-gear joints. Design specifications for our 3:1 cam design is provided in the link below.

https://www.arxterra.com/spring-2018-3dot-hexy-determine-gear-design/

Improving 3DoT David Design

Since we decided to model 3DoT Hexy of Spring 2016’s 3DoT David, Prof. Hill recommended that we get in contact with the owner of 3DoT David to have access to the robot. Luckily, we were able to get in touch with the owner and were permitted to use the robot as a reference. From 3DoT David, we learned a lot about: movement dynamics, overall dimensions, and weakest points in the structural design. From the design we decided to modify: the gear capture system, gear to motor shaft connection, lift mechanism, leg joints, wire management, redesigning the top and bottom plate. https://www.arxterra.com/spring-2018-3dot-hexy-improving-3dot-david-design/

Mission Commands and Control

Final Software

The E&C Engineer was unable to get the line following code to function correctly on the arxterra app. The line following on Arduino only worked ok but due to the sensors not fitting correctly in their spot, consistent values were difficult to obtain. The sensors kept moving positions and angles. The blink custom command shows that the handle is correct and is going through, but Detect command does not work for some reason. Our team did not have a dedicated software team member which lead to extra work on the E&C Engineer. If we had another team member we could have gotten the code working.

https://www.arxterra.com/spring-2018-3dot-hexy-final-arduino-code/

 

Electronic Design

Fritzing Diagram

We used the open source fritzing software to create a prototype that will show all connections to an Arduino Leonardo. The Leonardo is used because it uses the same processor as the 3DoT board. The Leonardo provides 3.3V to the pins which is less than the 3DoT board provides, so if it works on the Leonardo it will work on the 3DoT board. The prototype will be able to move with motors connected to a dual motor driver to control the motors. Three UV sensors will be connected with three UV LEDs. The UV sensors and LEDs will help the robot navigate the maze. An I2C multiplier for the serial data is needed. An ultrasonic sensor is needed with two digital pins. The ultrasonic sensor will detect other obstacles. We were able to use an ultrasonic distance sensor with only one digital pin.

https://www.arxterra.com/spring-2018-3dot-hexy-prototype-fritzing-diagram/

PCB Schematics

The PCB schematics included in the blog post below are for the custom sensor shield designed by the E&C engineer. The schematic must contain these parts: 1-to-4 I2C multiplex, connection to UV sensors, connection to LEDs connection to ground and power and connection to the ultrasonic distance sensor. The UV sensors, ultrasonic sensor, LEDs and booster are not going to be directly to the schematic. https://www.arxterra.com/spring-2018-3dot-hexy-spiderbot-schematic/

PCB Layout

Two PCBs were designed by the E&C engineer: a sensor shield and a booster shield. The booster shield was discarded for a variety of reasons. 3DoT Hexy has been improved and can move with the load at 3.7V. We will no longer be using the UV LEDs at 5V instead we will be using IR LEDs at 3.3V. E&C suggests learning Eagle CAD and starting this process as early as possible due to the fact that the PCB design process undergoes multiple reviews before getting the green flag to print.

Booster Shield Layout

https://www.arxterra.com/spring-2018-3dot-hexy-booster-shield-layout/

Sensor Shield Layout

https://www.arxterra.com/spring-2018-3dot-hexy-sensor-shield-layout/

Custom PCB Assembly

https://www.arxterra.com/spring-2018-3dot-hexy-custom-pcb-assembly/

Bill of Materials (BOM) Report

This post shows all the parts needed to create the custom shields for the 3DoT. It also includes the cost of items that will not go on the shield but is needed to make 3DoT Hexy work correctly.

https://www.arxterra.com/spring-2018-3dot-hexy-electronic-component-bom-and-order/

Hardware Design

Blueprints/Mechanical Sketches

The blueprints show the dimensions of all parts designed in solidworks. These should aid the manufacturing engineer in designing 3DoT Hexy if the solidworks files are not available.

https://www.arxterra.com/spring-2018-3dot-hexy-mechanical-drawings/

3D Models

The 3D models give detailed explanations of why things look the way they are. We went through 4 revisions of our design before producing a design we were satisfied with.

  https://www.arxterra.com/spring-2018-3dot-hexy-3d-model/

Prototype Part Adjustment/Modifications

This post gives a quick run through of all the things we modified and learned from creating the prototype. For the most part it would play to the teams advantage if the manufacturing engineer has to his disposal tools such pliers, different types of screwdrivers, rotary power tools, drills, power saws, etc.  

https://www.arxterra.com/spring-2018-3dot-hexy-prototype-part-adjustments-modifications/

Assembly

The purpose of this blog post is to demonstrate how all parts designed in Solidworks were put together along with other outsourced materials. We will be assembling two  models of our robot: the prototype and the final model.

https://www.arxterra.com/spring-2018-3dot-hexy-assembly-prototype-final/

Project Status

Resource Report

This blog post covers 3DoT Hexy’s Resource Report which include cost, power and mass.Values for the battery and 3DoT board were initially estimated based on the final blog post of 3DoT David. Values for each component or device are updated as the project is further developed

https://www.arxterra.com/spring-2018-3dot-hexy-resource-report-cost-power-mass/

Updated power budget can be found by clicking the link below.

https://www.arxterra.com/spring-2018-3dot-hexy-power-budget/

3D Print Times

Print time quotes were obtained from two sources: Ridwan and Long Beach Makers. Parts for prototyping were printed with a .3 mm layer height for quick production.

https://www.arxterra.com/spring-2018-3dot-hexy-3d-print-times/

Product Breakdown

This document follows the Work Breakdown Schedule (WBS) developed by Eduardo De La Cruz (Project Manager and Manufacturing Engineer). This PBS is split into five sections to outline the major components of 3DoT Hexy. The five sections are electronic hardware, software, movement, manufacturing, and power

https://www.arxterra.com/spring-2018-3dot-hexy-product-breakdown-schedule/

Work Breakdown Structure

The diagram is broken down into task each division engineer will be responsible for in the production of the final product. These assignments are based of the task matrix we developed as a class. Engineers can use this diagram as a reference for what they need to do. https://www.arxterra.com/spring-2018-3dot-hexy-work-breakdown-structure/

Project Schedule

The project schedule was generated using excel’s Gantt project planner. The project schedule mirrors the time frames and due dates established in the task matrix. The goal is to provide a visual reference of how far or close one is from reaching their deadlines for a given task. A majority of our task were completed past established due dates. Despite this, we were able to complete the majority of our task. A burndown is included that shows how close we were to completing all our task.   

https://www.arxterra.com/spring-2018-3dot-hexy-project-planning-and-scheduling/

Final System Integration and Test

Most of the tests were conducted prior do the day of the final (05/15). Tests performed include ultrasonic ranges, light sensor value readings, and arxrobot communication to the pro micro board. Assembly and disassembly were performed on the day of the final.

https://www.arxterra.com/spring-2018-3dot-hexy-final-system-integration-and-test/

Preliminary Design Review (PDR)

The preliminary document is a progress report made half way into the semester that covers everything we have done. As of the preliminary design, we had not yet created a prototype of our design. It is very important that the team is able to get a prototype ready by the PDR day in order to get feedback by the professor.

https://www.arxterra.com/spring-2018-3dot-hexy-preliminary-design-review/

Conclusion

There were still a lot of things that needed to be done by manufacturing and E&C to make the final product perfect. For the most part we were able to control the spider as an RC toy. More time needed to be invested in autonomous control in order for the spider to have been able to navigated through the maze autonomously. Things that the next generation can improve on are:

1. Substituting the brass bushings used to pinch the gears for a more stronger material that doesn’t warp when tightened.

2. Exploring ways to reduce the play in the legs (wiggle) will make the design more sturdy.

3. Reducing the scale of the robot, in order for it to fit in a maze room

4. Method of hedge/line detection for autonomous navigation. For the most part we spend an extensive amount of time pursuing UV line detection only to end up with IR detection. It would be interesting to explore alternative methods of hedge/line detection that don’t involve IR.

5. Wire Management. As explained by the professor it is best to design a project based on the wire positioning. MST and Manufacturing should get together and agree on a design that looks good and keeps in mind how all wires will be routed.

6. Removing the driving gear and just connecting the motors to either one of the two gears that connect to the 30T gears will achieve the same results. This  will eliminate the need of the additional gears.

Lessons Learned

For the most part we learned a lot about what to expect from EE400D. Below are some helpful tips to help the next generation get a head start.

https://www.arxterra.com/spring-2018-3dot-hexy-lessons-learned/

Resources

PDR Power Point

UPDATED-3DoT Hexy_ Preliminary Design Review (1)

Project Schedule and Burndown 

Planner Final2.0

burndown

Verification and Validation Documents 

Master-Verification List-and-Test-Procedures_3DoT_Hexy_5_15_18 Verification_Test_3DoT_Hexy_Spring2018_Final

Verification_Test_3DoT_Hexy_Spring2018_Final

AssemblyDisassembly

Solidworks files 

Final SolidWorks Files

Frtizing Diagram 

Hexy-Fritzing

Eagle CAD files 

Sensor Shield

Arduino Code 

Hexy

BOM

Sensor-Shield-Final

Sample Waiver 

Request for a Waiver of Program Requirement

Project Video

https://www.youtube.com/watch?v=z3S46hI10LI&t=1s

 

Spring 2018 3DoT Hexy: Final System Integration and Test

By: Kris Osuna (Electronics and Control Engineer) & Raymundo Lopez-Santiago (Mission, System, and Testing Engineer)

Verified By: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents

Introduction

This blog post covers 3DoT Hexy’s final system and test. Most of the tests were conducted prior do the day of the final (05/15). Tests performed include ultrasonic ranges, light sensor value readings, and arxrobot communication to the pro micro board. Assembly and disassembly were performed on the day of the final.

Update: 05/15/18

The additional test which include the assembly and disassembly were performed. The final time for disassembly was 5 minutes and 10 seconds. The final time for assembly was 7 minutes and 18 seconds. This was timed using a cellphone. Conditions included having the customer present and assembly/disassembly performed by both manufacturing and E&C engineers. Rules and instructions developed for assembly/disassembly can be found below.

Testing

Sensor Testing 

Ultrasonic testing (Parallax Ping) was conducted for the requirement of detecting non-navigable obstacles at a distance of no less than 10 cm and no more than 25 cm at a viewing angle (cone) between 30 degrees and 40 degrees facing forward. As seen in Fig. 1, a test was setup to confirm that 3DoT Hexy can detect obstacles within the defined range and conditions. Apart from the robot stopping when an object was detected, two red LEDs were configured to turn on as an additional indication that an obstacle is detected.

Figure 1: Ultrasonic sensor range detection test. Gif can be found below:

Light sensors: Adafruit Flora Si1145

Three light sensors were used for this project. A test was conducted on a maze provided by the customer. A snip of the maze can be seen in Fig. 1. The test included obtaining IR values when the robot is seeing black lines, white lines, and green lines. The distinguishing of color was big enough that line following should be possible. A limit of 310 was placed in the code. The limit will treat whitespace and green lines the same and will not be affected by it. Values on the whitespace gave a minimum of 331. Values on the black lines gave a maximum of 300. Values on the green lines gave a minimum 322 and a maximum 369.

Figure 2: Placement of light sensors

Figure 3: IR and visible spectrum values recorded with the maze values.

Figure 4: Maze value reading set up.

Arxrobot Communication

As a requirement, the robot shall be controlled remotely via Bluetooth using the Arxrobot phone application. Code tested by the E&C was implemented on the pro micro board. Success criteria were determined to be having the 3DoT Hexy respond to commands from the Arxterra App. I suggest connecting to Bluetooth in an empty space because too many devices try to connect to the app.

Figure 5: A simple LED blink custom command was used to confirm connection to Arxterra App. Gif of the test can be found below 

Conclusion

Most of the test conducted were related to the software and sensors used. All mechanical tests were conducted prior to these tests. The bearings added to the gears helped with the ease of movement with only 3.6 V allocated from the battery. Since we did not have the 3DoT board, all testing was done using a Sparkfun 3.3V 8MHz Pro Micro board.

Fig. 6. All components integrated and working together.

Fig. 7. Originally Hexy would turn around when an object is detected. Gif of the testing can be found below: 

Resources

  1. Ping Code and Wiring
  2. Si1145 Code and Wiring
  3. https://www.arxterra.com/wp-content/uploads/2018/05/Assembly2FDisassembly.docx
  4. https://www.arxterra.com/wp-content/uploads/2018/05/DisguisedBeneficialBrownbear-mobile.zip
  5. https://www.arxterra.com/wp-content/uploads/2018/05/DelayedBigheartedJaeger-mobile.zip
  6. https://www.arxterra.com/wp-content/uploads/2018/05/JaggedOblongBighorn-mobile.zip

Spring 2018 3DoT Hexy: Final Arduino Code

By: Kris Osuna (Electronics and Control Engineer)

Verified By: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved By: Miguel Garcia (Quality Assurance)

Table of Contents

Introduction

The purpose of this post is to share the links for the 3DoT Hexy Code and explain the structure for use in the future. There are two separate codes to be explained. AutoHexy does not use the 3DoT firmware and does not run through the Arxterra app. Arx_Hexy_Automatic does use the 3DoT firmware and was run with the Arxterra app. The 1-to-4 I2C on our custom PCB only had one working channel for some reason, so we used the Adafruit TCA9548A 1-to-8 I2C multiplexer breakout board.

Related Requirements

Level 1 Requirements 

  • The robot will need to navigate remotely through a custom-built maze (built by AoSa image), memorize the path it took, start over, and autonomously travel through the path it took.
  • The robot shall avoid collisions if it encounters other robots while navigating through the maze. This involves detecting the robot, retracing steps back, and moving to a room that allows the other robot to have a safe passage.
  • The robot shall use a v6.43 3DoT board.
  • The robot shall demonstrate the capabilities of the 3DoT micro-controller for DIY hobbyists.

Level 2 Requirements

  • The robot shall use a single RCR123A 3.7 V, 650mA rechargeable Li-ion battery to power the 3DoT board, which will power the drivetrain and all attached peripherals.
  • The robot shall use 3 UV sensors connected to a custom PCB.
  • The robot shall use a HC-SR04 ultrasonic sensor to handle robot avoidance.
  • Ultrasonic sensor shall have a range of 0.5-meter radius to detect and respond accordingly to other robots.

Code Layout AutoHexy

Setup and define – We are using a dual motor driver that needs to have its pins defined. The Arduino Leonardo was used intermittently due to malfunctions of the promicro, so changes in pin definitions had to be made. pingPin is used for the ultrasonic sensor. LeftEye and RightEye are declared on digital pins to be controlled. We are reading from three sensors so each must be declared. tcaselect is used to identify the channels in the I2C.

Figure 1: Declaring pins 

 

Setup – Since we used an eight channel I2C the specific channels that will be used need to be selected and checked for data transmission. If there is no data transmission on the selected channel the program stops here.

Figure 2: Check that selected channel on the I2C are receiving information

Main Code – The main loop calls the functions

Figure 3: Main loop calls the functions

Functions:

clearLED ()

Function turns off the LED eyes.Figure 4: Turns off the eye LEDs

 

Ping ()

This function measures the distance and the only change from the manufacture code made was to detect a certain range. When the robot detects an object 10 to 25 cm away the robots turns the LEDs on and stops the robot from moving until the object leaves. When the object leaves the LEDs turn off and the robot begins walking.Figure 5: If an object is detected in the 10 to 25cm range 3DoT Hexy will turn on its eye LEDs and stop moving until the object is removed

ReadSensors()

Figure 6: This function reads the IR values for the channels being used

 

Decide ()

This function goes through the line following possibilities. The first check is to keep going straight when only the center sensor is on the line and it should go straight. Second check is when the robot is drifting to the right and the left sensor is on the black the robot turns left until the center sensor goes over the black line. The third check runs when the right sensor is over the line and turns right until the sensor get back on the line. The forth check is when the robot is at an intersection it was going to be implemented with the virtual maze but I was unable to implement it in time.

Figure 7: Run through the options of what to do based on the IR values

Code Layout Arx_Hexy_Automatic

The code layout is similar to AutoHexy, but it incorporates the 3DoT training and firmware. I tried to set up a custom command for setting the Ping function but I was unable to get the code to function correctly.

Figure 8: Detect Handler was supposed to have the robot run through the maze autonomously when detect custom command was called.

Figure 9: The blink custom command was used to test arxterra app connection and was going to be used to celebrate completing the maze.

Libraries Required

  1. 3DoT Library
  2. Adafruit Si445 Library

Conclusion

I was unable to get the line following code to function correctly on the arxterra app. The line following on Arduino only worked ok but due to the sensors not fitting correctly in their spot, consistent values were difficult to obtain. The sensors kept moving positions and angles. The blink custom command shows that the handle is correct and is going through, but Detect command does not work for some reason. Our team did not have a dedicated hardware and a dedicated software team member which lead to extra work. I believe if we had another team member we could have gotten the code working.

Resources

  1. 3DoT Arduino Help
  2. Link to Code: Hexy

Spring 2018 3DoT Hexy: Lessons Learned

By: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Raymundo Lopez-Santiago (Mission, System, and Testing Engineer)

Kris Osuna (Electronics and Control Engineer)

Approved By: Miguel Garcia (Quality Assurance)

Introduction

The purpose of this post is to provide helpful tips for the next generation of spiderbot based on our experience taking 400D. This post will be broken down into lessons learned by each division:  Management, MST, E&C, and Manufacturing.

Project Manager Remarks

By: Eduardo De La Cruz

The goal of the project manager is to make sure the team finishes all tasks on the task matrix. The team will regularly depend on the project manager to get tasks published for feedback by the professor. If the project manager slacks off in posting a blog post, he/she will delay the teams progress. Making sure the professor is aware of all the things the team is doing is an important task of the project manager so make sure you know what each team member is regularly doing. If you are expecting not to meet project requirements make sure to let the professor know, as he will guide you to a solution, or just make you fill out a waiver for the requirement.

Mission, System, and Testing Engineer Remarks

By: Raymundo Lopez-Santiago

One issue identified in the system integration and assembly was the wire management and routing. As mentioned by the customer, the project should be designed from the cabling. Additional time should be spent on this section from the MST. As for testing peripherals, this should be done as soon as possible. One mistake on my part was starting late to do any testing on peripheral devices with the rest of team. For the verification document, I learned the hard way to not separate every requirement and make too many test cases. After meeting with the customer on a frequent basis, I went from 15 test cases to 8 test cases. One recommendation for future MSTs is to verify all requirements as soon as you can. Even if you do not have the 3DoT board in time, prototype with a sparkfun pro micro board. A heads up, order extra parts in case they stop working when testing is begun. Level 1 and Level 2 requirements were defined by the customer, but I recommend to meet with the customer to make sure the wording makes sense and that all system/subsystem requirements have a path back to high-level requirements. This will save you a lot of time when you are writing test cases. In my experience, all verification should be done at the Level 1 requirements. This is allowed since all system requirements lead back to Level 1 requirements.

Electronics & Control Engineer Remarks

By: Kris Osuna

Getting familiar with Fritzing and EAGLE software is very important. Fritzing gives a visual for the end product. It shows you the pins you need and if the project is possible. I recommend working on the schematic and PCB as soon as possible. When making the schematic do not pick the first part you find in the EAGLE library. I highly suggest researching the part you are thinking about using. A mistake I made was not checking the availability of the integrated circuits I used in my schematic. The gyroscope I chose was three generations back and was unavailable in most places. The unavailability meant I could not purchase the item with the other components increasing the shipping costs and the overall cost of the project. I learned that when I finish the PCB the PCB is not done. The PCB goes through multiple levels of quality checks. If you turn in the PCB design on Monday you will get feedback and changes that need to be done, which will make your finished date Friday. Take into account corrections you might need and give yourself extra time for it. I suggest planning for redesigns and things that need to be fixed. Purchase extra pieces because things can go wrong.

Take pictures all the time. When doing blog posts I found that I was not taking enough photos to show the work being done. It is easier to show something than it is to describe something. Stay on top of your blog posts. Start your blog posts as you go along even if you do not finish because the event you are posting about just happened and it is harder to remember.

Manufacturing Engineer Remarks

 

By: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Purchase a digital caliper if you do not have one already you will find it very useful throughout the semester. Learning SolidWorks as soon as possible is critical to getting things done in time. The Manufacturing Engineer should become competent in designing simple parts by the end of the first month and should be able to make more complex parts by the end of the second month. Review during every class meeting with the professor, a.k.a the customer, design changes or ideas as you will come to learn that sometimes the customer does not agree or like what you are making and will send you back to the drawing board. Sometimes groups would go weeks working on something only for the customer to dislike it and making them start over. Therefore, COMMUNICATION with the customer is critical to finishing things on schedule.

 

Getting acquainted with more than one 3D printing source will play to your advantage. The professor recommends his own 3D printing guy (Ridwan), however, far too often 3D prints would get delayed for days due to everyone reaching him around the same time. The manufacturing engineer should consider other 3D printing sources such as CSULB Makers group (located in VEC 518) or other off-campus printing shops.

 

When printing parts it is very important to consider how the part will be placed for printing. Like wood, 3D prints will have either vertical layers or horizontal layers based on the printing position. Sometimes moving parts will require you to pick a specific printing position in order to prevent layer splitting, or if you are considering inserting threaded screws into the material. If the layering is perpendicular to the angle at which the screw is being inserted you will most likely split the printing material as you insert the screw. Click here to read more about layering and print positioning.

 

Print positioning is also very important when it comes to parts that will be elevated off the ground at an angle greater than 45 degrees. Areas that will be off the ground will require print support in order to prevent sagging. Adding support decreases the print quality, as well as increases 3D print times. Click here to read more about this.

 

Finally, when talking to your 3D printing supplier, it is important to understand the role layer height plays in determining the quality and cost of the print. The thickness of each layer determines the resolution of the print. The smaller the layer height the smoother the print. However, as layer height decreases the longer the print and the higher the cost. Usually for prototyping, since time is critical to meet the 2-2-2 print requirement, layer height might be set around .3 mm for quicker production, whereas for final prints layer height could be less than .1mm since time is not an issue. Click here to read about layer heights.

 

References

  1. https://www.3dhubs.com/knowledge-base/how-does-part-orientation-affect-3d-print
  2. https://www.3dhubs.com/knowledge-base/supports-3d-printing-technology-overview
  3. https://support.formlabs.com/hc/en-us/articles/115000015870-When-to-Use-Different-Layer-Heights

Spring 2018 3DoT Hexy: Custom PCB Assembly

By: Kris Osuna (Electronics & Control Engineer)

Verified by: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved by: Miguel Garcia (Quality Assurance)

Introduction

The custom PCB only has two IC chips. On the PCB we have the I2C expander that will read the three calibrated light sensor values and the gyroscope. The gyroscope will also be incorporated on the custom PCB and will be used to make turns. The reason only two IC chips are on the PCB is due to the location of the 3DoT in relation to where the IC chips need to be. We use headers and cables to connect from the PCB to the IC chips, specifically the three calibrated light sensors, the ultrasonic sensor, and five LEDs. The sensor shield will connect to the J3 header of the 3DoT board.

Related Requirements

Level 1 Requirements

  • The robot will need to navigate remotely through a custom-built maze (built by AoSa image), memorize the path it took, start over, and autonomously travel through the path it took.
  • The robot shall avoid collisions if it encounters other robots while navigating through the maze. This involves detecting the robot, retracing steps back, and moving to a room that allows the other robot to have a safe passage.
  • The robot shall use a v6.43 3DoT board.
  • The robot shall demonstrate the capabilities of the 3DoT micro-controller for DIY hobbyists.

Level 2 Requirements 

  • The robot shall use a single RCR123A 3.7 V, 650mA rechargeable Li-ion battery to power the 3DoT board, which will power the drivetrain and all attached peripherals.
  • The robot shall use three calibrated light sensors connected to a custom PCB.
  • The robot shall use a HC-SR04 ultrasonic sensor to handle robot avoidance.
  • Ultrasonic sensor shall have a range of 0.5-meter radius to detect and respond accordingly to other robots.

PCB Assembly

Figure 1: Sensor shield fabricated from the EAGLE schematic.

Figure 2: SMD 603 package resistor size compared to penny

Figure 3: Solder paste is spread on all SMD components

Figure 4: Placing PCB in the reflow oven. A gif can be found here.

Figure 5: Solder flowing in the reflow oven. A gif can be found here.

Figure 6: Pin headers will have to be manually soldered on

Figure 7: Finished PCB

Figure 8: Back of the PCB with all connections

Conclusion

The sensor shield could have gone on J1 and J2 and placed on top of the 3DoT but the sensor shield was designed for J3. Originally, we were going to have a booster shield on J1 and J2 so sensor shield had to go to the J3 header. Testing on the finished soldered PCB showed that only channel two on the I2C expander is getting data. I tried cleaning up the soldering on the I2C but it did not fix the problem. If we cannot get all 4 channels working a breakout board might be used. When the Gyroscope arrives we will solder the gyroscope on.

References

  1. https://www.arxterra.com/spring-2018-3dot-hexy-sensor-shield-layout/
  2. https://gfycat.com/AnimatedGeneralAcornweevil
  3. https://thumbs.gfycat.com/EnlightenedFrailHornet-size_restricted.gif

Spring 2018 3DoT Hexy: Electronic Component BOM and Order

By: Kris Osuna (Electronics and Control Engineer)

Verified by: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved by: Miguel Garcia (Quality Assurance)

Introduction

The 3DoT Hexy project will be using the following electronic components.

05/08/2018

The complete cost will be $123.72 which includes shipping and handling. We will not be using the booster shield so none of the components for the booster shield were ordered. Below you can see the cost of the parts. A price of $0.00 means the parts were obtained from the resource cabinets and did not have to be purchased.

Figure 1: Purchase parts 

04/19/2018

We will be making two custom PCBs, one for the sensor and one for the booster shield to power our motors. A team member has an ultrasonic sensor so one does not need to be purchased.

Figure 2: Hexy Sensor Shield BOM

Figure 3: Booster Shield BOM 

Figure 4: Electronics that will not go on the PCB but will still be needed 

Conclusion

Electronic components will cost $108.81. This price does not include shipping and handling. When the purchase is made we will update the total. We will be ordering more parts than we need in case there is a problem soldering the components.

References

  1. EAGLE BOM Extraction

Spring 2018 3DoT Hexy: Level 1 and Level 2 Requirements

By: Raymundo Lopez-Santiago (Mission, System, and Test)

Verified by: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved by: Miguel Garcia (Quality Assurance)

Table of Contents

Update 04/26/18

After several meetings with the customer, the requirements have been updated to reflect changes. For future reference, follow the format for requirements from the stakeholder’s expectations located here

Introduction

This blog post covers 3DoT Hexy’s Level 1 and Level 2 Requirements. 3DoT Hexy will follow the stakeholder’s expectations which include mission objectives and mission constraints defined here. Requirements stated in this blog post follow the numbering conventions as: C-xx is used for all common requirements for all projects under The Robot Company. L1: xx is used for all Level 1 requirements specific to 3DoT Hexy. L2: xx is used for all Level 2 system and subsystem requirements specific to 3DoT Hexy.

Level 1 Requirements

Level 1 Program Requirements

C-01:

In accordance with the spring 2018 final schedule, the project shall be completed by May 8th, 2018 and shall be prepared for a demonstration on the linoleum floor of ECS 316 on May 15th between the hours of 10:15 am – 12:15 pm.

C-02:

Documentation for the project shall be completed a week prior to the day of demonstration (May 8, 2018).

C-03:

The robot will be designed to be a toy for people ages 8+.

C-04:

In order to minimize manufacturing and packaging cost, the robot shall be able to be constructed from subassemblies within 10 minutes.

C-05:

For simplicity, disassembly of the robot shall be 10 minutes.

C-06:

The robot will be remotely controlled wirelessly via Bluetooth using the ArxRobot Android or iPhone application.

C-07:

The robot will need to navigate remotely through a custom-built maze (built by AoSa image), memorize the path it took, and autonomously travel through the path it took.

C-08:

Video support during autonomous navigation will be provided via the Arxterra control panel.

C-09:

The robot shall have a live VR feed via the Arxterra control panel.

C-10:

The robot shall avoid collisions if it encounters other robots while navigating through the maze. This involves detecting the robot, retracing steps back, and moving to a room that allows the other robot to have a safe passage.

C-11:

For quick production of the prototype, the preliminary project shall be restricted to six hours of total printing time with a 2 hours limit for each single print (2/2/2/ 6 rule).

C-12:

The robot shall use a v6.43a 3DoT board.

C-13:

The robot shall demonstrate the capabilities of the 3DoT micro-controller for DIY hobbyists.

C-14:

The robot shall be designed in such a way that there are no dangling or exposed wires.

C-15:

The robot shall incorporate 3D printed parts to demonstrate the feasibility of the 3DoT board for 3D printed robots.

C-16:

For good construction techniques, all moving parts and rotating parts shall use bushings or bearings.

Level 1 Project Requirements

L1-1:

The robot shall use sensors to: detect non-navigable and navigable obstacles (i.e., robots) disrupting their path, for intersection detection, and for either line following or hedge following.

L1-2:

To keep cost down, and keep as a toy aspect, the robot shall use only 2 micro motors to drive the movement of the robot.

L1-3:

The robot shall be designed in a way to cost less than $250.

L1-4:

The robot shall have a custom PCB as platform to build from and will incorporate peripherals for sensors.

L1-5:

The robot shall have a chassis large enough to house a 3×7 cm 3DoT board.

L1-6:

The robot will weigh no more than 450 grams.

Level 2 Requirements

System

L2-1:

Communication to the robot will be through the BLE Bluetooth module.

L2-2:

The robot shall use a single RCR123A 3.7 V, 650mA rechargeable Li-ion battery to power the 3DoT board, which will power the drivetrain and all attached peripherals.

L2-3:

The robot shall use three Light sensors and three IR LEDs connected to a custom sensor PCB to handle intersection detection and for either line following or hedge following.

L2-4:

The robot shall use a Parallax Ping ultrasonic sensor ((detect other robots) to handle robot avoidance.

L2-5:

The robot shall use 3D printed chassis and legs. This follows from the project level requirement about using 3D printed parts.

L2-6:

The robot will use a cam system identical to that of 3DoT David to drive the movement of the legs while navigating through the maze.

L2-7:

The robot shall use 2 micro guard motors to drive the motion of the robot.

L2:8

The robot shall incorporate 6 legs in the design of the drivetrain to improve stability while moving, to support its own weight and to mimic the behavior of a spider.

L2-9:

The robot shall have a cover to assist in the wire management and to give it a spider feature.

L2-10:

The robot shall have (2) LEDs acting as eyes of the spider.

Sub-System

L2-4a:

The Ultrasonic sensor shall have a range of 10 centimeter to 25 cm to detect and respond accordingly to non-navigable and navigable (i.e., other robots).

L2-5a:

The robot shall use PLA or ABS filament in the fabrication of the chassis and legs. This will minimize the mass of the robot, while at the same time being strong enough to hold its weight.

L2-6a:

Gears shall have a gear capture system to prevent them from popping (main issue encountered in 3DoT David design). This ensures the cam system will work without fear of popping gears.

L2-8a:

The robot shall operate in a tripod form, having three legs (2 outer in one side and middle leg in the other side) to provide stability while moving.

Conclusion

3DoT Hexy follows the program objectives defined by the customer. Several revisions for the Level 1 and Level 2 requirements were made after meeting with the customer and clarifying details on certain topics. A recommendation for future MSTs is to meet with the customer on a frequent basis to clarify any questions regarding customer expectations or mission constraints.

References

  1. https://www.arxterra.com/spring-2016-3dot-spider-bot-preliminary-research-project/
  2. https://www.arxterra.com/spring-2016-3dot-david-executive-summary/
  3. https://www.arxterra.com/2016-spring-3dot-david-final-project-blog-post/
  4. https://www.iconfinder.com/icons/2736378/comment_feedback_list_management_project_requirement_time_icon#size=256
  5. https://docs.google.com/document/d/1kwObe9HkGBeCjMYAETA5GiChyxhY1o6bpcmhWKbNFv8/edit?ts=5ae8d74b#heading=h.vkkyujysdeay
  6. https://www.arxterra.com/spring-2018-3dot-hexy-preliminary-design-review/

 

Spring 2018 3DoT Hexy System Cable Tree

By: Raymundo Lopez-Santiago (Mission, System, and Test) & Kris Osuna (Electronic and Controls)

Verified by: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved by: Miguel Garcia (Quality Assurance)

Table of Contents

Introduction

This blog post covers 3DoT Hexy’s cable tree design. 3DoT Hexy will use a total of 29 wires to connect to peripherals from the custom sensor PCB. The final cable tree design is shown in Fig. 1 (side view). The orange lines indicate the use of black spiral wrap protective sheathing which provides cable protection and flexible routing for all wires used. The rest of the wires (ribbon) are bundled according to their routing destination with black shrink tube. An example is packaging 4 wires (SDA, SCL, 3.3V, and GND) for each light sensor.  See Fig. 2 for a visual.

Update May 08, 2018

Fig. 1: Side view of 3DoT Hexy: Cable Tree (colored using Lucidchart)

Ten wires will be bundled inside spiral wrap and routed to the bottom part of the robot for the two micro metal motors and the three IR LEDs. Nineteen wires will be bundled inside spiral wrap and routed to the top part of the robot for two red LEDs, an ultrasonic sensor, and three light sensors. Wire clips will be used keep spiral wrap intact while routing wires for peripherals. This is represented as gray dots in Fig. 4.

Fig. 2: Package of 4 wires (SDA, SCL, 3.3V, and GND) for each light sensor 

 

Fig. 3: Final decision on wire designation

The 3DoT board will have female type connector (8 pins) to connect to the custom PCB sensor board’s 90-degree connector (8 pins). The gyroscope sensor and 4-channel I2C expander are integrated into the custom sensor PCB. The rest of the peripheral devices with information on length and number of wires used are as follows:

 

  • Adafruit Light Sensor Si1145 (x3) – 12 wires @ 15 cm length
  • Parallax Ping Ultrasonic Sensor (x1) – 3 wires @ 15 cm length
  • Red LEDs (x2) – 4 wires @ 13cm length
  • Micro Metal motor FIT0481(x2) – 4 wires @ 19 cm and 28 cm length
  • IR LEDs (x3) – 6 wires @ 25 cm length

 

In Fig. 4, the initial wire designation for each peripheral device used is shown. In that revision, a total of 26 wires was to be used. After exploring other design solutions, a final representation for 3DoT Hexy’s peripherals with the number of wires used can be seen in Fig. 1.

 

Fig. 4: Initial wire designation approach

Conclusion

Based on our design, it did require a lot wires which caused some issues when integrating all of them to their final position/destination. One main problem was with the positioning of the three-light sensors. A recommendation for a design improvement is to integrate the light sensors into the custom sensor PCB and place the PCB at bottom front bracket. The issue that needs to be further looked at is the 30-degree angle needed for the IR LEDs and the positioning so they maintain that angle. Another recommendation is start the design of the robot by first thinking about the wiring route and possibly integrating 3D printing wire assist clips to ease in the final product wiring.

References

  1. https://www.arxterra.com/spring-2018-3dot-hexy-3d-model/
  2. https://www.arxterra.com/spring-2018-3dot-hexy-system-block-diagram/
  3. https://www.arxterra.com/spring-2018-3dot-hexy-interface-matrix/

Spring 2018 3DoT Hexy: Decision on Picking Materials and Fabrication Method

By: Raymundo Lopez-Santiago (Mission, System, and Test)

Verified by: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved by: Miguel Garcia (Quality Assurance)

Introduction

The purpose of this post is to determine what material and method of fabrication we will end up going with for the fabrication of our prototype and our final model.

Related Requirements

Level 1 Requirements

  • For quick production of the prototype, the preliminary project shall be restricted to six hours of total printing time with a 2 hours limit for each single print.
  • The robot shall incorporate 3D printed parts to demonstrate the feasibility of the 3DoT board for 3D printed robots.
  • The spiderbot shall have an allocated budget of $250, however to compete with the existing robot toy market we shall try to minimize the cost of production as much as possible.  

Level 2 Requirements

  • The robot shall use 3D printed chassis and legs. This follows from the project level requirement about using 3D printed parts.

Update May 06, 2018

This task has been well defined in the past by multiple groups, for the most part, the same type of fabrication methods tend to be picked, as well as the same type of materials for production of small robot toys. The pattern is:

For complex parts: 3D printing

Reasons:  

  • cost and time of fabrication.

Materials most often used:

  • ABS (acrylonitrile-butadiene styrene) due to cost and weight of material.
  • PLA (polylactic acid) due to higher quality. Used only on final model

For final prints:

  • Highest quality ABS and Acetone smoothing, click here for instructions on how to do it.

For flat parts: Laser Cutting

Reason:

  • easy access to a FSL MUSE laser cutter in Prof. Hill’s office.
  • Cost (you just have to worry about the cost of the material).

Materials most often used:

  • Baltic birch plywood due to cost and weight of the material.
  • Acrylic due to higher quality of material.

If interested in reading trade studies on these materials, and other materials tested, reference the resource material provided below.

 

Conclusion

For the most part, we have already established in our mission requirement list that we will be using 3D printed parts to make our robot. We will most likely follow this requirement due to the fact that most of our 3D printed parts will be to complex for laser cutting. However, we will remain open to the possibility of laser cutting. If we do end up laser cutting parts for our project, we will use birch wood because of the cost and weight of the material, in comparison to other materials such as aluminum or acrylic.

Resources

  1. https://www.arxterra.com/spring-2017-spiderbot-2/
  2. https://www.arxterra.com/spring-2016-3dot-david-alternative-printing-for-small-parts/
  3. https://www.arxterra.com/material-trade-off-study/

Spring 2018 3DoT Hexy: Power Budget

By: Raymundo Lopez-Santiago (Mission, System, and Test)

Verified by: Eduardo De La Cruz (Project Manager and Manufacturing Engineer)

Approved by: Miguel Garcia (Quality Assurance)

Introduction

This blog post covers 3DoT Hexy’s power budget. 3DoT Hexy’s power budget was determined using the version 6.xx power budget template. The template has been filled out with max current drawn from each component obtained from datasheets. Values will be updated as soon as they are measured. There may be a possibility that we will not need a Texas Instruments boost converter to power our two micro metal motors at 5V. Further testing will be concluded before a decision is made. In the meanwhile, the boost converter was not included in this revision template.

The complete 3DoT Hexy power budget spreadsheet can be seen by clicking the following link: 3DoT Hexy Power Budget.

Update 04/17/18

After improving 3DoT Hexy’s gear system, a 5V boost converter will not be required for the project since the robot can operate efficiently at 3.6V.

Components used in the 3DoT Hexy robot include:

  • (3) Light Sensor – Si1145
  • (1) Ultrasonic Sensor – HC-SR04
  • (1) I2C expander – PCA9544A
  • (1) Gyroscope – ITG-3200
  • (3) IR LEDs
  • (2) Extra LEDs
  • (2) Micro-Metal Motors – FIT0481

Fig. 1: 3DoT Hexy Project Power Budget

Conclusion

This blog post covers 3DoT Hexy’s power budget. See Fig. 1. One recommendation when using the template is to make sure values for current are in mA. Maximum mission duration is xx. Our estimated mission duration is xx minutes. There is enough margin to compensate for a few more minutes of operation.

References

  1. https://www.arxterra.com/2016-spring-3dot-david-final-project-blog-post/
  2. https://docs.google.com/spreadsheets/d/17oXC8C9Apr0KN9fGo3VRT38ZHFaBRNQnUWpWSYL1bdw/edit#gid=205608523
  3. https://drive.google.com/file/d/18xenQLRR–v6t-eWHHrI-9tyA8uVhRLa/view
  4. https://drive.google.com/drive/u/0/folders/1eoo7je4grnLRUqKFYUU2fdz6X-0pWykb