Custom Commands – Bluetooth Communication

By: Jordan Smallwood (Project Manager)

Approved by: Miguel Garcia (Quality Assurance)


Table of Contents

Introduction

One of the many benefits of working with the Arxterra App is the ability to create custom commands and communicate with your robot over Bluetooth. Although many of the necessary commands have been predefined there is still plenty of room to create custom user defined commands to make navigating and controlling your robot a breeze.

In this blog post we will examine the MOVE command which will allow the user to control the robots speed and orientation using the D-Pad on the Arxterra App. We will walk through how to set this up step-by-step to ensure that future semesters can focus on other aspects of their project.


Parts Required

  • Wheels with electric motors (Pathfinder has 6)
  • Motor Driver (Pololu VHN 5019)
  • Microcontroller (Arduino Mega2560)
  • Bluetooth Device (HM-10)
  • Android or iOS Device with Arxrobot App (iPhone 6)
  • Power for Electronics (12V Lead Acid Storage Battery)
  • Robot3DoT Library

Step 1: Physical Connections

First and foremost, you will need to wire everything up, that is motors to motor driver(s) and motor driver to the microcontroller. This can be done by looking up the data sheet for your specific motor driver and wiring accordingly. Also, you will need to connect your Bluetooth device to the microcontrollers serial port as well ensuring that TXD -> RXn & RXD -> TXn.


Step 2: Downloading the Arxterra App

In order to gain access to the Arxterra App you will need to get in contact with Jeff Gomes. The app is available for both android and iOS devices, however, it is easier to get the app onto an android device. There is one additional step when it comes to installing the app on an iPhone. Since the App store is a little bit more selective as to what they offer, the Arxrobot app is still considered to be in beta testing and you will need your specific Apple user ID to get access.


Step 3: Import the Robot3DoT Library

This is where you will find a lot of the code that will make your life a million times easier. This library can be found here. In order to import this library you will first need to download the library, leaving it in its .zip format. Once you have downloaded it you can import it into the Arduino IDE by opening your computers file folder and dropping that file into the library file within your Arduino folder.


Step 4: Including and using the Robot3DoT Library

After you have imported the library you will need to open a new script within the Arduino IDE. Now you will want to include this library in the sketch you have created and you should see at the top of your code the library include statements. If you would like to get a better understanding of how the code works you can view the libraries by finding them in the Arduino folder under libraries and selecting the libraries .cpp file. This can be very beneficial as you can make sure this code works for your specific purpose and if not then you can make modifications as needed.

Now you will need to insert the following lines of code to be able to use the command handler properly. All of these are entered before your setup code.

  1. Robot3DoTBoard Robot3DoT; // Instantiate as Robot3DoT at end of class header
  2. const uint8_t CMD_LIST_SIZE = 1; // total number of custom commands
  3. void moveHandler(uint8_t cmd, uint8_t param[], uint8_t n);
  4. Robot3DoTBoard::cmdFunc_t onCommand[CMD_LIST_SIZE] = {{MOVE,moveHandler}};

 

  • Note that for custom commands you will need to define the specific ID for that command. For example, the MOVE command is already associated with ID 0x01 and does not need to be redefined.

Within the setup code you will want to insert the following:

  1. Serialn.begin(9600); // This opens up the serial port that your Bluetooth device is connected to.
  2. Robot3DoT.begin(); // This is a predefined setup function within the Robot3DoT Library
  3. Robot3DoT.setOnCommand(onCommand, CMD_LIST_SIZE);

 

In the main loop make the call:

  1. Robot3DoT.loop();

Now you’re ready to write your command handler functions. The MOVE function already has functions that are associated with it but you are able to write your own functions if you’d like. For our purposes we wanted a simple move function to control it’s direction at a specified speed. The directional pad has four buttons: up, down, left and right. They all have their own unique ID associated with them and by processing the data sent to the Arduino we can assign their values accordingly. For example:

Figure 1: Implementation of a command handling function, Credit: Mark Huffman


Step 5: Verify Bluetooth Connection

