# Robotics Crash Course w/ Phil & Flo ## Overview 0. Big Picture 1. Hardware 2. Perception 3. Planning 4. Control 5. Software ## Big Picture - bla, bla robots widespread - what is a robot? - agent that acts in the world, w/ some degree of autonomy, usually with some sort of sensors and actuators - Roomba == robot? - 3D printer == robot? - RC car == robot? - Perception -> Planning -> Control -> Perc... ## 1. Hardware ### 1.1 Platforms - UGV - Unmanned Ground Vehicle / self-driving car (ClearPath) - UAV - drone (DJI) - robot arms (UR, Kinova, ABB, Sawyer, ErgoJr) - humanoids or partial systems (iCub, Valkyrie, Nao/Darwin, ASIMO, Pepper, Atlas) - quadrupeds (AIBO, Spot, Anymal, Pupper) ### 1.2 Actuators - Motors: DC motors, steppers, servos - Screens - Lights ### 1.3 Sensors - too many to list - servos: potentiometer/encoder - grippers: force feedback sensor / force-torque sensor - cameras, esp. RGB-D sensors (RealSense) ## 2. Perception ### 2.1 "Simple" stuff - range-finders (ultrasonic/laser) - buttons - see sensors ### 2.2 Vision - vision = simple, right? - preprocessing (Mask-RCNN, background removal, Kalman filtering) - voxelization - reconstructions ### 2.3 Localization/Mapping - SLAM, loop closure - OrbSLAM - GradSLAM - Structure-from-motion - COLMAP ### 2.4 Research questions - what are objects? - where are objects / what is their pose? - what objects are relevant to me? - where am I? ## 3. Planning TODO ## 4. Control ### 4.1 Kinematics - creating Kinematic Chain - KC + set of angles (per joint) = Forward Kinematics --> by giving the joints to FK, you get x,y,z of end effector - Inverse Kinematics: go from x,y,z to joint angles ### 4.2 Control basics #### Low-Level - joint-torque - joint-velocity #### High-level - joint angle - "cartesian"/end-effector control ### 4.3 PID/MPC Control ## 5. Sim & Sim2real ### Simulators Sims - Mujoco - (Py)Bullet - Dart - Gazebo - V-Rep Environments - AI2Thor - Habitat - Gibson ### Sim2Real Problems: - noise - stationary differences (measuring sthg wrong) - non-stationary dyn diff - unmodelled effects Approaches: - evolutionary - randomization-based - model-based - misc Settings: - Zero-shot (w/ or w/o task-independent samples) - Few-shot - Iterative