Difference between revisions of "RBE 3001"

From robotics
(Software)
(Other)
 
(45 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
<!-- Hide since we can't keep it up to date
 
[[Category:Class]]
 
[[Category:Class]]
  
Line 10: Line 11:
 
|colspan=2| Terms Available: A, C
 
|colspan=2| Terms Available: A, C
 
|-
 
|-
|colspan=2|Potential Professors: [[Gregory Fischer|Fischer]], [[Dmitry Berenson|Berenson]]
+
|colspan=2|Potential Professors: [[Gregory Fischer|Fischer]], [[Dmitry Berenson|Berenson]], [[Putnam Craig|Putnam]]
 +
 
 
|-
 
|-
 
| Current Professor:  
 
| Current Professor:  
Line 36: Line 38:
 
:All the time
 
:All the time
 
|}
 
|}
 +
-->
  
 
This is the index page for RBE 3001 wiki topics. This is the third of the four-course Unified Robotics sequence introducing foundational theory and practice of robotics engineering from the fields of computer science, electrical engineering and mechanical engineering. The focus of this course is actuator design, embedded computing and complex response processes. Concepts of dynamic response as relates to vibration and motion planning will be presented. The principles of operation and interface methods various actuators will be discussed, including pneumatic, magnetic, piezoelectric, linear, stepper, etc. Complex feedback mechanisms will be implemented using software executing in an embedded system. The necessary concepts for real-time processor programming, re-entrant code and interrupt signaling will be introduced. Laboratory sessions will culminate in the construction of a multi-module robotic system that exemplifies methods introduced during this course.
 
This is the index page for RBE 3001 wiki topics. This is the third of the four-course Unified Robotics sequence introducing foundational theory and practice of robotics engineering from the fields of computer science, electrical engineering and mechanical engineering. The focus of this course is actuator design, embedded computing and complex response processes. Concepts of dynamic response as relates to vibration and motion planning will be presented. The principles of operation and interface methods various actuators will be discussed, including pneumatic, magnetic, piezoelectric, linear, stepper, etc. Complex feedback mechanisms will be implemented using software executing in an embedded system. The necessary concepts for real-time processor programming, re-entrant code and interrupt signaling will be introduced. Laboratory sessions will culminate in the construction of a multi-module robotic system that exemplifies methods introduced during this course.
Line 43: Line 46:
 
'''Gompei the goat''' suggests having a real good grasp on your linear algebra and highly recommends taking 2049 BEFORE taking this class. Systems Programming is also a very useful class to take before this course in addition to the official recommendations. As always, this being a Unified Robotics course, expect a lot of work.
 
'''Gompei the goat''' suggests having a real good grasp on your linear algebra and highly recommends taking 2049 BEFORE taking this class. Systems Programming is also a very useful class to take before this course in addition to the official recommendations. As always, this being a Unified Robotics course, expect a lot of work.
  
== Course Materials ==
+
==Datasheets and Hardware==
Datasheets and other materials for the class may be found here.
 
  
===Chips===
+
These are the most important links for working with the hardware. [[media:3001_Setup_Guide_Git_A16_rev_1.pdf | RBELib & Eclipse Setup Guide]]. This includes the fusion forge setup. 
  
[[media:Atmel-8011-8-bit-avr-microcontroller-atmega164p-324p-644p datasheet (1).pdf | 644p (processor)]]
+
Datasheets for all electronics can be found on the [[RBE_3001_EDU_Board | 3001 board]] page and info on the arm can be found on the [[RBE_3001_EDU_Arm | 3001 arm]] page.
  
[[media:328p.pdf | 328p (coprocessor)]]
+
== Software ==
 +
Needed Software. Please refer to the
 +
[[Eclipse AVR RBE 3001|Eclipse AVR RBE 3001]] page and install guide.
  