This is perhaps the most troublesome step. When I was setting all this up I could not seem to get any sort of communication with the app and the Arduino. After wasting hours of changing serial ports, examining the libraries and looking up troubleshooting methods I discovered three key issues.

  1. The HC-06 device we had from a previous semester was defective. I discovered this while looking up troubleshooting methods. A simple way to determine if your device is defective is by creating a “transmission loop”. This is done by shorting the RXD and TXD pins on the device and making sure it is turned on (If it doesn’t even turn on that’s your first clue). Download the free app Bluetooth terminal on your iPhone or Android and connect to it. Once you are connected you can send the device ASCII characters and it should send back exactly what you sent. If you are getting no response then your device is most likely defective.

 

  1. There are different kinds of Bluetooth technology. iPhones only operate with BLE communication whereas Androids can use a variety. If you plan on using an iPhone to control your robot make sure you have an HM-10 or HM-11 device to connect to. Also, make sure that within the Arxrobot app phone configuration settings you have selected the proper Bluetooth connection.

 

  1. For some reason the Arduino Mega will not allow you to upload code if you have Bluetooth connected to the Serial port. In which case I moved the Bluetooth to the Serial1 port. Since I changed the serial port physically and not within the software there was no established communication line. Let this be a reminder to make sure the serial port you are using is being called within the code otherwise this can be a nightmare.

 

  • Hopefully future semesters can learn from my shortcomings and not have to struggle with this aspect of their project.

Step 6: Drive Around or Something

Now that you have setup Bluetooth communication, defined your motor functions and wrote the code to establish communication between the app and your device you can literally do anything you want from blinking an LED to autonomous GPS navigation. Just know that all of your commands are going to be in this type of format and you can extract whatever information you want and do with it what you will.


References

  1. https://www.arxterra.com/goliath-fall-2017-app-setup-and-remote-control-user-guide/
  2. https://www.arxterra.com/goliath-fall-2017-custom-telemetry-custom-commands/

Spring 2018: BiPed Work Breakdown Structure

By: Miguel Gonzalez (Project Manager & Manufacturing)

Approved by: Miguel Garcia (Quality Assurance)


Table of Contents

Work Breakdown Structure

For project BiPed, the group consisted of three members fulfilling the roles of Project Manager, E&C, MST, and Manufacturing Engineer. Since the group consisted of fewer members than the positions to fill the manufacturing role of the team was given to the Project Manager.

The diagram below shows the workload of the project and how it is distributed among the team. It is based on the job descriptions and shows major tasks that each person is responsible for. We will be taking a look at each team members role more closely to better understand the structure of the team and its workload.

Fig.1 BiPed Work Breakdown Structure

Miguel Gonzalez (Project Manager)

Fig.2 PM and Manufacturing Engineer Tasks (Blue)

At the top of the WBS in blue, we have the project manager section. Note that in our case the project manager is also the manufacturing engineer and thus the tasks for both roles are given to the same person. The second blue icon shows the tasks specific to the project manager which has the project manager responsible for the following tasks:

  • Creating and managing schedule
  • Creating a budget list
  • Creating the preliminary report
  • Creating the final blog post
  • Creating project video
  • Define Work Breakdown Schedule

The manufacturing tasks given to the project manager are listed to the right side of the WBS also in blue. These tasks are broken down into three sections Mechanical Design, 3D Modeling, and Assembly. These sections were created based on which tasks are needed to be done before moving on to the next section. For example, Mechanical Design is a prerequisite for 3D Modeling and Assemble thus it is located on top of the other tasks.

Jeffery De La Cruz (MST)

Fig.3 MST Tasks (Red)

Moving on to the left side of the WBS (in red), we have all the tasks assigned to the MST engineer. Once again, these tasks are divided up into three sections System Designs, Software, and System Tests. The system designs include tasks that have a focus on research and trade studies that will end up helping with the software development and system test. Once those tasks are done the MST engineer can proceed with implementing the software with the Arxterra control panel and onto an android application. The final tasks for the MST engineer focus on verifying and testing all sections of the robot to see if they are operational.

Jorge Hernandez (E&C)

Fig.4 E&C Tasks (Green)

The final branch in the WBS applies to the E&C engineer and his tasks needed for a successful project. The E&C has the greatest responsibility for the success of the robot becoming operational. His roles are divided into 4 categories Electronics Design, Experiments, Microcontroller, and Control. These categories cover a wide range of taks that need to be realized to proceed with the overall goal of the Biped project which is stated in our preliminary design blog post and here.

Spring 2018: Biped Fabrication Methods (Trade-off Study)

By: Miguel Gonzalez (Project Manager & Manufacturing)

Approved by: Miguel Garcia (Quality Assurance)


Table of Contents

Related Requirements

L1-3: Micro FOBO will have 2 legs.

L1-4: Micro FOBO will be a toy robot based on the design of the FOBO by Jonathan Dowdall.

