4
Laboratory for Perceptual Robotics – Department of Computer Science Rod Grupen Department of Computer Science University of Massachusetts Amherst Roger-the-Crab Laboratory for Perceptual Robotics – Department of Computer Science 2 Un-Crating Roger - C and X windows Platforms: OS X, Linux, Windows (Cygwin ||dual-boot/VM Linux) Getting Started: download your copy of the Roger simulator from www-robotics.cs.umass.edu/~grupen/603/code/roger-2020.tar unpack the compressed directory tar -xvf roger-2020.tar make the simulator and your projects (as in README) cd roger-2020/RogerSimulator > make clean; make <CR> >cd roger-2020/RogerClient > make clean; make <CR> > cd ../RogerProjects > make clean; make <CR> run the simulator (e.g. from README) >./RogerSimulator/simulator 1 1 <CR>> ./RogerProjects/roger 127.0.0.1 8000<CR>” Laboratory for Perceptual Robotics – Department of Computer Science 3 The Simulator Environment Laboratory for Perceptual Robotics – Department of Computer Science 4 The Simulator Environment Laboratory for Perceptual Robotics – Department of Computer Science 5 configuration space left button (q 1 ,q 2 ) (q 1 ) right button −π +π +π −π Input Modes: Joint Angle inputs Laboratory for Perceptual Robotics – Department of Computer Science 6 Input Modes: Base goals Cartesian space (x,y) world frame Input: Base goal

ROGER-the-CRABgrupen/603/slides/ROGER-the-CRAB.pdfInput Modes: Map Editor Input: Map editor goals obstacles Laboratory for Perceptual Robotics – Department of Computer Science !10

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

  • Laboratory for Perceptual Robotics – Department of Computer Science

    Rod Grupen Department of Computer Science

    University of Massachusetts Amherst

    Roger-the-Crab

    Laboratory for Perceptual Robotics – Department of Computer Science !2

    Un-Crating Roger - C and X windowsPlatforms: • OS X, Linux, Windows (Cygwin ||dual-boot/VM Linux)

    Getting Started: • download your copy of the Roger simulator from

    www-robotics.cs.umass.edu/~grupen/603/code/roger-2020.tar • unpack the compressed directory

    tar -xvf roger-2020.tar • make the simulator and your projects (as in README) • cd roger-2020/RogerSimulator

    > make clean; make >cd roger-2020/RogerClient > make clean; make > cd ../RogerProjects > make clean; make

    • run the simulator (e.g. from README) >“./RogerSimulator/simulator 1 1 ” > “./RogerProjects/roger 127.0.0.1 8000”

    Laboratory for Perceptual Robotics – Department of Computer Science !3

    The Simulator Environment

    Laboratory for Perceptual Robotics – Department of Computer Science !4

    The Simulator Environment

    Laboratory for Perceptual Robotics – Department of Computer Science !5

    configuration space

    left button

    (q1,q2)

    (q1)

    right button

    −π

    +π−π

    Input Modes: Joint Angle inputs

    Laboratory for Perceptual Robotics – Department of Computer Science !6

    Input Modes: Base goals

    Cartesian space

    (x,y)

    world frame

    Input: Base goal

  • Laboratory for Perceptual Robotics – Department of Computer Science !7

    Input Modes: Arm goals

    Cartesian space

    right button (x,y)

    left button (x,y)

    right arm

    left arm

    world frame

    Input: Arm goals

    Laboratory for Perceptual Robotics – Department of Computer Science !8

    Input Modes: Introducing an Object (Ball)

    Cartesian space

    Input: Ball position

    world frame

    Laboratory for Perceptual Robotics – Department of Computer Science !9

    Input Modes: Map Editor

    Input: Map editor

    goals

    obstacles

    Laboratory for Perceptual Robotics – Department of Computer Science !10

    Control Modes

    Project-specific control

    Laboratory for Perceptual Robotics – Department of Computer Science !11

    Environmental Maps

    different rooms

    Laboratory for Perceptual Robotics – Department of Computer Science !12

    Command line I/O

    accurate setpoints, gains, etc

  • Laboratory for Perceptual Robotics – Department of Computer Science !13

    Project Specific Visualization

    project/user defined tools

    location uncertainty path plans potential maps

    Laboratory for Perceptual Robotics – Department of Computer Science !14

    Terminating

    Laboratory for Perceptual Robotics – Department of Computer Science !15

    Roger-the-Crab - Kinematic Definition

    ./include/roger.h

    Laboratory for Perceptual Robotics – Department of Computer Science !16

    U

    U

    Afferents

    eyes: • θ[2], θ[2], images[2][128][3]

    arms: • θ1[2], θ1[2], θ2[2], θ2[2] • tactile (force) sensors: f[2] R2

    mobile base: • position (x, x, y, y), orientation (θ, θ) • bump (force) sensor: f R2

    .

    .

    .. .

    .

    Laboratory for Perceptual Robotics – Department of Computer Science !17

    Efferents

    eye torques: • τ[2]

    arm torques: • τ1[2], τ2[2]

    mobile base: • wheel torques τ[2]

    Laboratory for Perceptual Robotics – Department of Computer Science !18

    Robot Interface: Project #1, #2• eye joint angles/velocities • images

    • arm joint angles/velocities • tactile (force) sensors • base position (x,y), orientation (θ) • bump (force) sensor

    • eye motor torques • arm motor torques • wheel torques

    simulatorapplications (MotorUnits.c)

    always on

  • Laboratory for Perceptual Robotics – Department of Computer Science !19

    Control Interface - include/control.htypedef struct Robot_interface { // SENSORS double eye_theta[NEYES]; double eye_theta_dot[NEYES]; int image[NEYES][NPIXELS][NPRIMARY_COLORS]; /* rgb */ double arm_theta[NARMS][NARM_JOINTS]; double arm_theta_dot[NARMS][NARM_JOINTS]; double ext_force[NARMS][2]; /* (fx,fy) force on arm endpoint */ double base_position[3]; /* x,y,theta */ double base_velocity[3]; // MOTORS double eye_torque[NEYES]; double arm_torque[NARMS][NARM_JOINTS]; double wheel_torque[NWHEELS];

    // TELEOPERATOR int button_event; double button_reference[2];

    // CONTROL MODE int control_mode; int input_mode; Map world_map, arm_map[NARMS];

    // REFERENCE VALUE double base_setpoint[3]; /* desired world frame base position (x,y,theta) */ double arm_setpoint[NARMS][NARM_JOINTS]; /* desired arm joint angles */ double eyes_setpoint[NEYES]; /* desired eye pan angle */ } Robot;

    typedef struct _map { int occupancy_map[NBINS][NBINS]; double potential_map[NBINS][NBINS]; int color_map[NBINS][NBINS]; } Map;

    Laboratory for Perceptual Robotics – Department of Computer Science !20

    Hierarchical Control

    Laboratory for Perceptual Robotics – Department of Computer Science !21

    MotorUnits.c

    control_roger() control_base() control_arms() control_eyes()

    simulator

    control torques

    Σcurrent sensory state

    higher-level reference

    inputs

    +_

    Laboratory for Perceptual Robotics – Department of Computer Science !22

    Cumulative Project Work

    1. motor units 2. Cartesian goals 3. oculomotor behavior 4. visual reconstruction - triangulation 5. “hunting” - integrated behavior 6. …

    options: 1. path planning 2. learning 3. Pong 4.…