[[media:10 Bit DAC 3001.pdf | Encoders]]
+
[http://eclipse.org/ Eclipse] - [[Eclipse]] Help
  
[[media:Lmp8601.pdf | Current sensor]]
+
[[Git]] Recommended help for learning git.
  
===Board===
+
[http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR Plugin]
  
[[media:3001 board 2012 rev2(1)(1).pdf | Schematic]]
+
[http://winavr.sourceforge.net/download.html WinAVR (GCC toolchain for windows)] ([http://www.obdev.at/products/crosspack/index.html Use Crosspack for OSX])
  
===Peripherals===
+
[https://www.pololu.com/product/1300/resources Pololu AVR programmer drivers] It is easiest to install the Pololu AVR Development Bundle for Windows
  
[[media:HitachiH48C3AxisAccelerometer.pdf | Accelerometer]]
+
[http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA Subclipse SVN Plugin] Outdated. Switched to Git
  
[[media:Pololu gear motor.pdf | Arm motors]]
+
===Optional - Doxygen===
  
===Misc===
+
This info is if you would like to add doxygen documentation to your project. It is here for reference so you can see how we compiled the RBELib documentation.
  
[[media:Accel diagram 3001.PNG | Connecting the accelerometer]]
 
 
[[media:Arm Specs.pdf | Arm specs]]
 
 
== Software ==
 
Needed Software. Please refer to the
 
[[Eclipse AVR RBE 3001|Eclipse AVR RBE 3001]] page and install guide.
 
 
[http://eclipse.org/ Eclipse]
 
[http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA Subclipse SVN Plugin]
 
[http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR Plugin]
 
[http://winavr.sourceforge.net/download.html WinAVR (GCC toolchain for windows)]
 
===Optional - Doxygen===
 
 
[http://www.stack.nl/~dimitri/doxygen/manual/install.html Install guide] Pay careful attention to what command need to be available from the command prompt.  If a command doesn't work you need to fix your systems PATH variable.
 
[http://www.stack.nl/~dimitri/doxygen/manual/install.html Install guide] Pay careful attention to what command need to be available from the command prompt.  If a command doesn't work you need to fix your systems PATH variable.
  
Line 95: Line 86:
 
[http://qt-project.org/downloads Qt]
 
[http://qt-project.org/downloads Qt]
  
== RBElib ==
+
== C Programming with RBELib ==
 +
 
 +
[[Programming Background]]
 +
 
 +
[[media:C_Program_Style_Guidelines.pdf | C Program Style Guidelines]] - Make sure you follow these guidelines while programming and documenting your code.
  
[[Introduction (RBElib)|Introduction]] - includes setting up Eclipse and PuTTy as well as a refresher on C.
+
[[Media:Refman.pdf | RBELib Documentation]] - PDF explaining everything in RBELib.
  
[[3001 Headers | Header Files]] - explains all of the header files included in RBELib as well as how to add your own.
+
[[media:3001_Setup_Guide_Git_A16_rev_1.pdf | RBELib & Eclipse Setup Guide]] - how to configure Eclipse and setup your projects properly.
  
 
[[Printing RBELib | Printing]] - how to print data from your board to the computer.
 
[[Printing RBELib | Printing]] - how to print data from your board to the computer.
Line 106: Line 101:
  
 
[[Doxygen | Doxygen]] - how to use Doxygen to document your code.
 
[[Doxygen | Doxygen]] - how to use Doxygen to document your code.
 
== Hardware ==
 
[[RBE 3001 EDU Arm]]
 
 
[[RBE 3001 EDU Board]]
 
  
 
== Matlab ==
 
== Matlab ==
Line 120: Line 110:
  
 
[[Simulink]]
 
[[Simulink]]
 +
 +
== Other ==
 +
 +
[[PuTTy]] Help
 +
 +
[[media:Thinking_about_Software.pdf | Thinking about Software]] - An intro (or refresher) on the basics of software engineering and program design.
 +
 +
[[WPI Robotics help videos]]
 +
 +
How to use [[LaTeX]]
 +
 +
[[3001 linux VM]] for VMware player
 +
 +
[https://gist.github.com/urill/c31815636b8b5e27917800871cc2234e ATMega644p Fuse Rescue]

Latest revision as of 12:07, 1 February 2017


This is the index page for RBE 3001 wiki topics. This is the third of the four-course Unified Robotics sequence introducing foundational theory and practice of robotics engineering from the fields of computer science, electrical engineering and mechanical engineering. The focus of this course is actuator design, embedded computing and complex response processes. Concepts of dynamic response as relates to vibration and motion planning will be presented. The principles of operation and interface methods various actuators will be discussed, including pneumatic, magnetic, piezoelectric, linear, stepper, etc. Complex feedback mechanisms will be implemented using software executing in an embedded system. The necessary concepts for real-time processor programming, re-entrant code and interrupt signaling will be introduced. Laboratory sessions will culminate in the construction of a multi-module robotic system that exemplifies methods introduced during this course.

The WPI course catalog recommends taking RBE 2002 (Unified Robotics 2: Sensing), ECE 2049 (Embedded Computing in Engineering Design), CS 2102 (Introduction to Object Oriented Programming), MA 2051 (Differential Equations), and MA 2071 (Linear Algebra) before this course.

Gompei the goat suggests having a real good grasp on your linear algebra and highly recommends taking 2049 BEFORE taking this class. Systems Programming is also a very useful class to take before this course in addition to the official recommendations. As always, this being a Unified Robotics course, expect a lot of work.

Datasheets and Hardware

These are the most important links for working with the hardware. RBELib & Eclipse Setup Guide. This includes the fusion forge setup.

Datasheets for all electronics can be found on the 3001 board page and info on the arm can be found on the 3001 arm page.

Software

Needed Software. Please refer to the Eclipse AVR RBE 3001 page and install guide.

Eclipse - Eclipse Help

Git Recommended help for learning git.

AVR Plugin

WinAVR (GCC toolchain for windows) (Use Crosspack for OSX)

Pololu AVR programmer drivers It is easiest to install the Pololu AVR Development Bundle for Windows

Subclipse SVN Plugin Outdated. Switched to Git

Optional - Doxygen

This info is if you would like to add doxygen documentation to your project. It is here for reference so you can see how we compiled the RBELib documentation.

Install guide Pay careful attention to what command need to be available from the command prompt. If a command doesn't work you need to fix your systems PATH variable.

Doxygen

Eclox

LaTeX (other downloads contains 64-bit installers)

GhostScript (32-bit required)

Graphviz

Qt

C Programming with RBELib

Programming Background

C Program Style Guidelines - Make sure you follow these guidelines while programming and documenting your code.

RBELib Documentation - PDF explaining everything in RBELib.

RBELib & Eclipse Setup Guide - how to configure Eclipse and setup your projects properly.

Printing - how to print data from your board to the computer.

Debugging - how to properly debug and find your problem. Read this before asking for help.

Doxygen - how to use Doxygen to document your code.

Matlab

Robot Control System Design and Simulation

Introduction

Intermediate Skills

Simulink

Other

PuTTy Help

Thinking about Software - An intro (or refresher) on the basics of software engineering and program design.

WPI Robotics help videos

How to use LaTeX

3001 linux VM for VMware player

ATMega644p Fuse Rescue