L1-18: Micro FOBO shall be able to traverse cloth, paper, and linoleum materials.

Introduction

When thinking about manufacturing our robot we looked at the many fabrication methods available that we could use to create the BiPed. Of course, the list of ways we can manufacture our robot can be endless, but we made sure to focus our research to limit this list. Our goal for this study is to list the most feasible methods of fabricating our robot and compare the pros and cons of each method. The top three most feasible fabrication methods we could implement on our robot was sheet metal folding, laser cutting, and 3D printing. This blog study will look at each method mentioned to see the benefits and disadvantages of incorporating them into our design. Below you can find our study and the results we arrived when conducting a few tests.

Sheet Metal Folding Method

Fig.1 Sheet metal folding example

The first fabrication method we looked at was sheet metal folding which is a process of getting thin metal sheets and cutting them into specific shapes that would be folded to produce a three-dimensional shape. This shape can be a servo mount, 3DoT casing, robot feet, and so much more. Sheet metal folding is cheap and is a good way to produce sturdy parts rapidly without much effort. One of the drawbacks of this method is that complicated designs are almost impossible to produce. Accurately measured pieces are hard to produce and making exact copies of parts that share the exact dimensions are nearly impossible to make using this method. These drawbacks are too big to ignore especially when we plan on creating a robot that requires precision measurements and complicated design.

Laser Cutting Wood

Fig.2 Laser cutting example

The next fabrication method we consider was laser cutting. Laser cutting is a very niche fabrication method for hobbyists but has been gaining traction in the recent years. With the laser cutting method, you can use various materials for your builds such as sheet metal, plastics, and even wood. This method of fabrication utilizes the precision of a powerful laser to cut material into a predefined shape. This means that you can achieve very accurate and precise cuts. Laser cutting, in general, is very versatile but our team realized that we lacked knowledge on how to use a laser cutter. It was also clear that laser cutting would only be used for a section of our robot design and can’t make complicated three-dimensional shapes that extend well above the laser’s cutting threshold. This takes us to the third fabrication method mentioned below.

3D Printing

Fig.3 3D Printing Diagram

Out of all the fabrication methods described in this blog post, 3D Printing was the only method of creating stuff that has been used by a team member. 3D Printing is a fabrication process of creating a three-dimensional object by adding small amounts of material upon itself until the desired shape/object is obtained. There are multiple ways a 3D printer can produce a design, but we focused on an additive manufacturing process called Fused Filament Fabrication (FFF). This is the most common consumer grade process that is readily available.

With 3D printing, we can model our robot’s chassis designs and print them out at the same dimensions specified in the CAD model. This would allow us to expedite the design and manufacturing process in our project. 3D printing also allows us to create precise measurements and make exact copies of parts while maintaining constant measurement accuracy at each copy. With FFF 3D printing we are limited to using only plastic materials but fortunately, we can choose from various plastics that have different properties. In a later blog post, we will be looking at the different materials available for FFF 3D printing and looking at their properties.

Conclusion

After considering all three methods of fabrication we decided that we should use 3D printing to create all the designs in our robot. 3D printing’s only drawback was that it can only produce stuff in plastics, but our team has concluded that plastic has enough robustness to make our robot function and complete the maze. Lastly, our class has been informed that multiple 3D printers are available in house to produce our robot parts and thus this method of fabrication is also the most available for us.

Sources

  1. https://www.tractorsupply.com/know-how_hardware-tools_metalworking_working-with-sheet-metal-safety-tools-and-sheetmetal-projects
  2. https://www.wikihow.com/Use-a-Laser-Cutter
  3. https://library.ucalgary.ca/makerspace_equipment/3D_printing
  4. https://www.3diy.org/

Rocker-Bogie Suspension System

By: Adolfo Jimenez (Manufacturing)

Verified By: Jordan Smallwood (Project Manager)

Approved by: Miguel Garcia (Quality Assurance)


Table of Contents

Introduction:

In order to mimic the suspension capabilities of the rovers sent to Mars by NASA, our rover will incorporate the same rocker bogie suspension system utilized by the Mars rovers to traverse an extreme desert-like terrain. This suspension system, introduced with the original Mars Pathfinder project, is the same design preferred by NASA for nearly all the Mars rovers. The main advantage of this type of suspension system is that the load on each wheel is nearly identical and thus allows an equal distribution of force regardless of wheel position. Taking into consideration the harsh terrain found on Mars this type of suspension system provides a better alternative to that of the common 4-wheel drive soft suspensions found on most automobiles.

Figure 1: View of Differential Gearbox System without Box


Design enhancements:

For our project, since we are mainly building upon the design of previous semesters, we can utilize the things they did correctly and build upon things they may have overlooked. The main design difference, as it pertains to the suspension system, is the addition of a differential gear box. Whereas previous semesters utilized a barely functioning differential bar, or no differential at all, this semester we decided to remove the bar entirely and replace it with a much more functional differential gear box. This addition of a differential gear box will offset the wheel assemblies by about .8 Inches on each side and raise the main platform about .38 inches higher from the ground. Upon further research of rover suspension systems our group discovered a helpful blog on a website called Beatty Robotics. The website provides many helpful blogs describing the design and creation process for many custom Mars rovers and other robots. The particular blog post that helped us meet our needs pertained to a differential system used for a custom Spirit II Mars rover. Feedback on the blog pertaining to the parts used lead us to the website McMaster-Carr where we were able to order the parts to assemble our own Differential.


Suspension- Wheel Assembly:

Figure 2: Wheel Assembly

The wheel assemblies contain a total of 6 wheels with a symmetric build for both sides. Each side contains 3 wheels which are connected to each other by two links. The main linkage called the rocker has two joints, one affixed to an axel forming the differential mechanism and the other connected to the remaining two wheels. This linkage from the rocker to the other linkage between the two wheels is known as a bogie (hence the name rocker bogie). To go over an obstacle, the front wheel is forced against the obstacle by the center and rear wheels. The rotation of the front wheel then lifts the front of the vehicle up and over the obstacle. The middle wheel is then pressed and pulled against the obstacle by the rear and front wheels respectively until the wheel is lifted up and over the obstacle. Finally, the rear wheel is pulled over the obstacle by the front two wheels.


Suspension- Differential Gear Box:

Figure 3: Differential Gear Mechanism Close-up

The differential is composed of three identical beveled gears situated 90-degrees from each other at the center of the rover. Each gear is affixed to a 6-inch steel drive shaft that is mounted to the rover body by 2 mounted sleeve bearings. One gear connected to the left, one gear connected to the right, and the last gear assembled onto the main platform. The two rods facing opposite of each other on the left and right of the robot help serve as axels for the wheel assemblies. The axils are connected to the wheel assemblies by 2 parallel aluminum tubes that make up the rocker bogie suspension system. The inclusion of this differential insures that the robot’s body and pitch angle are always adapted even if one side of the rover steps over an obstacle. If one leg goes over an obstacle, an opposite force is applied to the other leg. So, if one leg goes up, the other leg goes down. This downward force onto the opposite leg helps the robot maintain traction in the leg assembly that is still on the ground. The way this works is when one side changes in pitch, say for instance one side begins climbing over an obstacle, this mechanism rotates the main body around the rocker joints by the average rotation angle of the two sides. For this differential mechanism, all gear ratios are the same. That means if the left gear rotates 10 degrees and the right gear rotates 20 degrees, the main platform will rotate 10 + 20 = 30/2 = 15 degrees or the averaged amount. This keeps the main box more level (less tilted) than it normally would be when going over large, uneven obstacles.


References:

  1. https://www.arxterra.com/2016-pathfinder-design-and-manufacturing-rocker-bogie-suspension-system-design/
  2. https://www.arxterra.com/news-and-events/members/pathfinder/pathfinder/pathfinder-generations/pathfinder-generation-4/
  3. https://en.wikipedia.org/wiki/Rocker-bogie
  4. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.538.6955&rep=rep1&type=pdf
  5. http://beatty-robotics.com/differential-for-mars-rover/
  6. https://www.mcmaster.com/

Pathfinder Preliminary Design Blog Post – Spring 2018

By: Jordan Smallwood (PM), Diane Kim (E&C), Mohammad Yakoub (MST), Adolfo Jimenez (Manufacturing)

Approved by: Miguel Garcia (Quality Assurance)


Table of Contents

Project Overview

By Jordan Smallwood

Project Objective:

The Pathfinder is a project that has been passed down from generation to generation. The originators built the chassis and original idea back in the fall semester of 2016. A rover like this does not make its way into the EE department that often since the lot of us don’t typically have much experience with welding and fabrication. Luckily enough for our group we will be picking up the slack where the previous teams had left off. It seems as though every semester that attempts this project faces failure in one way or the other whether it is the differential rocker-bogie mechanism or leaving wires exposed to short the 12V golf cart battery. Either way, the overall aim of this project is to finally finish what other groups have started and that will be defined in the following sections of this report.


