Design a bigger and harder maze

Assignment Help Programming Languages
Reference no: EM131102472

E91: Humanoid Robotics - Spring 2013 - Assignment 1

Task 1: Install & run software.

First, download the starter code onto your laptop from this link-(https://www.swarthmore.edu/NatSci/mzucker1/e91/e91starter_week1.zip). In order to get the code running, you will need an installation of Python, along with these packages:

  • Numpy (https://www.scipy.org/install.html)
  • Python Imaging Library (PIL) (https://www.pythonware.com/products/pil/)
  • PyOpenGL (https://pyopengl.sourceforge.net/)

On Ubuntu linux, you should be able to type something like this at the command prompt to install them:

sudo apt-get install python-numpy python-imaging python-opengl

If you have a Mac with MacPorts installed, you can instead run:

sudo port install py27-numpy py27-pil py27-opengl py27-opengl-accelerate

sudo port select --set python python27

To be perfectly honest, I'm not sure what the best way to get these packages installed on Windows is. Let me know if you're having trouble doing so.

To run the software, go into the starter directory, and run any of the scripts there. I'd suggest running them in the following order:

  • collisions.py
  • kintest.py
  • rrt2d.py
  • rrtTransRot.py
  • rrtArm.py

The supporting code lives in the common directory. The code is actually fairly well commented, and the supporting modules even have pydoc (https://docs.python.org/2/library/pydoc.html) compatible documentation for easy browsing. Take some time to read over the code and play with each of the demo scripts.

Task 2: Do something cool with RRT's.

This is an open-ended task. Your main goal should be to understand how RRT's work, and to apply them in practice to solve a problem of your own design. Ideas to get you started:

Easy: Design a bigger and harder maze for the 2D and/or translation/rotation problems and see how it affects planning.

Easy: Vary the number of obstacles and/or number of links for the arm RRT demo, and see how it affects planning.

Medium: Make up your own new problem to solve with an RRT, for example a translating and rotating "snake-like" arm.

Medium: Swap the start and goal states for the arm problem and see if it improves planning times.

Medium: Modify the translation/rotation problem to get an L-shaped beam through a narrow passage, like in the assigned reading. (Note that since the L shape is not convex, you need to represent it with two polygons instead of just one -- see me if you want further details.)

Hard: Implement the Bi-directional RRT from the assigned reading by adding another tree. To do this, you'll probably need to get at the guts of the RRT class defined in common/RRT.py.

Produce a webpage demonstrating your planner. Make at least one movie of a successful plan, and describe how often it succeeds and fails (visualations of the search tree can be very helpful here). Did you have to tweak a lot of parameters to get it to work? Would it still work well if you changed the problem slightly?

Reference no: EM131102472

Questions Cloud

Describe how financial institutions create money : Describe how financial institutions create money. Describes the process of creating money. Differentiate process of creating money from minting coins or printing bills. Explain how the Federal Reserve System uses government borrowing to create money
How would you propose that accounting principles : If you were given complete authority in the matter, how would you propose that accounting principles or standards should be developed and enforced?
Question regarding the member variable : Your class should have a constructor, one additional method and at least one member variable (e.g. boolean isOn to turn the item on or off). Be sure you demonstrate your class works properly by constructing an instance of it and calling your metho..
Illustrate the effect of using a demodulation carrier : show that carrier reinsertion can be used to demodulate a SSB signal. Illustrate the effect of using a demodulation carrier with insufficient amplitude when using the carrier reinsertion technique.
Design a bigger and harder maze : E91: Humanoid Robotics - Spring 2013 - Assignment 1. Design a bigger and harder maze for the 2D and/or translation/rotation problems and see how it affects planning
The neoclassical consumption model allows consumers : The neoclassical consumption model allows consumers to have access to savings. How would our conclusions about consumption in each period change if the consumer could not access markets for savings? For full credit you must support your answer using ..
How come staff will have sufficient time to check vouchers : How come you said that you can finish the audit within 4 weeks? How come your staff will have sufficient time to check all the vouchers and statements for last year?
Display the number of scores entered : Write a C++ program that uses a do or a while loop that has the user enter golf scores, terminated by a zero. After the zero has been entered, display the number of scores entered and their average.
Determine the horizontal force f applied to the cord : The springs AB and BC have stiffness k and unstretched lengths l/2. Determine the horizontal force F applied to the cord which is attached to the small pulley B so that the displacement of the pulley from the wall is d.  Given: l = 6 m k = 500 N/m d ..

Reviews

Write a Review

Programming Languages Questions & Answers

  What is a program in technical perception

What is a program in technical perception? Why it is required?

  Create a very abstract programming environment

Find these header files in the Visual Studio system and determine the smallest (i.e., most negative) and largest (i.e., most positive) values that can be represented as int, unsigned int, long, unsigned long, float and double.

  Program compares the number entered to the previous number

The program compares the number entered to the previous number. In the event that it is a duplicate number, the user will be prompted to enter a different number. Display the number to the screen as long as it is not a duplicate.

  Which of the above is an example of functional cohesion

Which of the above is an example of procedural cohesion?

  Write a function to generate lsquorock lsquopaper or

write a function to generate lsquorock lsquopaper or lsquoscissors each answer being equally likely. write a script

  Create the logic for a program that accepts an annual salary

Create the logic for a program that accepts an annual salary as input pass the salary to a method that calculate the highest monthly housing payment the user can afford assuming that the year's total payment is no more than 25 percent of the annua..

  Compute average of values contained in integer

Compute the average (as a double) of values contained in integer variables num1, num2, num3 and allot that average to double variable avg.

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Display total amount owed in fixed-point notation

Enter your C++ instructions into a source file named Introductory11.cpp. Also enter appropriate comments and any additional instructions required by the compiler. Display the total amount owed in fixed-point notation with two decimal places.

  Identify the different issues that may affect download time.

Choose a DTD, do not create any form elements. Note the following:

  What is the percentage of branch coverage obtained from test

What is the percentage of branch coverage obtained from the test suite in Table 1? Suggest additional test cases so that 100% branch coverage is obtained.

  Create an instance of the person class

Create an instance of the Person class

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd