Kids are unable to experience having or controlling a real Mars rover until now. Pathfinder is based on NASA’s very own Spirit and Opportunity Mars rovers. Pathfinder will allow anyone to be like NASA’s mission and control. Pathfinder’s rocker bogie suspension system will keep its chassis balanced and intact through multiple terrain. Its custom solar panels will keep it charged throughout its journey. With the use of the Arxterra app, anyone can have Pathfinder go on an exploration and recreate controlling a real Mars rover. The Toy Robot Company will allow anyone to have their very own Mars Rover.
Program and Project Objectives
by: Larry Vinh
The Robot Company (TRC) will be debuting its 2019 line-up of toy robots and associated games at the Toy-Invasion 2019 convention in Burbank CA on January 6, 2019. Your team’s assignment is to make the 3D printed and/or laser-cut prototypes to be showcased at the convention, prior to production starting in the second quarter of 2019. The robots will feature our new ArxRobot smart phone application and the Arxterra internet applications allowing children to interact and play games around the world. In addition, the robots should be able operate autonomously in game mode. See game(s) (i.e, mission objectives) assigned to your robot by the Game Division. To decrease electronics cost, interoperability between all TRC robots will be maintained by incorporation of the 3DoT board, developed by our Electronics R&D Section. Modification of downloadable content is limited to software switch setting and robot unique graphics of the smart phone and Arxterra applications. Modifications of electronics is limited to custom 3DoT shields as required by the unique project objectives of your robot. The Marketing Division has set our target demographic as children between the ages of 7 and 13, with a median (target) age of 11. To decrease production costs, please keep robots as small as possible, consistent with our other objectives. As with all our products, all safety, environmental, and other applicable standards shall be met. Remember, all children, including the disabled are our most important stakeholders. Our Manufacturing Division has also asked me to remind you that Manufacturability and Repairability best practices must be followed.
The TRC’s Pathfinder will allow others to have their own Mars Rover. 6th Generation Pathfinder will be designed for children ages 8+. Pathfinder will be able to update users about its current location, power usage, and charging rate. Pathfinder should be able to navigate through the path set by 3rd Generation Pathfinder. The Chassis will have a rocker bogie system modeled and improved from NASA’s Pathfinder. Pathfinder will be able to avoid collisions with terrain, objects, and people during its run of the course. Pathfinder shall be designed to survive harsh desert conditions. The project will be completed by December 18th, 2018.
by: Larry Vinh
Figure 1: Final Course Outline
6th Generation Pathfinder is to traverse through the path laid out by the 3rd Generation Pathfinder. The Pathfinder’s journey begins in front of CSULB’s library. Then, it goes on a 0.09 mile path through CSULB to its reach its designated charging station. Along this path, Pathfinder is to update its user as it passes 10 predefined GPS checkpoints and Pathfinder shall avoid obstacles on its way to the charging station. Pathfinder will traverse down a set of stairs along its path. Once Pathfinder reaches the charging station, it will update users about its battery levels.
by: Larry Vinh
Figure 2: Custom PCB for Chassis
Image shows PCB with soldered connectors, second PCB attached, and motor driver shield with card guide.
PCB will be designed with polarized connectors and space for a motor shield PCB to connect into. Polarized connectors were used to make the start up of the Chassis simple and quick. Polarized connectors were used to remove any confusion about how to insert wires and to remove any other possible orientations. Card guides were used for motor driver shield to prevent potential shorting of the PCB with motor driver shields. Second PCB was used to maximize space while keeping the layout of the PCB fairly simple.
by: Larry Vinh
Level 1 Requirements are there to ensure that the project remains on schedule and within its budget. The level 1 requirements also give a outline of what is needed for the project to be deemed complete. The level 2 requirements stem from level 1 requirements and are used to help achieve level 1 requirements.
Engineering Standards and Constraints
Applicable Engineering Standards
IEEE 29148-2018 – ISO/IEC/IEEE Approved Draft International Standard – Systems and Software Engineering — Life Cycle Processes –Requirements Engineering.
Federal Communications Commission (FCC) Relevant standards for a product implementing a 2.4GHz radio, FCC Intentional Radiators (Radio) Part 15C, and Unintentional Radiators FCC Part 15B for CPU, memories etc.
NXP Semiconductor, UM10204, I2C-bus specification and user manual.
ATmega16U4/ATmega32U4, 8-bit Microcontroller with 16/32K bytes of ISP Flash and USB Controller datasheet section datasheet, Section 18, USART.
ASTM F963-17, The Standard Consumer Safety Specification for Toy Safety, is a comprehensive standard addressing numerous hazards that have been identified with toys. In 2008, the Consumer Product Safety Improvement Act of 2008 (CPSIA) mandated that the voluntary toy safety standard in effect at that time become a nationwide mandatory children’s product safety rule.
Disposal of Hazardous Waste including Electronic and Solar Cells
Subcategories: Cost, Extensibility, Interoperability, Maintainability, Quality, Marketability, and Schedule
Pathfinder Chassis shall be constrained to a not to be exceed Cost of $400.
All project Schedules shall be constrained to a completion date of Tuesday December 18, 2018. Project completion includes documentation and materials purchased by or loaned to the project.
One of the Economic Factors affecting our robots are return rates. To demonstrate the durability and child friendliness of our robot a simple drop test from 1.4 meter shall be performed. The height is defined by the average height of an average 11 year old girl.
Extensibility is designed into the 3DoT board by way of one 8-pin 100 mil connector located on the front of the board and two 8-pin 100 mil connectors located on the top of the board. By plugging shields into these connectors, the 3DoT board can support a diverse set of robots. All robots shall contain one or more custom designed 3DoT shields. The 3DoT shield(s) incorporating interface electronics between the 3DoT board and sensors and/or actuators unique to the robot. Surface Mount Technology (SMT) will be employed unless a waiver for through-hole parts is granted.
Maintainability: Disassemble and Reassemble of the robot shall be constrained to less than 20 minutes (10 + 10 minutes). Disassembly: The 3Dot board is clear of all other electronic and mechanical subassemblies. All electronic and mechanical subassemblies and associated connectors, sensors, and actuators including motors are disconnected. A functional test of the robot is conducted after reassembly to confirm its functionality. All project may reference a cable tree as well as an assembly diagram as necessary. This requirement is demonstrated/verified on the last day of the schedule. Projects may request a waiver with justification.
Social and Ethical
Subcategories: Accessibility, Aesthetics, and Usability
Accessibility by the blind and Marketability of the robots shall be implemented/enhanced by a speaker. The speaker shall generate sound effect consistent with the type of the robot. For example, the Goliath tank would make “track” sounds, the AT-ST sound effects would mimic their Star Wars antecedent.
To enhance Aesthetics, the robot shall be designed in such a way that there are no dangling or exposed wires. Connectors will used between all electronic and electromechanical components. Jumper wires will not be used, ribbon cables are preferred.
To enhance Aesthetics, the form factor of a robot modeled on a real or fictitious robot shall be constrained by the original. For example, Goliath should be a scale model of the real Goliath 302 tank. Projects may request a waiver with justification.
Usability of the robots shall be enhanced by adding autonomous functions and/or by use of the Arxterra phone application as dictated by the assigned mission.
Subcategories: Constructability, Size, Weight, and Power (SWAP)
Constructability of Pathfinder Chassis shall be documented at the CDR and approved by the president of the TRC robot company. Constraints imposed by this requirement include the use of bushing or bearings in all moving and rotating parts. Interlocking Hinges with latching mechanism. No gaps greater than 1 millimeter, and immediate access to all external connectors (USB, switches).
Manufacturability of 3D printed robots shall be demonstrated by compliance with the 3/3/3 rule. Specifically, total print of a robot is constrained to 9 hours, with no single print taking longer than 3 hours. Projects may request a waiver with justification.
The Size of the electronics enclosure, shall be constrained to be no greater than the 3DoT board, 3DoT shield(s), and associated mounting hardware.
Power to all 3D robots shall be provided by the 3.7V RCR123A battery included with the 3DoT board or use of the external battery 2.0mm PH series JST connector located on the 3DoT board. The RCR123A is a Lithium Polymer LiPo battery. All Safety regulations as defined in Section 4.3 Hazards and Failure Analysis of this document shall apply to the shipping, handling, storage, and disposal of LiPo batteries.
Back of the envelope calculations and experiments shall be conducted to set the diameter of Power carrying wires. Follow the American Wire Gauge (AWG) standard when defining the diameter of power carrying wires. This work to be completed and documented by the CDR.
Environmental Health and Safety (EH&S) Standards
Subcategories: Environmental Standards, Sustainability, Toxic waste (Solar panels), Health and Safety, Ergonomics
All standards, codes, and regulations as defined in the “Engineering Standards and Constraints” Section of this document shall apply.
Software shall be written in the Arduino De facto Standard scripting language and/or using the GCC C++ programming language, which is implements the ISO C++ standard (ISO/IEC 14882:1998) published in 1998, and the 2011 and 2014 revisions. Required exceptions to this standard can be found here.
Pathfinder shall be controlled via Bluetooth 4.0 in compliance with the Bluetooth Special Interest Group (SIG) Standard (supersedes IEEE 802.15.1).
Project Level 1 Functional Requirements
The project level 1 requirements are to make sure Pathfinder is able to complete the course laid out by the 3rd generation and be reusable after its mission. Here is the list of the functional project 1 requirements:
L1-1 Pathfinder will travel a .09 mile course through upper campus CSULB laid out by 3rd generation Pathfinder.
L1-2:Pathfinder will have a rocker bogie system.
L1-3:Pathfinder shall update users through the ArxTerra app about GPS location, battery level, and charge current.
L1-4:Pathfinder should avoid obstacles in its path.
L1-5: Disassembly and reassembly of the Chassis shall be less than 20 minutes.
L1-6:The Chassis shall have mechanical adjustments as given: here(link will be here).
The level 2 requirements are derived from the level 1 requirements. The level 2 requirements can be used to achieve the level 1 requirements. For example, a level 2 requirement can define what to implement for a level 1 requirement. Here is the list of Level 2 Requirements:
L2-1: Pathfinder shall be able to go up 45 degree incline stairs and down 45 degree decline stairs.
L2-2:Pathfinder shall have a differential gearbox constructed of three miter gears, three machined shafts, and six mounted bearings
L2-3:Through the ArxTerra App, users shall be able to control destination of Pathfinder by inputting coordinates.
L2-4:Pathfinder shall use ultrasonic sensors to detect and avoid obstacles 3cm away up to 2m.
L2-5:Wires in the Chassis shall be in a cable assembly to help with assembly and disassembly.
Allocated Requirements / System Resource Reports
by: Larry Vinh
Mass Shared Resource Report / Allocation
Table 1: Mass Report for Chassis
For the mass report, the allocated mass for the Pathfinder is 35kg. The mass allocation was determined by 3rd generation Pathfinder. The mass of Pathfinder is set to 35kg, so it is not too massive. If Pathfinder is heavier, then the motors might not generate enough torque for Pathfinder to move. The rated torque of the motors is 32kg/cm.
Power Shared Resource Report / Allocation
Table 2: Power report for the Chassis
For the power report, the allocated current comes from the 12V battery used in this project which is 10A. The expected current draw is from the data sheets of each component or part. The contingency is in case the motors experience a heavy load and require extra current to go through the load.
by: Larry Vinh
The Product Breakdown Structure outlines the major components of the Chassis into four separate categories. The Work Breakdown Structure divides the tasks that need to be done to complete the project.
Project WBS and PBS
Product Breakdown Structure
Figure 3: Product Breakdown Structure for Chassis
The PBS is broken into four sections to outline the major components of the Pathfinder Chassis. Anything that is attached or connected to the main body is under Chassis. Components that relay information to the Arduino is placed under the Arduino section. The Software section contains the communication via Bluetooth for the ArxTerra App and the way for the Arduino to read the outputs of the breakout boards. The Pan and Tilt section contains the equipment that will allow users to observe the surrounding location of the Pathfinder.
Work Breakdown Structure
Figure 4: Work Breakdown Structure for Pathfinder Chassis
Normally, the PBS has a manufacturing component; however, this generation there was no manufacturing done, so it was not included in the PBS. The tasks Cristian Figueroa completed were the Interface Matrix, System Block Diagram, PCB design, Systems Schematics, and reflow of surface mount components. The tasks Larry Vinh completed were Breakdown structures, Resource Reports, Verification and Validation matrix, and soldering of female headers and polarized connectors.
Table 3: Cost Report for 6th Generation Chassis
The cost report is based on the Toy Robot Company. The project allocation cost is $400. All parts have already been purchased and the table covers where to locate each part or component. The final cost remained under the allocated $400 at $352.50
Everything afterwards by: Cristian Figueroa
Our design innovations come from our PCB that we designed. With the previous generation’s PCB short circuiting, we’re tasked with redesigning it. While looking at it, it was discovered that their were some things that were questionable in their design. We had problems with connectors specifically, the wires were easily removed from the connectors with little effort. The way the motor drivers were placed, they would make contact with the PCB and potentially cause a short. And finally their board was a little too big with a lot of excess space so we tried to minimize that. In our design we made it almost impossible to mess up the connections even if you don’t know what everything does by making the connectors polarized. The basics of how it works is that all the wires get crimped and then put into a plug in for the receptacle on the board. The housing has a latch so once it’s plugged in it won’t come off unless unlatched. Another benefit was that it was keyed which meant that there is only one way to connect the plug so that eliminates any confusion on what should be plugged in and where. Anybody should be able to plug in the plug without even knowing anything, hence being user friendly. Another design innovation is that we designed a second board that used for the motor driver shields. So instead of the shields just dangling and potentially causing a short. They’re now connected to the second board with the help of card guides.
The pathfinder chassis is like a lot of the other projects, a generational project. We will, like our predecessors, build upon what was done before us. The previous generation created the chassis that will house all the electronics, differential gear box, and battery of the rover, as seen in Figure 5 and 6, and updated its rocker bogie suspension system by adding a fully functional differential gear box, as seen in Figure 7
Figure 5: Design of Pathfinder Figure 6: View of Differential Gearbox System without Box
Figure 7: Internal view of chassis
For more information of the previous generations design, look at this blog post.
The previous generations electronics ended up getting fried. So our main focus was on designing a new PCB to replace the one that was lost and replacing any electronics to get the Rover running again.
System Design / Final Design and Results
Since the previous generations PCB ended up getting fried we focused on redesigning the PCB and this is what we came up with. One of the design faults of the previous design was the placement of the motor drivers on the PCB. The previous layout was prone to being shorted by the motor drivers, which is why the previous generation put a rubber substance on the bottom of them to combat that. When redesigning the board, we kept that in mind and the solution we came up with is adding a second PCB, just for the motor drivers, that mounts vertically on the main PCB. The way it works is the motor drivers get slid into card guides that are mounted on the main PCB to hold them in place where they are connected to the second PCB. We had to put the components that were in the middle of the old PCB on the bottom of our design in order to be able to slide in the motor drivers without anything getting in the way. Special consideration was taken with the height of the second PCB so that it would not hit the lid of the Box of the Chassis. There is a 2.5 clearance from the PCB to the lid and the second PCB has a height of 1.625 so theirs around an inch of free space between the lid and the electronics.
Figure 8: PCB For Motor Shield
Another design fault was with the connectors that they used where the wires were coming to on the PCB. Since the connectors had no way of keeping the wires in them, if a small amount of force was applied on the connectors the wires would come out. We decide to use housing connectors to eliminate that problem which had many pluses in making the connections easy for anybody to do. The basics of how it works is that all the wires get crimped and then put into a plug in for the receptacle on the board. The housing has a latch so once it’s plugged in it won’t come off unless unlatched. Another benefit was that it was keyed which meant that there is only one way to connect the plug so that eliminates any confusion on what should be plugged in and where. Anybody should be able to plug in the plug without even knowing anything, hence being user friendly.
Figure 9: PCB For Chassis
Figure 10 shows the state of the inside the chassis when we first started working on it. The rocker bogie suspension system was not functioning as it should have. The chassis is facing upwards when it should be balanced. The wiring was confusing and was exposed.
Figure 10: Pathfinder robot with rocker-bogie system and cluttered wires
Figure 11 shows the work that we did in order to fix the wiring and the rocker-bogie suspension system. The chassis is now parallel to the ground, as it should be. We covered the wires in cable braid to protect them from any exposure. We also separated the wires into the way they should be plugged into the electronics. The three wires for each motor are crimped and are in the header for the shaft encoder on the PCB. The other two wires of each motor go into the screw terminal on the motor shield drivers.
Figure 11: Wires are now covered and organized
We also changed the thrust bearings that used to be on the foot to leg part of the chassis with flange bearings. We reworked the wire crimping on the chassis as can be seen in figure 2 with the yellow crimp. In figure 1 the wiring was connected but in the time taken in between figures 1 and 2, the wire was ripped a little so the wire was re-crimped.
System Block Diagram
Figure 12 shows each component that is part of the electronics for the rover. The front panel is composed of two lids and ultra-sonic sensors. The leds are for the requirement of being able to travel at night. The ultra-sonic sensors are needed to be able to detect objects in front of it. Then there is a Bluetooth breakout board that plugs directly onto the PCB for the chassis. The Bluetooth module is needed to communicate the Arduino with the Arxterra app on a phone. The pan & tilt is composed of two servos. The pan and tilt are the case where a phone gets put into it for the use of long-distance remote control using the Arxterra app. The Motor shield PCB contains the 3 Motor Shields that run our 6 motors. And Lastly an external PCB is connected for the solar panels. The front panel and pan & tilt use our updated connection system. The wires are crimped and then put into a housing that can then be plugged into the header only one way. The same way that an HDMI cable, for example, can only go in one way to the HDMI connection hole. The wires from the motors go into the screw terminals on the motor shields. The motor shields then go into the PCB for the Motor Shields which then gets plugged into the main PCB. The motor shield is slid onto card guides that are on the main PCB.
Figure 13 shows the Arduino pin layout which was used to help map out where to connect which pins go from the PCB to it.
Figure 13: Ardunio Mega 2560 Pinout
Figure 14 shows the interface matrix of the components on the PCB and the Arduino.
Figure 15: Interface Matrix
Figure 16 shows the pin layout of each component on the PCB.
Figure 16: PCB Pinout
Figure 17 shows how the wiring should be done inside the chassis. Three sets of 6 wires are coming from underneath the chassis and through the two holes. The green wires aren’t used. Three wires are connected to the shaft encoders. And two are connected to the motor drivers. From there the other main thing is the terminal block that redistributes voltage. There are 4 black and red wires. The red ones go to Vin in each motor driver and the PCB. The black wires go to GND in each motor driver and Vin on the PCB.
Figure 17: Wiring Diagram of Chassis
Past generations have done a lot of models and tests that have helped us better understand how parts function and or if they can be used.
This blog post shows a stress test of an earlier version of the rover. The rover has added more weight since then, but the results of this test are still useful to know.
As of this moment the rover uses the arxterra app through the use of Bluetooth and the only commands it has is to move or turn. A goal of the rover is also to be able to implement waypoint navigation. So be able to control the rover from far away or be able to give it coordinates have it go there automatically.
The purpose of our electronics is to first and foremost get and fully moving rover. There are 6 wheels with 1 motor for each wheel. We use motor driver shields to control the motors and the encoders on the motors. We are also using a Bluetooth breakout board to communicate with the Arxterra app and a buck converter to bring down the voltage from 12v to 5v. This blog post, even though it is not the final design, goes into more detail why we are using these parts.
Figure 18 shows roughly what our final design of the PCB looks like. The white connectors are the headers for our housing and the black headers are for the current sensors. Figure 19 shows how the motor driver shields fit on the board using the card guides. As can be seen in figure 19 the motor shields don’t fit into the motor shield PCB. I didn’t account for the extra space needed for the right angle’s pins so it’s off a little. We didn’t populate the whole board because we ran out of time and pins needed to plop the PCB onto the Arduino. Another downside of my design is that the parts on the bottom, shown on Figure 20, are too big so there isn’t a good fit with the pcb and the Arduino. Figure 21 shows how the housing connection looks like. As can be seen, the wires before were just loose wires. The only reason that they stay in the connector is because they got crimped and are now stuck in place. In the previous PCB design, the wires would get knocked out of the headers that they used because they weren’t stuck into place.
This blog post explains how to get the arxterra app and how to use it using bluetooth.
The rover’s chassis components are unchanged from generation #5. This link will describe most of it. It talks about the new aluminum box and lid that was made to house all the electronic components and a new mounting hub that was made to help easily dissemble everything. Plus, the new motors that they got which had encoders needed to measure and vary the speed of the wheels to implement a slip differential.
Figure 22 is our Verification and Validation Matrix
The way we are testing these requirements through a series of tests. The first test is having Pathfinder go through its predetermined course laid out by the 3rd generation. The second test is to be able to assemble and disassemble the electronics of the chassis from the PCB within 20 minutes. The third test case is testing the Bluetooth connection between the Chassis and the Arxterra app. The fourth test case is the customer reviewing the costs by looking at all the receipts. The fifth and final test is to check all the requirements that been fulfilled excluding L1-1.
Concluding Thoughts and Future Work
By Cristian Figueroa:
The PCB is going is going to have to get redesigned again. The changes that I would make is move the headers on the small PCB a little to the side for the Motor Shields to fit. I would also make the capacitors and inductors on the bottom through-hole instead of surface mount so that there won’t be complications with fitting the PCB onto the Arduino. Also, it was realized that the place that the electronics are placed in the chassis, it’s difficult to plug in the USB cable for the code because of the orientation of the electronics and its surroundings. So, our solution for that is to use a USB cable assembly to help with that problem.
Other stuff that should be considered for the future are in this blog post. Specifically in the section about changes to still be made.
I would recommend future students to consistently update the professor Hill on tasks you are working on and how it is progressing. Professor Hill can help if problems occur or advise you on what needs to be done to progress your project. Arxterra has a lot of information on all the projects, so use it to get a good understanding about your project and the requirements that need to be completed. For the verification and validation, I would advise you go through the level 1 requirements and try to make test cases that can cover as many of them together as possible.