Mission Objective:

By Jordan Smallwood

The Spring of 2018 Pathfinder will follow the path laid down by previous Pathfinders. The mission will begin in front of the CSULB library where the rover will exit its cocoon state. The rover will then proceed to begin its journey through campus, a 0.09 mile journey to its charging station. There will be 10 predefined GPS checkpoints along the way and the rover will traverse a flight of stairs. Once the rover has arrived at the charging station it will begin to track the sun and provide the Arxterra user with up to date battery level conditions. Specifically the Pathfinder will demonstrate the following:

  • Custom solar panels capable of tracking the sun and exhibiting optimum orientation so that battery charge takes the least amount of time.
  • The rover will be able to enter and exit a cocoon state. The term cocoon state implies that the solar panes will fold up so that in the event of a dust storm the solar panels will not become damaged. This state will be entered if the rover is in launch, a dust storm or whenever the rover is operating over steep terrain.
  • The rover will be able to communicate with the Arxterra app providing information like battery level, panel angles, panel voltages and charging current.
  • The solar panels will have a form factor identical to those of the Spirit and Opportunity Mars Rovers.
  • The rover will exhibit a 6-wheel slip differential for turning and traversing rough terrain. Since the robot will be climbing over random objects, some wheels will not require the same speed as other wheels and this needs to be considered while operating the rover.
  • Demonstration of GPS navigation with obstacle avoidance.
  • The course mapped out by F’16 and S’17 will be the same course for S’18.
  • There shall be no modification to the rover that stands in the way of high desert operation.

Project Requirements

By Jordan Smallwood

Level 1 Requirements

  1. The pathfinder will travel a 0.09 mile course. This course includes going up a set of 3 stairs at a 70 degree incline and another set of 3 stairs with a decline of 70 degrees.
  2. Pathfinder shall launch from a cocoon state
  3. The Pathfinder will enter and exit the cocoon state by Arxterra app user input.
  4. Pathfinder shall allow the user to enter the “articulate state” program module which will be available once the Pathfinder has exited its cocoon state. This sequence will direct the solar cells at the proper orientation to allow max charge of the battery.
  5. The Pathfinder will update the user with information about panel angles, GPS location, battery level and charge current when in the “Articulate state”.
  6. The overall solar panel system will consist of two side panels, a rear panel and a base panel.
  7. The solar panel design will be identical to those of the Spirit and Opportunity Mars Rovers.
  8. A 6-wheel electronic slip differential shall be implemented
  9. Wheels under a no-load condition will be considered and power to that motor will be decreased.
  10. The Pathfinder shall demonstrate obstacle avoidance while making its journey through campus.
  11. Any modifications made to the Pathfinder shall not inhibit the rover’s ability to operate in high desert condition.
  12. Rocker bogie mechanism shall be improved by implementing a differential gear-box system as opposed to the differential bar.

 


Level 2 Requirements

By Jordan Smallwood

  1. Course Duration
    • The power budget of our overall design will determine the duration of our course, once this has been completed the actual distance traveled will either be verified by this or will have to be changed to a shorter distance.
    • In order to travel up these stairs our mass report along with our motor mock up will verify that this can be accomplished.
  2. Cocoon Launch
    • To perform the cocoon state function the solar panels will be mounted to worm gears attached to DC stepper motors to ensure smooth operation.
  3. Enter/Exit Cocoon State
    • The Pathfinder shall communicate via Bluetooth with the Arxterra user and will have an interface allowing the user to enter/exit the cocoon state.
  4. Articulate State
    • The articulate state module will adjust the positions of the solar cells using a proportional controller.
    • The proportional controller will accept the charge rate as an input and will output changes in orientation.
  5. Telemetry
    • While communicating with the user via Bluetooth on the Arxterra app the Pathfinder shall respond with packets of information related to this information.
  6. Solar Panels
    • These four panels will be constructed of aluminum such that the rover can operate in the harsh desert conditions typical of Mars.
    • The side and rear panel’s will be capable of position orientation to enter and exit the cocoon state and also optimize battery charge
  7. Solar Panel Form Factor
  8. 6-Wheel Electronic Slip Differential
    • A coded differential will be used ensuring that the wheels are spinning at the same rate.
    • IR range sensors will be mounted to the motors to determine the velocity of the wheels
    • Current sensors will be used to determine the load on the wheels
  9. No Load
    • To conserve energy, the rover will stop rotation of a freely moving wheel using the current sensors
  10. Obstacle Avoidance
    • Ultrasonic sensors will be used to determine if an obstacle is in its path.
    • An obstacle avoidance routine shall be implemented.
    • The rover will not make any attempt to climb an object that it is unable to clear
  11. Modifications
  12. Rocker-Bogie Mechanism
    • The differential gear box will be constructed of three miter gears, three machined shafts, six mounted bearings and shaft collars
    • This mechanism will be mounted below the Pathfinder and enclosed in an aluminum box with the electronics.
    • This box shall be easily removed for inspection and maintenance.

 


