Basic Parameters
- instructor: Marsette Vona vona@ccs.neu.edu
- website http://www.ccs.neu.edu/course/cs4610
- contact info
- course schedule
- course policies, including academic honesty
- most course materials will be distributed only via the course website
- assignment 0 is to visit the course website and to send me an email
What Is a Robot?
- My definition: A robot is a machine intended to replicate [part of] the function of a human or other animal.
- Key parts of most robots include
- sensing—interface components that measure aspects of the physical robot or its surroundings and make the information available to computation
- actuation—interface componets that modify aspects of the physical robot or its surroundings given information from computation
- control—computational algorithm that regulates or reacts to some aspect of the physical part of a robot or its surroundings, usually on a short timescale (often 1s or less)
- planning—computational algorithm that “thinks ahead” to make decisions about robot actions on moderate to long timescales (often 1s or longer)
- Robots are used in various areas including
- manufacturing
- materials handling
- medicine
- exploration
- military
- research
Overview of the course
- part 0: wheeled locomotion
- part 1: obstacle avoidance and navigation
- part 2: arm kinematics and grasping
- part 3: robot vision
- part 4: integrated abilities
The course robot: OHMM
- Open Hardware Mobile Manipulator
- custom designed by us at NEU for teaching robotics software
- a small and relatively inexpensive mobile manipulator with open hardware and software
- digitally manufactured laser cut and 3D printed custom parts
- approximately 8.5 inches square and 8 inches tall (not including mast)
- designed for indoor operation on rugs and hard surfaces
- 3 DoF arm and gripper actuated by Robotis AX12 servos, can pick up small objects
- 18 inch sensor mast for a choice of inexpensive monocular or stereo webcams, or Kinect
- lower-level sensors include
- wheel encoders
- arm servo position, temperature, and load
- front and back side-facing infra-red distance sensors
- left/right front whiskers
- drive motor current
- battery voltage
- NiMH battery for 2-6h runtime, hot-swappable, with optional AC plug-in supply
- AVR low-level processor (LLP) for real-time hardware control
- Pololu Orangutan SVP 1284
- battery protection and soft-powerdown
- 16x2 LCD display
- ESTOP
- motor drivers
- sensor interfaces
- switched regulated 5V for the HLP.
- ARM high-level processor (HLP) for UI, vision processing, Ethernet, and WiFi
- Pandaboard A2
- Communicates with the LLP over a USB serial link
- Runs Ubuntu 12.04
- WiFi remote access
- USB camera interface
- vision processing
- other high-level control algoritms
- Sourcecode for the OHMM operating software is available in the ohmm-sw repository on google code under the GNU GPL.
- The main code for the LLP is a real-time monitor program written in C which communicates with the HLP over USB serial. A user can interact directly with the monitor in ASCII command mode using a terminal program or the OHMM Java layer can run on the HLP.
- Code for the HLP is mainly in Java. The OHMM Java library manages serial communications with the LLP and exposes a high-level API to interface with the hardware. An optional scripting layer based on JScheme is also provided, as are various utilities and base classes for acquiring and processing RGB and depth images.
- By communicating with the LLP directly it is possible to use a variety of different programming languages besides Java and Scheme.
- ARM builds are included for a variety of external libraries including OpenCV and JavaCV
Very Brief Introduction the field of Research Robotics (optional)
- manipulator robots (arms)
- torso robots
- walking robots
- wheeled and tracked robots
- flying robots
- helicopters and quadrotors
- planes
- blimps
- snake robots
- self-reconfiguring and modular robots
- mobile manipulators
- difficult to categorize robots