UBC Undergraduate Research

Dark rover rocker-bogie optimization design Brooks, Thomas; Gold, Graham; Sertic, Nick 2011

You don't seem to have a PDF reader installed, try download the pdf

Item Metadata


Brooks_Thomas_et_al_APSC_479_2011.pdf [ 752kB ]
JSON: 1.0074454.json
JSON-LD: 1.0074454+ld.json
RDF/XML (Pretty): 1.0074454.xml
RDF/JSON: 1.0074454+rdf.json
Turtle: 1.0074454+rdf-turtle.txt
N-Triples: 1.0074454+rdf-ntriples.txt
Original Record: 1.0074454 +original-record.json
Full Text

Full Text

DARK ROVER ROCKER-BOGIE OPTIMIZATION DESIGN Thomas Brooks Graham Gold Nick Sertic  Self Sponsored  Applied Science 479 Engineering Physics The University of British Columbia  Project Number 1076 January 18, 2011  Executive Summary There were three goals for this project: to build an inexpensive test track, to design a rocker-bogie suspension system, and to quantify changes in energy usage based on the rover’s geometry. We successfully built a test track capable of repeatable tests, an easily modifiable rocker-bogie system, and found some very favourable results through testing. We tested the rover by running it along the test track and monitoring the instantaneous current and voltage values of each drive motor. By repeating the run several times at a fixed rover configuration we were able to get average values for the run. We then integrated this data and produced a value of energy consumption per configuration. This is the main metric within our report. The most optimal configuration that we tested in terms of minimal energy consumption was with a 90 degree primary angle, back hole mounting, standard slot length. Further tests were done about this point and we also found that energy consumption decreases if the primary angle between the rocker and bogie is increased by tens of degrees, and the slot position is shortened. Overall, the optimal configuration used 15% less energy than the worst configuration we tested, and 6.4% less energy than the next least energetic setup. Moving the slot from the standard mounting position to the shortened one reduced the energy consumption by 2.5%. These results indicate that our tesing setup produces useful results which can be used to guide further design of the rocker-bogie system such that energy consumption is minimized. After conducting this project and analyzing the results we have defined four main recommendations for future work. 1. Further testing to be done with a six wheeled rover chassis. 2. Include more realistic and difficult obstacles on the testing tracks. 3. Use higher quality motors and wheels on the rover. 4. Design the next rover with three driving wheels, instead of two.  2  Contents 1 Introduction 1.1 Background and Motivation 1.2 Project Objectives . . . . . 1.3 Project Scope . . . . . . . . 1.4 Report Organization . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  . . . .  5 5 7 8 8  2 Discussion 2.1 Methods and Testing Protocol . . . . . . . . . . . . . . . . . . . . 2.1.1 Test Track Fabrication . . . . . . . . . . . . . . . . . . . . 2.1.2 Rover Design . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Data Acquisition . . . . . . . . . . . . . . . . . . . . . . . 2.2 Experimental Equipment . . . . . . . . . . . . . . . . . . . . . . . 2.3 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Calculating Energy . . . . . . . . . . . . . . . . . . . . . . 2.4 Discussion of Results . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 General Trends for Front and Back Motor Power Consumption 2.4.2 Energy Consumptions for Different Configurations . . . . . 2.4.3 Overall Rankings of Tested Configurations . . . . . . . . .  10 10 10 11 13 14 15 15 17 18 18 19 21  3 Conclusion  25  4 Project Deliverables 4.1 List of Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Financial Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Ongoing Commitments . . . . . . . . . . . . . . . . . . . . . . . .  26 26 26 27  5 Recommendations  28  A References  31  B MATLAB Code  32  C Solidworks Drawings  38  3  List of Figures 1.1 1.2  Example of a Rocker-Bogie System . . . . . . . . . . . . . . . . . Test Surface used by Miller and Lee . . . . . . . . . . . . . . . .  6 7  2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9  Test Track Profile . . . . . . . . . . . . . . . . . . . . . . . . . . Overhead Linear Track and Vertical Support System . . . . . . . Rocker-Bogie Model . . . . . . . . . . . . . . . . . . . . . . . . . SolidWorks Driving Sketch . . . . . . . . . . . . . . . . . . . . . . Electrical Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . ACS712 Low Current Sensor . . . . . . . . . . . . . . . . . . . . Screenshot of NI DAQ Assistant . . . . . . . . . . . . . . . . . . Typical Trends for Power Consumption of Back and Front Motors Scatter Plot of Energy Consumed for Different Configurations . .  11 12 13 14 15 16 17 23 24  4  Chapter 1 Introduction 1.1  Background and Motivation  In 1970, Lunokhod 1 landed on the moon, becoming the first remote-controlled rover to ever land on a celestial body away from Earth. For 322 Earth days, it travelled over 10,000 meters and transmitted thousands of images back to Earth. In 1997, NASA successfully landed the Sojourner rover on Mars which marked a new age in space exploration - other planets in our solar system. Since then, numerous other rovers have landed on Mars and other objects in our solar system, most notably Spirit and Opportunity in 2004. Technological advances and previous experiences have dramatically improved the lifespan and science capabilities of these space rovers. The inspiration for our project came from a new NASA Centennial Challenge, the Night Rover Challenge, announced in July 2010. This challenge seeks to create a mobile system to collect solar energy, store that energy, and later use it productively. Given that all three members of our team have a keen interest in aerospace engineering, this was an ideal opportunity to pursue a self-sponsored project. Initially we aimed to design a fully-functioning robot with a complete electrical system with the purpose of optimizing the mechanical design for best efficiency. However, due to the large scope of this project and time constraints, we opted to focus solely on the mechanical suspension of the robot, known as the rocker-bogie suspension system. The latest planetary exploration rovers being produced by NASA employ a rocker-bogie system, which is a six-wheel drive configuration (three wheels on either side) for optimal stability and control over uneven terrain. As suggested by the name, each side of the robot has both a rocker and a bogie. The rocker consists of two wheels connected by a linkage to a pivot on the main chassis, while the bogie consists of a single front wheel connected to a pivot on the rocker linkage. This configuration is illustrated in Figure 1.1. There are several advantages to using such a system. First, it negates the need for axles and springs, which are usually susceptible to dust accumulations in harsh  5  Figure 1.1: Example of a Rocker-Bogie System environmental conditions. As such, the lifespan and durability of the rocker-bogie system is longer. Second, it allows for each of the six wheels to remain in contact with the ground while it traverses over obstacles. It is important to note that the rocker-bogie system allows for the rover to travel over steps up to two times the wheel diameter. Third, since each of the wheels is powered individually, it allows for an equal balance of the load being spread between the wheels and motors. The main problem associated with current planetary rovers (including those with rocker-bogie configurations) is their slow speed. This is a result of two factors. First, in order to pass over obstacles the rover must be geared down significantly to allow for enough torque to raise the mass of the robot. Consequently, this reduces overall speed. Second, if the rover is travelling at a high speed and encounters an obstacle (height greater than 10 percent of wheel radius), there will be a large shock transmitted through the chassis which could damage the suspension or flip the rover. Hence, current rovers travel at a velocity of 10cm/s through uneven terrain. Research was conducted by Dr. David Miller and Dr. Tze-Liang Lee to improve the rocker-bogie design to allow for higher speeds. This group recommended an eight-wheel design which minimized the chances of flipping as a result of ’wheelies’. While our rover is not intended to travel at high speeds, it is possible for us to create such a rocker-bogie system. However, we suspect that the efficiency gained by the extra wheel will be small compared to the increased power consumption from the extra wheel. Other research has been conducted by Dr. Herve Hacot, Dr. Steven Dubowsky, and Dr. Philippe Bidaud from MIT which analyzed the force distribution and stability of the robot. Their intent was to spread the driving torque as evenly as possible across each driving motor while maintaining a minimum ’stability margin’. However, their work was based primarily upon computer simulation instead of actual experimentation. Nonetheless, the kinematic equations derived from their work will be valuable for our optimization efforts. 6  The Miller and Lee group also constructed a track for testing their rocker-bogie configuration, as seen in Figure 1.2. They mounted one side of a rocker-bogie to a frame which constrained the motion in the lateral direction. The wheels rolled upon an un-powered conveyor belt, and forces were determined from strain gauges attached to each wheel support. We intend to construct a similar test surface, though without a conveyor belt, as described later in this report.  Figure 1.2: Test Surface used by Miller and Lee The focus of our project is to maximize the efficiency of the rocker-bogie system such that it uses the least amount of energy. Our hope is that the optimized system can be used for an actual Night Rover in the future.  1.2  Project Objectives  There were three main objectives to our project: 1. Build a test platform from inexpensive materials capable of accurately and repeatably testing different rover suspension systems. 2. Design and build three different rover suspension systems each using the same motors and wheels. 3. Analyze results and refine our rover designs to find optimal geometric properties of the rover. We initially proposed to build a test platform capable of accurately and repeatably testing the performance of three lunar rover suspension designs. We also 7  intended to design and build three different suspension designs and subsequently test them. We have refined our proposal to focus on optimizing the geometry of a singular suspension system mounted to a test track. Testing consisted of comparing the speed and power consumption as related to distance as the rover travels over the test course for various geometry of the suspension. In addition to this test, we hoped to investigate further characteristics of our design such as the influence of extra mass, finding an optimal torque for the motors, or possibly even intelligent control of each individual motor’s current. Unfortunately this was not completed due to time considerations.  1.3  Project Scope  From the beginning, this project was intended to be an empirical and experimental approach to testing the rocker-bogie’s geometry based energy consumption, and not to rely too heavily on analyticial methods to make predictions of performance. If desired, this could be done in future work. That is, we could derive the analytical representation of our experiment and corroborate this project’s results with the calculated results. This would further validate the recommendations of this report. The project’s slight aversion to an analytical approach is for two main reasons. Firstly, the mathematics required to model such a multi-linkage coupled device is at least at a graduate level and has only been done by one group we could find - thus it would not be entirely reliable for us to base derivations off of their approach. Secondly, during previous lab and project courses we found that unless you completely isolate one variable in a very controlled way, the analytical expectation can be quite different from the experimental results. Instead, by just doing the experiment as controlled as possible and measuring the final outcome we do not have to consider the effect of, for example, the coefficient of friction between sand-paper treaded wheels and a carpet underlay. By doing this project empirically we are able to avoid all of the complicated contributing factors, and instead focus on a few main geometric parameters and their overall influence on the consumption of energy of our rover.  1.4  Report Organization  This report is generally organized in a linear fashion into sections: Section 1 The introduction covers details of the project background, objectives and scope. Section 2 Discussion of the testing procedure including test track fabrication, rover design, and data aquisition. Further included is discussion of the experimental equipment, data analysis, and results therein. 8  Section 3 A conclusion of the report and project. Section 4 Mention of the project deliverables and a financial summary. Section 5 Recommendations of the report based on the discussed project results.  9  Chapter 2 Discussion 2.1 2.1.1  Methods and Testing Protocol Test Track Fabrication  We constructed a testing apparatus that simulates the rough terrain that a lunar rover would encounter. There were two important considerations to incorporate into the design of the testing apparatus: 1. Repeatability with subsequent tests. 2. Similarity to Lunar and Martian terrain. Our personal goal with the test track was to make it as inexpensive, modular, and simply as we could. We built a flat test surface from a sheet of plywood and created two obstacles of different slope and height on the surface. The obstacles were arranged perpendicular to the travel of the rover and the rover travelled the same path during every test. In order to ensure the first condition we made the support system for the rover suspension as low friction as possible by using two sets of low friction wheels on two parallel tracks. Using two tracks has the benefit over using one in that there will be no risk of a moment occurring due to the rover going off-course. Each parallel track bore a normal force only and this should greatly reduce friction and increase the repeatability of each test. This arrangement can be seen in the Figure 2.1. In order to replicate the surface of the Moon we considered using a sand pit. This is the ideal setup in terms of testing the suspension system’s performance, but we were worried that if we tried to run multiple tests it would be very time consuming and that there would be inaccuracies in trying to level the sand exactly the same every time. We decided that the best solution to this problem is to use a wool underlay that is stapled to the plywood. This solution has the benefit of being more difficult to traverse than a firm surface and saved a significant amount of time between 10  Figure 2.1: Test Track Profile tests. Other benefits of this include: a lower weight of the testing apparatus, as well as zero mess inside the lab. Our goal with the linear tracks was to guide the rover straight along the same path every test, and also to get a direct relation between the rovers position and the position of the guide on the track. We plan to acquire a direct relationship between the rover and guide by having a vertical pole attached to the guide such that the rover will be constrained in all but the vertical direction. We initially intended to build an encoder mechanism onto the overhead linear track, but we could not find a significant reason to do so. We decided that knowing the time of each test run as well as the power usage would be sufficient.  2.1.2  Rover Design  This section discusses the primary design aspect of this project. We initially intended to build three different rover suspension systems and test all three on the testing track apparatus detailed above but we decided that it was less expensive and labour intensive to build a single suspension design, and adjust the geometry in a controlled way. This was accomplished by including multiple mounting points on the rocker arm of the rocker-bogie system as well has having an adjustable angle at the top mounting pin. This setup allowed for a multitude of adjustments to the geometry of the system and saved us a significant amount in terms of time and manufacturing and material cost. With this adaptability we were able to measure the relative performance of the 11  Figure 2.2: Overhead Linear Track and Vertical Support System geometrical layout as the different pivot points were changed, as well as when the distance between the wheels was changed. This means that we had much more freedom in finding the optimum geometry and less down time between tests. The rover suspension system, as seen in Figure 2.3, is designed around three basic linkages where the top connection is fixed and the rear connection is free to pivot. This relationship allows the back two wheels to have one rotational degree of freedom with respect to the front wheel, and this is a fundamental feature of the rocker-bogie system as seen on most of the Martian rovers. The front and rear wheels are independently driven by high torque, low speed motors. Because the rover was intended to undergo iterations and design changes, special attention was given while designing the model in SolidWorks to ensure that it would be easily modifiable. This prescience was intended to save time during redesigns by being able to change a single dimension and having the entire model readjust to that new dimenion, rather than chasing the dimension change down through all of the dependent parts. By designing the rover around one driving sketch and having all parts refer to that sketch, we were able to achieve this design optimization. Figure 2.4 shows the driving sketch of the model.  12  Figure 2.3: Solidworks design of the rocker-bogie. Green features denote the electric motors, and red parts indicate fasteners. In addition to the mechanical modeling of the rover, consideration had to be given to the interface between the rover and the overhead linear track. This required the design of a frictionless connection to the vertical guide rail via a pin attachment on the top of the rover and a sliding bearing to the vertical guide. This enabled the rover to tilt forwards and backwards on the pin bearing and slide vertically as it traversed obstacles, while being constrained on all other degrees of freedom. This was designed in such a way as to satisfy the condition of repeatability of tests. We tried a number of different methods of attachment and determined that the described setup had the lowest friction and optimally constrained the rover.  2.1.3  Data Acquisition  To quantify the energy changes due to geometric changes in the suspension system, we measured the instantaneous current and voltage being supplied to each motor during each test run. The data was acquired using two ACS712 low-current sensors, a NI USB 6009 DAQ card, an operational amplifier, and a low-pass filter, as shown in figure 2.5. Both channels of the power supply were utilized, one for each motor. The power supply provided a constant voltage with varying current, depending on the needs of the motor. As such, it was necessary to measuring this current to obtain power and energy consumption during the run. The current sensors, placed in series with the motors, output a voltage proportional to the current passing through the circuit. The sensor was calibrated using 3 data points, (maximum, minimum, and an intermediate value) which provided the translation between 13  Figure 2.4: Driving sketch of the SolidWorks design. Any of the important parameters seen here could be changed without causing rebuild and carry-through errors within the Assembly. voltage signal and actual current. Furthermore, it was necessary to maximize the gain provided by the current sensor, to allow for greater resolution. This was achieved by turning the GAIN knob, as seen in Figure 2.6. Due to electrical noise when the motors neared the stall torque, it was necessary to amplify and filter the signal. This was done with a TLV7372 op-amp using a gain of 2.4, after which it passed through a low-pass filter at a cut-off frequency of 15Hz. This frequency was determined based on a rough estimate of the noise frequency on the output graphs. Cascading the filters to obtain a sharper cutoff was considered, however the signal attenuation would be very large and further amplification would be complicated. The single filter provided noticably better results. Using the built-in data acquisition tool in Labview, coupled with a simple VI, data was exported to a file for easy analysis. A sampling rate of 50Hz was chosen to provide an ample number of data points.  2.2  Experimental Equipment  The following equipment was used during the construction and testing phase of the suspension system: • Waterjet cutter • Power suppy • Multimeter • NI USB-6009 DAQ Card • ACS712 low current sensor 14  Figure 2.5: Electrical Setup • TI TLV 2372 Operation Amplifier • Miscellaneous hand tools (allen keys, screwdrivers etc.) • Soldering Iron  2.3  Data Analysis  As described previously, the focus of the project was to vary three different geometries of the rocker-bogie system: the primary angle, the rocker hole location, and the strut length of the bogie. A constant voltage was supplied to each motor from separate channels on the power supplied, and the current drawn was measured by the DAQ sensor. For each geometrical configuration, four test runs were performed to ensure consistent results were being obtained. The major concern prior to data analysis was that the energy differences due to geometrical variations would not be observed due to the imprecision with the test setup, such as starting and end locations, slippage, and wheel mounting issues. The data was exported from Labview into a spreadsheet, which contained the uncalibrated current as a function of time. To extract useful information from the multiple sets of data, a significant amount of analysis was performed, as described in the sections below.  2.3.1  Calibration  The ACS712 current sensor outputs a voltage signal inversely proportional to the current passing through the motors. As such, it was calibrated such that 15  Figure 2.6: ACS712 Low Current Sensor the actual currents could be determined through post-analysis. Each sensor, one for the front and one for the back, was calibrated by varying the torque on the motor and recording both the output signal from the sensor and the actual current as displayed on the multimeter. The results are presented in the tables below. Front Motor Output Voltage (mV) Current (mA) 2.62  30  2.55  50  2.26  60  0.82  140 Back Motor  Output Voltage (mV) Current (mA) 2.65  30  2.56  50  2.01  100  1.36  130  16  Figure 2.7: Screenshot of NI DAQ Assistant For the front motor, the resulting linear fit is: I = −56.8Vsensor + 187.1. With R2 = 0.981 for the fit. For the back motor, the resulting linear fit is: I = −75.0Vsensor + 238.4. With R2 = 0.952 for the fit.  2.3.2  Calculating Energy  For all of the test runs, the back motor was supplied with 4V, while the front motor was supplied with 2.3V. This was a result of not realizing that the obtained motors had different gear ratios. Nonetheless, the voltages were adjusted such that each wheel spun at the exact same rate. With the voltage constant and the current known as a function of time, the power was calculated using P(t) = VI(t). Knowing the power made it possible to calculate the energy consumption per run for each motor by numerical integration over the time of the run. Data was collected for the same period of time for each run to avoid complexity. The numerical integration was done in Matlab with the trapz( ) function. It is important to note that there are short period of time at the end of each data set which represent the motors running idly after it has completed the run. Since it is drawing a  17  very low amount of current, the motor is consuming a very low amount of energy relative to when it is on the test surface. Furthermore, as mentioned before, the integration was done for the same amount of time for each run, which essentially negates the contribution of this idle portion. Having calculated the energy for each motor, the total energy for each run was obtained by simply adding the front motor energy with the back motor energy. This was done for each of the four tests per configuration, and the average energy was calculated. Scatter Plots (shown in section X) representing the average total energy for each run in each configuration reveal that the data collected was precise and repeatable. As such, conclusive results about different geometrical was obtained, as described in the next section.  2.4  Discussion of Results  In this section, various graphs are presented pertaining to the power and energy consumption of the rover for different geometrical configurations. An explanation for each graph is included to make physical sense of the trends.  2.4.1  General Trends for Front and Back Motor Power Consumption  Figure 2.8 depicts a typical power consumption graph over time for the front motor and back motor. Points of interest have been labelled, and explained in the following section. Note: it is apparent that there is a significant periodic oscillation in the power in the back motor. This is due to the difficult in mounting the motor to the wheel hub. It was difficult to secure fastly (mainly due to the D-shape of the motor shaft), and unfortunately, the wheel precessed about it’s spin axis, causing the varying power consumptions. Point 1) shows a rapid spike in power consumption for the back motor. This corresponds to the power required to start the spinning the motor from zero. There is a similar spike for the front motor, however, it is much lower in magnitude. This is a result of the back motor taking the burden of the load. Between point 1) and point 2a), the power consumption in the back motor linearly decreases, while the power consumption in the front motor linearly increases. This represents the region when the rover was travelling up the slope. Had the slope been longer in length at a constant gradient, a steady state value  18  for the power consumptions in both motors would be expected. At point 2a), the front motor crests the top of the slope, with the back motor doing so at point 2b). Between points 2b) and 3a), the rover is travelling down the hill, which accounts for the rapid decrease in power consumption. At point 3a), the front motor transitions from the negative slope into the flat surface, resulting a pronounced rise in the power consumption. Likewise, point 3b) denotes when the back motor makes the same transition. The power consumption is higher in each of the motors at these points since gravity is no longer assisting. This increase is only temporary as the motors provide a sudden increase torque. After the change has been accomodated, maintaining the steady state requires less power. As such, a relatively constant region is observed between points 3b) and 4a). At point 4a), the front motor hits the step increase, and the wheel begins to lift vertically upwards. Conversely, the back motor stops moving momentarily while the front wheel is climbing the step, causing a huge increase in torque, and hence power as seen in point 4b) a very short of time later. The back motor is essentially driving the entire rover over the step at this point, whichs explains the large disparity between the motor power consumptions. Between 4b) and 5), there is a brief dip in the power, as the rover is moving forward again. At point 5), the middle (unpowered) wheel hits the step, causing a spike in both the front and back motors. Similar to before, the outer wheels stop momentarily as the required torque increases in response to the middle wheel. It is important to note that the front wheel is at the flat portion on top of the step at this point, while the back motor is still on the bottom flat ground. As such, it is intuitive why the back motor power consumption is larger at point 5), as it has to lift a larger fraction of the mass. Betwen point 5) and point 6a), there is another momentary decrease in the power as it travels forward again unopposed. At point 6a), the back wheel hits the step, stopping the rover essentially. Unlike the previous case, the back motor has to lift itself over the obstacle, though with significant help from the front motor as seen in 6b). Finally, point 7) represents the power consumption on the motors when zero torque is applied - this was when the rover was lifted from the surface after the successful test run.  2.4.2  Energy Consumptions for Different Configurations  As described in section 2.3, a numerical integration was performed to obtain the energy values for the different geometrical configurations. The results are shown in figure 2.9, and compiled in the tables below.  19  90-back-standard Configuration Test 1 Test 2 Test 3 Test 4 Front Energy (J)  2.305  2.279  2.333  2.371  Back Energy (J)  4.582  4.536  4.178  4.830  Total Energy (J)  6.887  6.814  7.051  7.201  90-front-standard Configuration Test 1 Test 2 Test 3 Test 4 Front Energy (J)  2.394  2.429  2.531  2.414  Back Energy (J)  5.811  5.702  5.928  5.691  Total Energy (J)  8.205  8.131  8.459  8.105  90-middle-standard Configuration Test 1  Test 2  Test 3  Test 4  Front Energy (J)  2.426  2.424  2.478  2.417  Back Energy (J)  5.5652 5.4579 5.4371  5.183  Total Energy (J)  7.991  7.600  7.882  7.915  90-middle-short Configuration Test 1 Test 2 Test 3 Test 4 Front Energy (J)  2.448  2.430  2.434  2.441  Back Energy (J)  5.012  5.118  5.352  5.357  Total Energy (J)  7.460  7.548  7.787  7.798  100-back-standard Configuration Test 1  Test 2  Test 3 Test 4  Front Energy (J)  2.583  2.3815  2.437  2.448  Back Energy (J)  5.860  5.302  5.345  5.227  Total Energy (J)  8.443  7.683  7.782  7.674  20  120-back-short Configuration Test 1 Test 2 Test 3 Test 4 Front Energy (J)  2.386  2.345  2.355  2.357  Back Energy (J)  5.155  5.157  5.007  5.114  Total Energy (J)  7.541  7.503  7.362  7.471  The above results confirm the data shown in Figure 2.8, namely that the back motor consumes more energy compared to the back motor. It is also clear that the wide majority of the data sets are very consistent to within 5 percent of each other. This data is represented in a scatter plot, along with the average total energies in Figure 2.9. The actual values for the total average energies are shown in the table below. Total Average Energies Configuration  Energy (J)  90-back-standard  6.988  90-front-standard  8.225  90-middle-standard  7.847  90-middle-short  7.648  100-back-standard  7.713  120-back-short  7.469  2.4.3  Overall Rankings of Tested Configurations  Rankings of tested geometrical configurations in order of Least Energy Used to Most Energy Used. 1. 90 degree primary angle, back hole mounting, standard strut length 2. 120 degree primary angle, back hole mounting, short strut length 3. 90 degree primary angle, middle hole mounting, short strut length 4. 100 degree primary angle, back hole mounting, standard strut length 5. 90 degree primary angle, middle hole mounting, standard strut length 6. 90 degree front angle, front hole mounting, standard strut length. These results indicate the optimal configurations for rocker-bogie systems include larger primary angles, rocker mounting close to the front wheel (back hole 21  mounting), and a shorter strut length. It was sought to test a 100 degree, back hole mounting, short strut length test, but difficulties due to the rover bottoming out over the step made it unfeasible. Further testing was hampered due to time considerations. However, recommendations for future work have been included in Section 5  22  23 Figure 2.8: Typical Trends for Power Consumption of Back and Front Motors  24 Figure 2.9: Scatter Plot of Energy Consumed for Different Configurations  Chapter 3 Conclusion Our goal with this project was to identify energy consumption trends of a rocker-bogie suspension system by varying the linkage geometry, and repeatably testing the configuration. We successfully built a test track capable of repeatable tests, an easily modifiable rocker-bogie system, and found some very favourable results. The most optimal configuration that we tested in terms of minimal energy consumption was 90 degree primary angle, back hole mounting, standard slot length. Further tests were done about this point as described above and we also found that energy consumption decreases if the primary angle is increased by tens of degrees, and the slot position is shortened. Overall, the optimal configuration used 15% less energy than the worst configuration we tested, and 6.4% less energy than the next least energetic setup. Moving the slot from the standard mounting position to the shortened one reduced the energy consumption by 2.5%.  25  Chapter 4 Project Deliverables 4.1  List of Deliverables  All physical materials used by the group will be returned to the Engineering Physics Project Lab as agreed at the start of this project. Materials returned are: • All 80/20 bars and attachments will be returned in their original state. • All wood of a usable size will be returned to the Extracurricular Project Lab. • Wheels and circuit boards purchased via Sparkfun will given to the Project Lab. • All other electronic materials will be returned to the Project Lab. In instances where materials are now worthless/useless the team will adequately dispose of them.  4.2  Financial Summary  Total cost breakdown of this project is as follows: 1. Two aluminium wheels purchased through McMaster-Carr worth a combined value of $3 which were machined to be mounted to motors. 2. Two motors which failed during testing and were disposed (cost unknown, assumed small). 3. Waterjet cutting time of 5 minutes. This is valued at $1/minute and is therefore worth $5. The total cost of this project in terms of unreturned materials is less than $20. This is significantly better than our expected cost at the beginning of the project was $150. 26  4.3  Ongoing Commitments  We remain interested in the continued success of this project and we intend to use the results found insofar to construct and test a complete six wheeled chassis. We are interested in the change in power corresponding to a full six wheel chassis and being able to test the accuracy of our testing method. We intend all findings of this project to be openly available and will publish our report to cIRcle, and are very happy to assist future attempts to further our findings. The introduction of a formal entry into the Night Rover Centennial Challenge remains unclear. Team formation is dependant on the specifics of the rules when released and on the addition of extra personnel.  27  Chapter 5 Recommendations Following the results from testing and data analysis we suggest that the following actions be taken: 1. Testing of six wheeled Rover chassis. We are very pleased with the results of our three wheeled rover testing, however we believe that the limits of this testing have been reached. From the testing that we completed we have verified that a substantial amount of energy can be saved by choosing the correct geometry and, considering the scope of the overall project, this testing should be expanded to the full six wheel rover. Further from our testing, it is unclear if the results obtained will directly transfer to a six wheel configuration so our results should be later confirmed. From the data comparing only the Front, Middle, and Back hole configurations it appears that the energy usage could be further lessened by moving the rear pivot point closer to the rear wheel. The optimum point should be found during 6 wheel testing. The secondary purpose of the overhead test track was to allow us to add mass to the rover in a easily quantifiable way. This turned out to be unfeasible, but with the construction of a six wheel rover the effect of mass on the performance of the rover could be easily measured. We expect the final design to have a mass on the order of 1 kg, adding such mass to the geometric centre of the 6 wheel design could provide very useful information as to the final performance of the rover. We expect that adding mass will benefit grip significantly, but will also slow the rover down on hill ascents. As we saw minor wheel slip we expect a performance increase with a small addition of mass to the rover while testing. The point of ideal mass should be found in testing.  28  2. Include obstacle conquering ability when testing. During the fabrication of the test track we were unsure of the terrain-crossing abilities of the suspension design. As such we fabricated the obstacles not to stop the rover, but to test the power consumption while crossing. In terms of this project this was the correct decision, but in order to prepare the design for the harsh realities of the Lunar or Martian surface we believe that future testing should include extreme obstacle navigation. At the current stage of the competition this is something that should be considered, but not necessarily designed for. When competition specifics relating to the test surface are released the design should be audited to find any deficiencies. In terms of power usage we believe that two drive wheels is more beneficial than three. However, if someone were to design a rocker-bogie system to navigate rough terrain we believe that a three drive wheel design would provide greater performance. The standard ratio of obstacle:wheel diameter for a Rocker-Bogie is 2:1, with our two wheel drive system we achieved roughly a 3:2 ratio. This is likely due to the reduced grip from the bogie in traversing obstacles, and should be considered in future designs. 3. Use of higher quality motors and wheels. The design consideration which should have been evaluated more deeply was the choice of motors and wheels. While neither of our decisions were overall detrimental we recommend the use of higher quality motors in future testing and a consideration taken to the use of wheels in the future. One motor had a varying power load while rotating, such that the data taken has a periodic change. This change was constant enough that it did not effect the data, but we expect it could be removed or diminished by selecting higher quality motors. Another problem encountered with the motors was the unique mounting method which we had to employ. Each motor had only two mounting holes and they were reasonably awkward to align and change/remove. In addition the motor leads are remarkably fragile and we broke the attaching wire off roughly six times. We were significantly under budget and recommend future testing be completed with higher precision motors. Another point to consider with motor selection is the vast speed which we were able to attain, greater efficiency may be obtained by using motors with a higher gear ratio. The wheels which were purchased from McMaster-Carr were inadequate as 29  stock. We initially machined sharp grooves as treads, and eventually applied sandpaper to the outer circumference. Grip was not an issue during testing, but it should be noted that custom hubs were machined and, especially if new motors are spec’d, new hubs may have to be fabricated. As they currently are we do not consider the wheels adequate for outdoor testing. Arguably the greatest advantage of using higher quality motors and wheels is the possibility of driving it off of wicked sweet jumps. 4. Design the next version with three driving wheels. We found that during certain sections of the test track the torque on the two driving wheels would be distributed quite unevenly. To counteract this we recommend that the next iteration of the rover design include three driving wheels instead of two. This should help to normalize the torque distribution and reduce the amount of slippage. We would expect more standardized and valid results if the rover were to have three driving wheels.  30  Appendix A References Only primary authors have been listed for clarity. • Evans, Chris, Mars Microrover Power Subsystem • Chugo, Daisuke, Mechanical Design of Step-Climbing Vehicle with Passive Linkages • Hacot, Herve, Analysis and Simulation of a Rocker-Bogie Exploration Rover • Miller, David, High-Speed Traversal of Rough Terrain Using a Rocker-Bogie Mobility System • Siegwart, Roland, Innovative design for wheeled locomotion in rough terrain • Harrington, Brian, The Challenges of Designing the Rocker-Bogie Suspension for the Mars Exploration Rover • Yu, X., The Research on Control of Lunar Rover with Rocker Bogie Based on Bus Network Driving • http://mars.jpl.nasa.gov/MPF/roverpwr/power.html • http://hostdev.wordpress.com/2010/02/19/rocker-bogie/ • http://en.wikipedia.org/wiki/Mars rover • http://en.wikipedia.org/wiki/Rocker-bogie • http://hostdev.files.wordpress.com/2010/02/pip figure5.jpg  31  Appendix B MATLAB Code See the following pages.  32  RoverAnalysis.m Rover Analysis.m % An M-file to calculate the energy consumed of the rover % % % % %  Comment Data1 = Data2 = Data3 = Data4 =  out the files not being analyzed at the time xlsread('90-back-standard.xls', 'Test1', 'A2:F1201'); xlsread('90-back-standard.xls', 'Test2', 'A2:F1201'); xlsread('90-back-standard.xls', 'Test3', 'A2:F1201'); xlsread('90-back-standard.xls', 'Test4', 'A2:F1201');  % % % %  Data1 Data2 Data3 Data4  = = = =  xlsread('90-front-standard.xls', xlsread('90-front-standard.xls', xlsread('90-front-standard.xls', xlsread('90-front-standard.xls',  % % % %  Data1 Data2 Data3 Data4  = = = =  xlsread('90-middle-standard.xls', xlsread('90-middle-standard.xls', xlsread('90-middle-standard.xls', xlsread('90-middle-standard.xls',  % % % %  Data1 Data2 Data3 Data4  = = = =  xlsread('90-middle-short.xls', xlsread('90-middle-short.xls', xlsread('90-middle-short.xls', xlsread('90-middle-short.xls',  % % % %  Data1 Data2 Data3 Data4  = = = =  xlsread('100-back-standard.xls', xlsread('100-back-standard.xls', xlsread('100-back-standard.xls', xlsread('100-back-standard.xls',  Data1 Data2 Data3 Data4  = = = =  xlsread('120-back-short.xls', xlsread('120-back-short.xls', xlsread('120-back-short.xls', xlsread('120-back-short.xls',  'Test1', 'Test2', 'Test3', 'Test4',  'A2:F1201'); 'A2:F1201'); 'A2:F1201'); 'A2:F1201');  'Test1', 'Test2', 'Test3', 'Test4',  'Test1', 'Test2', 'Test3', 'Test4',  'A2:F1201'); 'A2:F1201'); 'A2:F1201'); 'A2:F1201');  'Test1', 'Test2', 'Test3', 'Test4',  'Test1', 'Test2', 'Test3', 'Test4',  'A2:F1201'); 'A2:F1201'); 'A2:F1201'); 'A2:F1201');  'A2:F1201'); 'A2:F1201'); 'A2:F1201'); 'A2:F1201');  'A2:F1201'); 'A2:F1201'); 'A2:F1201'); 'A2:F1201');  %Column 1 is time, Column 5 is Back Current, Column 6 is Front Current Time = Data1(:,1); Test1BackCurrent = Data1(:,5); Test1FrontCurrent = Data1(:,6); Test2BackCurrent = Data2(:,5); Test2FrontCurrent = Data2(:,6); Test3BackCurrent = Data3(:,5); Test3FrontCurrent = Data3(:,6); Test4BackCurrent = Data4(:,5); Test4FrontCurrent = Data4(:,6); % Front motor was 4V, back motor was 2.3V. Adjust as needed. Divide by 1000 % to convert from mA to A Test1FrontPower = (2.3/1000)*Test1FrontCurrent; Test1BackPower = (4/1000)*Test1BackCurrent; Test2FrontPower = (2.3/1000)*Test2FrontCurrent; Test2BackPower = (4/1000)*Test2BackCurrent; Test3FrontPower = (2.3/1000)*Test3FrontCurrent; Test3BackPower = (4/1000)*Test3BackCurrent; Test4FrontPower = (2.3/1000)*Test4FrontCurrent; Test4BackPower = (4/1000)*Test4BackCurrent; % Plots for instantaneous power as a function of time. plot(Time, Test1FrontPower,'r') hold on plot(Time, Test1BackPower,'b') xlabel('Time - seconds') Page 1  RoverAnalysis.m ylabel('Instantaneous Power Consumption - Watts') legend('Front Power', 'Back Power') hold off % % % % % % %  plot(Time, Test2FrontPower,'r') hold on plot(Time, Test2BackPower,'b') xlabel('Time - seconds') ylabel('Instantaneous Power Consumption - Watts') legend('Front Power', 'Back Power') hold off  %plot(Time, Test2FrontPower,'r') %hold on %plot(Time, Test2BackPower,'b') %xlabel('Time - seconds') %ylabel('Instantaneous Power Consumption - Watts') %legend('Front Power', 'Back Power') %hold off %plot(Time, Test2FrontPower,'r') %hold on %plot(Time, Test2BackPower,'b') %xlabel('Time - seconds') %ylabel('Instantaneous Power Consumption - Watts') %legend('Front Power', 'Back Power') %hold off EnergyTest1Front = trapz(Time, Test1FrontPower) EnergyTest1Back = trapz(Time, Test1BackPower) EnergyTest2Front = trapz(Time, Test2FrontPower) EnergyTest2Back = trapz(Time, Test2BackPower) EnergyTest3Front = trapz(Time, Test3FrontPower) EnergyTest3Back = trapz(Time, Test3BackPower) EnergyTest4Front = trapz(Time, Test4FrontPower) EnergyTest4Back = trapz(Time, Test4BackPower) EnergyFront = [EnergyTest1Front, EnergyTest2Front, EnergyTest3Front, EnergyTest4Front] EnergyBack = [EnergyTest1Back, EnergyTest2Back, EnergyTest3Back, EnergyTest4Back] AverageEnergyFront = (EnergyTest1Front + EnergyTest2Front + EnergyTest3Front + EnergyTest4Front)/4 AverageEnergyBack = (EnergyTest1Back + EnergyTest2Back + EnergyTest3Back + EnergyTest4Back)/4 TotalEnergy = AverageEnergyFront + AverageEnergyBack clear all  Page 2  RoverGraph.m RoverGraph.m % An m-file to plot the energy vs. time for each motor, comparing the configurations % Comment out the files not being analyzed at the time Data1 Data2 Data3 Data4 Data5 Data6  = = = = = =  xlsread('90-back-standard.xls', 'Test1', 'A2:F1201'); xlsread('90-front-standard.xls', 'Test1', 'A2:F1201'); xlsread('90-middle-standard.xls', 'Test1', 'A2:F1201'); xlsread('90-middle-short.xls', 'Test1', 'A2:F1201'); xlsread('100-back-standard.xls', 'Test1', 'A2:F1201'); xlsread('120-back-short.xls', 'Test1', 'A2:F1201');  % % % % % %  Data1 Data2 Data3 Data4 Data5 Data6  = = = = = =  xlsread('90-back-standard.xls', 'Test2', 'A2:F1201'); xlsread('90-front-standard.xls', 'Test2', 'A2:F1201'); xlsread('90-middle-standard.xls', 'Test2', 'A2:F1201'); xlsread('90-middle-short.xls', 'Test2', 'A2:F1201'); xlsread('100-back-standard.xls', 'Test2', 'A2:F1201'); xlsread('120-back-short.xls', 'Test2', 'A2:F1201');  % % % % % %  Data1 Data2 Data3 Data4 Data5 Data6  = = = = = =  xlsread('90-back-standard.xls', 'Test3', 'A2:F1201'); xlsread('90-front-standard.xls', 'Test3', 'A2:F1201'); xlsread('90-middle-standard.xls', 'Test3', 'A2:F1201'); xlsread('90-middle-short.xls', 'Test3', 'A2:F1201'); xlsread('100-back-standard.xls', 'Test3', 'A2:F1201'); xlsread('120-back-short.xls', 'Test3', 'A2:F1201');  % % % % % %  Data1 Data2 Data3 Data4 Data5 Data6  = = = = = =  xlsread('90-back-standard.xls', 'Test4', 'A2:F1201'); xlsread('90-front-standard.xls', 'Test4', 'A2:F1201'); xlsread('90-middle-standard.xls', 'Test4', 'A2:F1201'); xlsread('90-middle-short.xls', 'Test4', 'A2:F1201'); xlsread('100-back-standard.xls', 'Test4', 'A2:F1201'); xlsread('120-back-short.xls', 'Test4', 'A2:F1201');  %Column 1 is time, Column 5 is Back Current, Column 6 is Front Current Time = Data1(:,1); backstandard90_front = Data1(:,5); backstandard90_back = Data1(:,6); frontstandard90_front = Data2(:,5); frontstandard90_back = Data2(:,6); middlestandard90_front = Data3(:,5); middlestandard90_back = Data3(:,6); middleshort90_front = Data4(:,5); middleshort90_back = Data4(:,6); backstandard100_front = Data5(:,5); backstandard100_back = Data5(:,6); backshort120_front = Data6(:,5); backshort120_back = Data6(:,5); % Front motor was 4V, back motor was 2.3V. Adjust as needed. Divide by 1000 % to convert from mA to A backstandard90_frontpower = (2.3/1000)*backstandard90_front; backstandard90_backpower = (4/1000)*backstandard90_back; frontstandard90_frontpower = (2.3/1000)*frontstandard90_front; frontstandard90_backpower = (4/1000)*frontstandard90_back; middlestandard90_frontpower = (2.3/1000)*middlestandard90_front; middlestandard90_backpower = (4/1000)*middlestandard90_back; middleshort90_frontpower = (2.3/1000)*middleshort90_front; middleshort90_backpower = (4/1000)*middleshort90_back; backstandard100_frontpower = (2.3/1000)*backstandard100_front; backstandard100_backpower = (4/1000)*backstandard100_back; backshort120_frontpower = (2.3/1000)*backshort120_front; Page 1  RoverGraph.m backshort120_backpower = (4/1000)*backshort120_back; % Plots for instantaneous power as a function of time. Uncomment to produce subplot(2,1,1), plot(Time, backstandard90_frontpower,'r', Time, frontstandard90_frontpower,'b',Time, middlestandard90_frontpower,'m', Time, middleshort90_frontpower, 'k',Time, backstandard100_frontpower, 'c', Time, backshort120_frontpower, 'g') xlabel('Time - seconds') ylabel('Instantaneous Power Consumption - Watts') legend('90-back-standard', '90-front-standard', '90-middle-standard', '90-middle-short', '100-back-standard', '120-back-short') axis([0 18 0 1]) title('Front Motor') subplot(2,1,2), plot(Time, backstandard90_backpower,'r', Time, frontstandard90_backpower,'b',Time, middlestandard90_backpower,'m',Time, middleshort90_backpower, 'k', Time, backstandard100_backpower, 'c',Time, backshort120_backpower, 'g') xlabel('Time - seconds') ylabel('Instantaneous Power Consumption - Watts') legend('90-back-standard', '90-front-standard', '90-middle-standard', '90-middle-short', '100-back-standard', '120-back-short') axis([0 18 0 1]) title('Back Motor')  Page 2  ScatterPlot.m ScatterPlot.m %An m-file to make a scatter plot of the test energies and average energies. % % % % % % % % % %  MiddleHoleEnergyFront = [2.4260 2.4238 2.4781 2.4171] MiddleHoleEnergyBack = [5.5652 5.4579 5.4371 5.1832] FrontHoleEnergyFront = [2.3944 2.4286 2.5312 2.4143] FrontHoleEnergyBack = [5.8105 5.7020 5.9280 5.6908] BackHoleEnergyFront = [2.3045 2.2785 2.3328 2.3711] BackHoleEnergyBack = [4.5824 4.5357 4.7184 4.8303] MiddleHoleEnergyTotal = MiddleHoleEnergyFront + MiddleHoleEnergyBack FrontHoleEnergyTotal = FrontHoleEnergyFront + FrontHoleEnergyBack BackHoleEnergyTotal = BackHoleEnergyFront + BackHoleEnergyBack  backstandard90 = [6.8869 frontstandard90 = [8.2049 middlestandard90 = [7.9912 middleshort90 = [7.4602 7.5481 backstandard100 = [7.6832 backshort120 = [7.5409 7.5026  6.8142 8.1306 7.8817 7.7866 7.7821 7.3621  7.0512 7.2014] 8.4592 8.1051] 7.9152 7.6003] 7.7979] 7.6742] 7.4706]  X1 = [1:0.01:7]; foo = ones(size(X1)); AverageBS90 = 6.98*foo(1,:); AverageFS90 = 8.22*foo(1,:); AverageMS90 = 7.84*foo(1,:); AverageMSh90 = 7.64*foo(1,:); AverageBS100 = 7.71*foo(1,:); % extraneous value thrown out AverageBSh120 = 7.4691*foo(1,:); U Z X Y W V  = = = = = =  [1.5 [2.5 [3.5 [4.5 [5.5 [6.5  1.5 2.5 3.5 4.5 5.5 6.5  scatter(U, hold on scatter(Z, scatter(X, scatter(Y, scatter(W, scatter(V,  1.5 1.5] 2.5 2.5] 3.5 3.5] 4.5] 5.5 5.5] 6.5 6.5]  backstandard90, 'r') backshort120, 'g') middleshort90, 'k') backstandard100, 'c') middlestandard90, 'm') frontstandard90, 'b')  legend('90-back-standard', '90-front-standard', '90-middle-standard', '90-middle-short', '100-back-standard', '120-back-short') plot(X1, AverageBS90, 'r') plot(X1, AverageFS90, 'b') plot(X1, AverageMS90, 'm') plot(X1, AverageMSh90, 'k') plot(X1, AverageBS100, 'c') plot(X1, AverageBSh120, 'g') title('Scatter Plot of Total Energy for Different Hole Configurations') hold off clear all  Page 1  Appendix C Solidworks Drawings See the following pages.  38  DO NOT SCALE  4.50  12.38  2X  2.50 THRU  3.75  17.25  10.00  6X R 10.00  137.90  R10.00  6.35  5.30  -  CATEGORY PART NUMBER  CHANGED MILLIMETERS UNLESS SPECIFIED VER  -  REV  SCALE SHEET  DD  DOC TYPE  1  OF  A 1:2 1  SIZE  2009-May-05  GGOLD  2009-May-05 DRAWN BY  GGOLD  DESIGNED BY  Copywrite: 2009  PART NAME HERE  DO NOT SCALE  32.38  20.00  R2.65  4X R 10.00 10.00  153.92  5.30  6.35  R10.00  -  CATEGORY PART NUMBER  CHANGED MILLIMETERS UNLESS SPECIFIED VER  -  REV  SCALE SHEET  DD  DOC TYPE  1  OF  A 1:2 1  SIZE  2009-May-05  GGOLD  2009-May-05 DRAWN BY  GGOLD  DESIGNED BY  Copywrite: 2009  PART NAME HERE  DO NOT SCALE  R7.50  6.35  6.60  R5  57.50  10.00  146.87  R10  20.00  20.00  11.87  40.00  17.25  25.00  49.37  3.75  4.87  12.75  -  CATEGORY PART NUMBER  CHANGED MILLIMETERS UNLESS SPECIFIED VER  -  REV  SCALE SHEET  DD  DOC TYPE  1  OF  A 1:2 1  SIZE  2009-May-05  GGOLD  2009-May-05 DRAWN BY  GGOLD  DESIGNED BY  Copywrite: 2009  PART NAME HERE  DO NOT SCALE  56.69  135.40  19.05  100.00  145.00  111.00  -  CATEGORY PART NUMBER  CHANGED MILLIMETERS UNLESS SPECIFIED VER  -  REV  SCALE SHEET  DD  DOC TYPE  1  OF  A 1:5 1  SIZE  2009-May-05  GGOLD  PART NAME HERE 2009-May-05 DRAWN BY  GGOLD  DESIGNED BY  Copywrite: 2009  300.00  50.80  


Citation Scheme:


Usage Statistics

Country Views Downloads
Canada 31 4
United States 24 3
India 17 7
Japan 6 0
China 5 9
Italy 4 2
Malaysia 3 0
Netherlands 3 0
Hungary 2 0
Egypt 2 0
Colombia 2 0
Russia 2 0
Kenya 2 0
City Views Downloads
Unknown 59 12
Tokyo 6 0
Mountain View 6 2
Vancouver 5 2
Ashburn 4 0
San Mateo 3 0
Redmond 2 0
Bogotá 2 0
Shenzhen 2 0
Budapest 2 0
New Delhi 2 0
Seattle 2 0
Bangalore 2 1

{[{ mDataHeader[type] }]} {[{ month[type] }]} {[{ tData[type] }]}
Download Stats



Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            async >
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:


Related Items