Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

For exploring in very low gravity environments, like the surface of asteriods, rather than using wheeled or tracked rovers as they currently do on Mars,

For exploring in very low gravity environments, like the surface of asteriods, rather than using wheeled or tracked rovers as they currently do on Mars, NASA is instead considering new classes of rovers that will instead \jump" from place to place, like a grasshopper. The mechnisms on a notional planetary hopper are designed to launch the vehicle from the ground with a velocity v (meters/sec) along an axis oriented t > 0 (degrees) with respect to the horizontal. The relevant equations modeling the motion of the hopper during each jump are then h(t) = h0 + v_ht - .5gat^2 dx(t) = v_xt where h is the height (meters) of the hopper above the asteroid surface, and dx is the distance (meters) along the surface covered during hop. Time t in these equations is the elapsed time since the beginning of the current hop (so t = 0 is when the hop starts), and ga is the gravitational acceleration (m/s^2) on the asteroid. Finally, vh and vx are respectively the vertical and horizontal components of the launch velocity for the hop, related to v and theta by vh = v sin(theta) vx = v cos(theta) Each hop ends, and the vehicle stops traveling forward, when the hopper touches back down on the surface (h = 0). At this time, another hop can be started to travel forward more distance, and so on until the desired distance along the asteroid (to move to a new science target, for example) has been covered. The amount of distance covered by each hop, and thus the total number of hops required to cover a specied distance, can thus be calculated by (1) Solving the h(t) equation for the t > 0 so that h(t) = 0; then (2) calculating the corresponding value of dx(t), using the value of t found in step (1). For this homework, you will write and upload to ELMS a Matlab script that calculates the number of hops needed to cover a specied amount of distance. To make things a little more interesting, we will assume that the robot intially starts on an elevated outcropping, at a height h0 > 0, while the second and subsequent hops start from the \ground level" with h0 = 0. This means that the rst hop will cover more distance than the second and subsequent hops. Additionally, since each hop covers a xed distance, determined by the design of the jumping mechanism, it will not generally be possible to exactly cover a specied distance with an integer number of hops. Thus, we will instead determine the (integer) number of hops needed to get as close as possible to the desired total distance, without exceeding it. The Matlab functions ceil, floor, and round are useful for converting decimal results to integers (think about which you need here!) Finally, for simplicity your solution can assume that at least two hops will always be needed to cover the desired distance.

Your script should be called hopper.m. It should assume that values for variables h0,v,theta,ga and xd have been dened in the workspace before the script is run. The latter variable contains the desired amount of distance the hopper needs to travel. Values for these ve variables should not be coded into the script! A script like this would be useful for doing design studies looking at dierent launch mechanisms (varying v and theta) and/or dierent asteroid environments (varying h0 and ga). Having values for these assigned in the workspace, not the script itself, lets us rapidly and easily change the values in these variables and rerun the script to see the eect. The only output from your script when it is run (see example below) should be the number of hops needed. There will be several intermediate calculations needed to compute this number, but the number of hops is the only value that should be printed when the script is run. You can \suppress" screen display of the result of any calculation in Matlab by adding a semicolon to the end of the line. Thus for example a = 3 + 5; would calculate the result (8) and store this number in the variable a, but not print anything to the screen. Finally, your script code should contain a comment on the rst line with your name, section, and date. Lines starting with a percent sign % in Matlab are comments, and are ignored by Matlab when the script is run. An example usage of your script should look exactly like the following: clear h0=50; v=5; theta=30; ga=0.27; xd=500; hopper num_hops = 5 (Note that 0.27 m=s2 is the gravitational acceleration on the asteroid Ceres). Your code will initially be tested exactly as shown above, then again but with a dierent set of numerical values for the ve variables.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

IBM Db2 11 1 Certification Guide Explore Techniques To Master Database Programming And Administration Tasks In IBM Db2

Authors: Mohankumar Saraswatipura ,Robert Collins

1st Edition

1788626915, 978-1788626910

More Books

Students also viewed these Databases questions

Question

True or falso: the 'void setup ( ) ' function will run only once

Answered: 1 week ago

Question

Describe new developments in the design of pay structures. page 475

Answered: 1 week ago