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

  Sql statement that displays the isbn-title and profit

Provide a SQL statement that displays the ISBN, TITLE and PROFIT for all books where the COST is greater than or equal to $10.00 and less than or equal to $40.00. (The PROFIT is the difference between RETAIL and COST.) Include only those books tha..

  Write a function to circulate a list

Write a function to circulate a list. The function takes two paramaters, the first defines how many elements of the list to circulate, and the second is the list. The output should be the circulated list.

  Write down a function middlereverse which takes a lowercase

write a function middlereverse that takes a lowercase string as an argument and returns a lowercase string that is the

  Design and implement program that creates exception class

Design and implement a program that creates an exception class called StringTooLongException, designed to be thrown when a string is discovered that has too many characters in it

  All variables that aren''t numeric variables

All variables that aren't numeric variables

  Program to compute grade point average

Write a program that uses such a file to calculate your grade point average(GPA). A GPA is based on a scale from 5, where A is 4, B is 3, C is 2, D is 1 and F is 0.

  Creating form which analyzes poker hand entered by user

To observe behavior of Sub Procedures, draw a Form which analyzes a poker hand entered by user and displays the type of hand.

  Draw a flowchart to accept five daily temperature readings

Draw a flowchart to accept five daily temperature readings and displays the highest, lowest, and average (mean) temperatures. Use a For loop to take the five readings.

  Programming project

Write programs in Visual Basic while being guided by the six steps of the program development cycle: analyze the problem, design a solution, choose the interface, write code, test and debug your solution, and document code.

  Draw a gui to create objects

Draw a GUI that will create the objects and provide access to each object's processing methods. Use the drawing tool in Microsoft Word.

  List the six steps in the problem solving methodology

List the six steps in the problem solving methodology described in the text to be applied to computer programming assignments?

  A group of statements bracketed

A group of statements bracketed by { }.A group of statements bracketed by { }.

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