Work Breakdown Structure

By Jordan Smallwood

Figure 1: Work Breakdown Structure for Pathfinder Project


Product Breakdown Structure

By Mohammad Yakoub

Verified By: Jordan Smallwood

Figure 2: Product Breakdown Structure for Pathfinder Project

 


Resource Reports

By Mohammad Yakoub

Verified By: Jordan Smallwood

Power Report:

Figure 3: Preliminary Power Budget

Mass Report:

 

Figure 4: Preliminary Mass Report

Cost Report:

Figure 5: Preliminary Financial Report


System Block Diagram

By Mohammad Yakoub

 

Figure 6: Preliminary System Block Diagram

 


Interface Matrix

By Jordan Smallwood

Figure 7: Preliminary Interface Matrix


Software Design

By Jordan Smallwood

  1. Obstacle Avoidance: In order to make sure that the Pathfinder does not fail the mission, ultrasonic sensors will be used in the front of the rover to verify that an object is not too large for Pathfinder to climb over. This routine will take place within the software and more information will be provided at a later time.
  2. GPS Checkpoint Navigation: Pathfinder will use GPS location information from the on-board iPhone or Android device and follow the course as defined in the mission objective. This will involve some type of digital controller and will be implemented in software. Again, these are preliminary concepts and not much has been constructed as of now but will be provided as the semester continues.
  3. Motor Functions: Pathfinder will perform very basic motor functions such as go straight, turn around, turn left, turn right and stop.
  4. Read Encoders: To determine the speed that each wheel is spinning this function will examine the current speed of each wheel by counting the pulse trains given from the IR sensors mounted to the wheels.
  5. Stop Motors Under No-Load: By examining the current associated with each motor we can make sure we are not spending energy for nothing. This will most likely be a conditional statement and if the current state of the motor is under a no-load condition, then the power supplied will be cut off. Reinitializing the motor speed once a load is present will have to be tested though.
  6. 6-Wheel Differential: When making a turn the speeds of each motor needs to be considered since they may be traveling along different paths but need to arrive at the destination at the same time. By examining the speeds of the motors we can modify the PWM signal applied to ensure that we are traveling smoothly.
  7. Exit Cocoon/Articulate Solar Panels: When the user decides to either exit or enter the cocoon/articulate state the microcontroller will apply the functions necessary to do so.

 


Fritzing Diagram

By Diane Kim

Verified By: Jordan Smallwood

Figure 8: Fritzing Diagram

The components inside the chassis contains the following: batteries (2), dual motor drivers (3), ultrasonic sensors (2), servos (2), IR sensors (6), motors (6), and the Arduino Mega 2560 (1). Unlike the previous version which only had 1 battery, we will be using 2 batteries to power up the motor to decrease the size. The ultrasonic sensors are used to navigate the rover. The IR sensors are to be placed beside the wheels to measure the RPM by toggling the signal whenever the spoke of the wheel passes by. The VNH2SP30 dual motor drivers is used to control the speed of the motors thus the wheels. The servos are used for the pan tilt. All the peripheral systems are connected to the Arduino Mega 2560 to input and output signals.

 


Mechanical Design

By Adolfo Jimenez

Verified By: Jordan Smallwood

2D Drawings (Dimensions all in inches):

Rear and Top Side View:

Side View (left):

Figures(9,10,11): 2D Layouts of Physical Structure

For the pathfinder project, since we are mainly building upon the design of previous semesters most of the dimensions and physical parts will remain the same. The main design difference for the time being is the addition of a differential gear box. Whereas previous semesters utilized a barely functioning differential bar, this semester, we decided to remove the bar entirely and replace it with a much more functional differential gear box. This addition of a differential gear box will offset the wheel assemblies by about .8 Inches on each side and raise the main platform about .38 inches higher off the ground.

Differential Gear Box

Figures(12,13,14): 3D Layouts of Physical Structure

Two planar aluminum tubes for the rocker boogie suspension system are connected to each other by a differential mechanism. When one side changes in pitch say for instance one side begins climbing over an obstacle, this mechanism rotates the main body around the rocker joints by an average angle of two sides. Gear A connected to the left, gear B connected to the right and gear C is assembled on the main platform. In differential mechanisms, all gear ratios are the same. That means if gear A rotates 10 degrees and gear B rotates 20 degrees, the main platform will rotate 15 degrees.


Verification and Validation Plans

By Mohammad Yakoub

Verified By: Jordan Smallwood

 

Figure 15: Verification and Validation Part 1

 

Figure 16: Verification and Validation 2

 


Test

By Mohammad Yakoub

Verified By: Jordan Smallwood

3.3.1 Final Run

Description: The Pathfinder will follow a course That is 0.9 miles in length. The course will includes going up a set of 3 stairs at a 70 degree incline and another set of 3 stairs with a decline of 70 degrees. The robot will start the course in a cocoon state and will deploy solar panels.

Test Environment: Outside the classroom

 

3.3.2 Proportional Controller

Description: The Pathfinder will adjust solar cells using proportional controller.

Test Environment:  Inside a classroom

 

3.3.3 Cocoon

Description: User will use the Arxterra App to enter and exit cocoon mode.

Test Environment: Inside a classroom

 

3.3.4 Articulate Mode

Description: The user will use the arexterra App to activate ‘articulate mode’, and receive feedback from the Arxterra App.

Test Environment: Outside the classroom

 

3.3.5 Weighting

Description: Placing the fully assembled Pathfinder on a weighing scale.

Test Environment: Inside a classroom

 

3.3.6 Scale  

Description: Goliath should resemble the ‘Spirit Mars Rovers’

Test Environment: Inside a classroom

 

3.3.7 Obstacle Avoidance

Description: The Pathfinder will avoid obstacles while running the final course.

Test Environment: Outside the classroom

 

3.3.8 Solar panels

Description: The Pathfinder solar Panels will be made out of metal and use a stepper motor

Test Environment: Inside a classroom

 

3.3.9 Feedback

Description: The Pathfinder will relay information charging panel angles, GPS location, battery level and charge current through the Arexterra App

Test Environment: Outside the classroom

 

3.3.10 Diff Gearbox

Description: The Pathfinder box will be made out of three miter gears, three machined shafts, six mounted bearings and shaft collars.

Test Environment: Inside a classroom

 

3.3.11 Diff Gearbox Case

Description: The Pathfinder Diff Gearbox will be enclosed in an aluminum box.

Test Environment: Inside a classroom

 

3.3.12 Mods

Description: The add modifications on the Pathfinder will hinder its ability to function on hard terrain.

Test Environment: Inside a classroom

 

3.3.13 RPM

Description: Use current source to measure the RPM of each wheel at different loads.

Test Environment: Inside a classroom


 Schedule/Planning

By Jordan Smallwood

 

Figure 17: Schedule Part 1

 

Figure 18: Schedule Part 2

 

Figure 19: Burndown Chart


References

  1. https://www.arxterra.com/pathfinder-s17-preliminary-project-plan/
  2. https://www.arxterra.com/spring-2016-pathfinder-preliminary-design-documentation/
  3. https://www.arxterra.com/the-pathfinder-fall-2016/
  4. https://www.arxterra.com/spring-2016-pathfinder-system-block-diagram-interface-matrix/

Making A Turn

By: Jordan Smallwood (Project Manager)

Approved by: Miguel Garcia (Quality Assurance)

The pathfinder will be performing tank type turns, that is it will be pivoting about it’s center to adjust it’s orientation. This can be done by simply adjusting the direction of each of the wheel sets. For example, if you wanted to make a left turn you would do so by setting the right wheels forward and the left wheels backward.

Depending on where you would like to end up at the end of a turn you must consider the arc lengths that each wheel must travel to perform a certain turn. The pathfinder will be pivoting about it’s center point which is described by the following:

Figure 1: Derivation of soft differential speed ratios

By examining the above figure, we can see that motors 1, 3, 4 and 6 will be traveling along the same arc length. The only difference is that the set of motors 1 & 3 will be spinning the opposite direction of motors 4 & 6. Motors 2 & 5 will also be traveling along the same arc the only difference is the radius related to that arc is smaller than the other motor sets.

