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.…