---
# System prepended metadata

title: Overview on Robotics
tags: [cs 593 robotics]

---

---
title: Overview on Robotics
tags: cs 593 robotics
---

# Overview on Robotics

-> cognition - >
|                |
-<    body <----




perception -> planning -> control -> environment loops back to perception 

**draw that out lol that sucked**

## perception
- local perception
    - camera on the robot 
    - e.g. depth sensor 
- global perception
    - assume we know the entire space
    - usually generated through SLAM 
        - simultaneous localization and mapping
        - pre-built packages (omni mapper)
        - continuing research with SLAM
            - data association
            - model-based vs model-free
            - landmark detection
            - modality
                - touch
                - thermal
                - vision
                - combining modalities


## planning
- high-level planning
    - task planning 
    - discrete spaces
- low-level planning
    - deals with the environment and actuators
    - for each task, how will the robot send commands to its actuators to interact with the environment
    - continuous spaces
- tools
    - discretization-based approaches
        - A^*^
        - disadvantages
            - curse of dimensionality
            - resolution is important
    - sampling based methods
        - RRT, RRT*, PRMs
        - advanced constraints
- constraints
## control / action
- send comands to actuators to follow waypoints to get to targets
- Kalman filters to incorporate system noise (uncertainty) into planning algorithm

### definitions
- localization
    - knowing where i am with reference to another object
- configuration space (c-space)
    - robot joint space
- work/task space
    - can be 2D or 3D 
- point mass
    - configuration space 
        - (x,y) -> point -> R^2^
    - workspace
        - 2D -> R^2^
- rigid-body
    - configuration space 
        - (x,y, $\theta$ ) -> point with angle -> R^3^
    - can get to state-space
    - workspace
        - 2D -> R^2^
- planning algorithms
    - plan in configuration space

### course specifics
- assume global perception is provided or assume local perception
- emphasis on low-level planning and assume high-level plan is given
- combine machine learning with sampling based planning
- focus on sampling based planning

### course logistics
https://qureshiahmed.github.io/sp22.html 
- assignment 1
    - sampling based methods 
- assignment 2
    - PID for robot arm to follow circular trajectory
- assignment 3
    - combining learning with planning
- assignment 4
    - deep reinforcement learning
- final project
    - use techniques not covered in assignments!
- class participation
    - answering questions on piazza



### read up on before next class

- Modern robotics book: http://hades.mech.northwestern.edu/images/7/7f/MR.pdf

configuration space and workspace and state-space !!!!

RRT (rapidly-exploring random tree)
- 
RRT*, PRMs


A*
- graph traversal and path search algorithm
- combines dijkstra's algorithm and greedy best-first-search 
    - dijkstra's
        - favoring vertices that are close to the starting point
    - greedy best-first-search
    - favoring vertices that are close to the goal

PID controller(proportional-integral-derivative controller)
- single input, single ouput
- control loop mechanism that modifies itself based off of derivatives and proportions to minimize error
- e.g. cruise control on a car, power requirement changes if you go up a hill but speed doesn't change

MPC (model predictive controller)
- multiple inputs, multiple outputs
- multivariable control algorithm that uses
    - an internal dynamic model of the process
    -  a cost function over the receding horizon
    - an optimization algorithm minimizing the cost function using the control input

think of example where workspace has higher dimension than c-space





