1 of 15

Taking out Trash

Team PhoeniX

2 of 15

Motivation

  1. We as humans generate a lot of trash which is stored in a trash can until it can be disposed off to a desired location.
  2. Currently this process of moving the trash can to the desired location is done manually
  3. But given a scenario like a university or a office where each room has at least one trash can, manual process for this operation is very laborious and time consuming.
  4. We aim to automate this process with a robot going to a location to pick up the trash can and then place it at the desired location accurately and autonomously.

3 of 15

Approach Overview

Abstracted

Abstracted

4 of 15

Implementation

Visual Servoing

5 of 15

Feedback from onboard Encoder to control the motion of the robot

  • Compute the pose of the bin using the AprilTag marker detection.
  • Orient the robot base in the direction parallel to the bin’s surface (with april tag).
  • Traverse in x/y direction to reach exactly in front of the bin’s surface.
  • Orient the robot base exactly in the direction perpendicular to the bin’ surface.

Feedback from stereo camera to control the motion of the robot.

  • Compute the pose of the bin using the AprilTag marker detection.
  • Command robot base to traverse towards the bin (in the z-direction) till a certain threshold.
  • Simultaneously correct robot’s yaw based on the visual feedback.

Visual Servoing

6 of 15

Implementation

Skill Learning

  • Imitation Learning

  • Using single demonstration

  • Each is modeled using a Gaussian Process (GP)

  • Demonstration Recorded using Kinesthetic

7 of 15

Implementation

Gaussian Processes

  • GP are used as unknown function estimator

Time (t)

fi(t)

ith joint angle at time t

Known Points (t)

  • We take several key joint angles state of our demonstration as known points and try to model entire trajectory in probabilistic manner using GP

8 of 15

Implementation

Gaussian Processes

  • Assumption here is that function is continuous with time variable meaning joints can’t jump from one angle to another angle
  • Continuity constraint is incorporated in GP by providing high correlation between close by variables.
  • For example variable f(t1) and f(t2) are highly correlated if |t1-t2| is very small
  • Specifically we are using Gaussian Kernel to define correlation.

t1-t2

K(t1,t2)

sigma_a = 0.6, sigma_l = 5.0

9 of 15

Implementation

Gaussian Processes

  • Each f(t) step is modeled as gaussian variable with its own mean and covariance which are computed using conditional gaussian probability equation

sigma_n = 0.1

10 of 15

Results

Grasp Skill

11 of 15

Result

Grasp Skill Joint 4

12 of 15

Implementation

Different Skills

13 of 15

Demo/Video

14 of 15

Challenges

  1. With limited joint torques of the locobot arm, it’s difficult to pick the filled trash can and thus we had to determine strategies to overcome this challenge.
  2. Visual orientation of the locobot such that it is always facing perpendicular to the bin which makes it easier to grasp from the front.
  3. Modify the dynamixel motor controllers to get the encoder information which was used for kinesthetics and to record joint angle information for imitation learning.
  4. Learning different skills such as loading the trash can onto the fork lift and unloading the trash can while placing it at the destination location.

15 of 15

Future Work

  1. Path Planning and Navigation with Obstacle avoidance.
  2. Deep Learning to identify the trash cans instead AR tags
  3. Gaussian Processes to modify the trajectory for different sized trash cans and any obstacles in challenging situations
  4. Empty the trash can and return it back to the original place.