If we calculate the radii of each of the motors we can determine an appropriate motor speed ratio to pivot the pathfinder.

Figure 2: Calculation of Magnitudes

If we let MS1 be the speed of motors 1, 3, 4 & 6 and let MS2 be the speed of motors 2 & 5 then we can say the following:

Figure 3: Relating Motor Speeds

Now we know that in order to pivot about the center point we need to have MS2 = 0.545*MS1. In a perfect world all of our motors would be matched and the PWM signal to each would be identical and we could simply supply a PWM signal to each motor with that ratio in mind. However, this is not a perfect world and the load on each motor is constantly changing so instead we will need to monitor the speed of each wheel with simple encoders. Since our motors do not include encoders we will have to engineer our own. For our purposes this will be simple IR sensors strapped to the motors aimed at the spokes on our wheels. We could potentially purchase new motors that have included encoders prior to the gearbox so that we can achieve much better resolution but that will have to be a project for a later semester.


References

  1. https://www.arxterra.com/digital-slip-differential-voltage-ratio/

Spring 2018 3DoT Hexy: 3D Print Times

By: Raymundo Lopez-Santiago (Mission,Systems, and Testing)

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

Approved by: Miguel Garcia (Quality Assurance)

 

Update: 04/17/18

After the first protype, the design was changed accordingly to fix issues identified from testing the robot (under stress). The new design has been sent to Ridwan and we are currently waiting for a response. A new table with the 3D print times will be updated later.

 

Introduction    

This blog post covers the overall 3D print time for parts used in the 3DoT Hexy robot. Eduardo De La Cruz (Project Manager/Manufacturing Engineer) has made a sketch and model for 3DoT Hexy in Solidworks. A preliminary 3D print time for 3DoT Hexy is determined using a 3D Print quote from the Long Beach Makers Society and Ridwan. The quote is for using PLA/ABS material. In Fig.1, print times for each part are shown as well as the total print time for all parts using the Long Beach Makers Society’s quote. In Fig.2, print times for each part are shown as well as the total print time for all parts using Ridwan’s quote.  As defined in the core level 2 requirements, 3D printing time shall not exceed the 6-hour limit. Each part should also not exceed a 2-hour limit of printing. At this moment we are planning to 3D print most of the parts needed in the project. We are not including any PCB housing in this print time estimate. The total print time estimated from the Long Beach Makers Society quote with the current design is 6.8 hours which exceeds the total 3D print 6-hour limit requirement. Only one part exceeds the 2-hour limit of 3D printing requirement per part and that is the bottom plate. Our initial plan to tackle both these issues was to pursue an alternative design to reduce the print time for the bottom plate and to manufacture the top plate using laser cutting instead of 3D printing which will reduce our total print time to 4.8 hours. After requesting a quote from Ridwan, we no longer needed to change our project design since the total 3D print times quoted for this project reduced to 5 hours which meets the total 3D print requirement limit. This quote also states that the 2-hour limit of 3D printing requirement per part is not exceeded.

 

Related requirements:

Level 1 Requirements:

C-11:

For quick production of the prototype, the preliminary project shall be restricted to six hours of total printing time with a two hour limit for each single print.

Level 2 Requirements

L2-5:

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

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.

 

Fig.1: 3D print time estimate based on Long Beach Makers Society’s quote

 

Fig.2: 3D print time estimate based on Ridwan’s quote

 

Conclusion

To further get ahead on this project, we went ahead and used the 3D printing services from the Long Beach Makers Society for our prototype due to Ridwan taking longer to respond with the 3D print quote. We plan on using Ridwan’s 3D printing services for our final project print.

 

References

  1. https://docs.google.com/document/d/1GCPoru2ZqR_VMB8tJ2FTlfe8vI3Ci1x_8kVdWjqsFGM/edit?usp=sharing

Goliath Fall 2017 – Final Blog Post

The goal of this project was to improve on 302 Goliath tank design from the Fall 2016 Class and adapt to a completely different mission goal. The mission was to navigate a 2D paper/cloth maze under remote control and then have the Goliath repeat the route autonomously. For an added challenge an extra version was added that where all bots […]

Goliath Fall 2017 – Final Print Model

Overall the design changes made to improve the ratio were successful, the execution was where I ran into the problems mentioned in a previous post [1]. The added cut outs for the LED display and the i/o port worked as expected. The IR sensor was not used in the mission. An improvement on that cut […]