E91 humanoid robotics - spring 2013 - assignment 1 design a


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?

Request for Solution File

Ask an Expert for Answer!!
Programming Languages: E91 humanoid robotics - spring 2013 - assignment 1 design a
Reference No:- TGS01480474

Expected delivery within 24 Hours