1 of 78

Team A: CreoClean

System Development Review

Oct 21, 2024

2 of 78

The Team

David Hill

Michael Gromis

Leo Mouta

Yatharth Ahuja

Louis Plottel

Corey Augenstein

Koppers

Ashley Coup

Koppers

3 of 78

Agenda

  • Project Description
  • Use Case
  • Requirements Modification
  • Current System Status
  • Project Management

4 of 78

Project Description

5 of 78

Project Description

Koppers’ factory makes railway ties by injecting them with a preservative called creosote

Railway ties

Creosote injection chamber

6 of 78

Project Description

EPA stipulates the ties must sit on the drip pan for 8 hours before leaving the factory to make sure all creosote has dripped out.

Railway ties

Drip pan

7 of 78

Project Description

EPA also stipulates Creosote has to be cleaned off the drip pan frequently, so the drip pan can be inspected for cracks

Currently, this is done manually using squeegees. It requires a total factory shut down for ~4 hours, and exposes workers to hazardous chemicals

Accumulated creosote

8 of 78

Our Solution

A robot will drive on the drip pan and use a robot arm to push creosote into a central drain

  • Keeps workers out of harm’s way
  • Allows the rest of the factory to keep running during cleaning
    • More frequent cleaning → increasing compliance with EPA regulations
    • Increase production rate → boost revenue

9 of 78

System

Mobility Platform

Vision & Perception

Robot Arm

Cleaning tool

Testbed

10 of 78

Use Case

11 of 78

Use Case

The Drip Pan is dirty!

Time to put the robot on the rails and start cleaning.

12 of 78

Use Case

Start command received!

Sensing environment and generating cleaning plan

13 of 78

Use Case

I’m 40% done cleaning and successfully cleaned 92% of the area covered. Battery 65%.

14 of 78

Use Case

I’m 100% done cleaning and successfully cleaned 96% of area covered. Battery 15%. Here are three spots I wasn’t able to clean:

15 of 78

Use Case

Charging…

16 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set arm plan
  4. Execute arm plan
  5. Displace creosote
  6. Move arm to take a picture to evaluate cleaning performance
  7. Process image, get creosote locations
  8. Repeat steps 1-7

Drain

17 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

1

18 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

2

19 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

3

20 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

4

21 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

5

22 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

6

23 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

7

24 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

8

25 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

9

26 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture to assess cleaned area
  6. Process image, get new creosote locations
  7. Repeat steps 1-6

10

27 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

11

28 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

12

29 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

13

30 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

14

31 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

15

32 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

16

33 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

17

34 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

18

35 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

19

36 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

20

37 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

21

38 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

22

39 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

23

40 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

24

41 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

25

42 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

26

43 of 78

Operation

  1. Move mobility platform
  2. Move arm to take a picture
  3. Process image, get creosote locations, set movement plan
  4. Execute movement plan
  5. Move arm to take a picture
  6. Process image, get creosote locations
  7. Repeat steps 1-6

27

44 of 78

Cleaning

45 of 78

Requirements Modification

46 of 78

Changed requirements

NF 4

Cost at most $5000

  • Koppers covered some costs
  • We went over budget (more later)

47 of 78

Current System Status

48 of 78

System Recap

Mobility Platform

Vision & Perception

Robot Arm

Cleaning tool

49 of 78

Work Breakdown Structure

50 of 78

Mobility Platform

Drivetrain

Linear Actuator

Cliff (IR) Sensor

Functional description of subsystem: moves on rails and moves arm perpendicularly (linear actuator). Senses edges of pan and pan's brics for localization

Major remaining challenges: done

51 of 78

Mobility Platform - Current Stage of Development

Current level:

  • Moves robot
  • Moves arm
  • Senses pan

Completed tests:

  • Moves at desired speed
  • Stops at pan's edge

Challenges faced:

  • Designing this from zero was not easy

52 of 78

Robot Arm

Functional description of subsystem: pushes creosote towards the drain

Major remaining challenges: done

53 of 78

Robot Arm - Current Stage of Development

Current level:

  • Pushes creosote
  • Complies with MoveIt code

Completed tests:

  • Different cleaning positions

Challenges faced:

  • Arm locks out due to force feedback

54 of 78

Cleaning Tool

Functional description of subsystem: works with the arm to push creosote. Senses force applied at the end

Major remaining challenges: design upgraded version

55 of 78

Cleaning Tool - Current Stage of Development

Current level:

  • Pushes creosote
  • Accumulates some in rubber

Completed tests:

  • Real and fake creosote
  • Cleaning with arm
  • Force sensing

Challenges faced:

  • Creosote is a tricky substance with multiple stages of life (liquid, goo, etc.)

56 of 78

Vision & Perception

Functional description of subsystem: senses creosote patches on pan and calculates their position for the planner

Major remaining challenges: done

Creo Mask

Semi Mask

Clean Mask

Original Image

57 of 78

Vision & Perception - Current Stage of Development

Current level:

  • Senses creosote at several states

Completed tests:

  • Real and fake creosote
  • Different lighting
  • Multiple patch types

Challenges faced:

  • Adapting to factory conditions

58 of 78

User Interface

Functional description of subsystem: provides a bridge between users and the system

Major remaining challenges:

  • Finish GUI
  • Ensure communication stability
  • Relay commands to subsystems

59 of 78

User Interface - Current Stage of Development

Current level:

  • Connected to ROS infrastructure

Completed tests:

  • Remote connection

Challenges faced:

  • Real-time communication is hard

60 of 78

Testing Environment

Functional description of subsystem: offers a mockup of the NLR drip pan

Major remaining challenges: done

61 of 78

Testing Environment - Current Stage of Development

Current level:

  • Close copy of a section of the NLR drip pan

Completed tests:

  • Slope accuracy
  • Distance accuracy

Challenges faced:

  • CMU Real Estate is hard

62 of 78

Integration

Functional description of subsystem: allows all systems to exchange mechanical and electrical signals

Major remaining challenges:

  • Full system testing
  • Orin <-> MCUs

63 of 78

Integration - Current Stage of Development

Current level:

  • Most basic components integrated

Completed tests:

  • E-stop safety
  • Mechanical assessments

Challenges faced:

  • Drivers should not be taken for granted
  • ICDs should have been done earlier

64 of 78

Autonomy

Functional description of subsystem: combines signals from subsystems to come up with:

  • Movement
  • Localization
  • Cleaning pan

Major remaining challenges:

  • Implement feedback
  • Complete state machine

65 of 78

Autonomy - Current Stage of Development

Current level:

  • All subsystems talking the same language (ROS)
  • State machine sketched
  • Motion planning primitives

Completed tests:

  • Open-loop cleaning (for PR 10)

Challenges faced:

  • Finding correct ROS packages is hard
  • ICDs should have been done earlier

66 of 78

Project Management

67 of 78

Schedule Status

We are behind on our schedule:

  • Overworked
  • Delays with interfacing components
  • Unexpected challenges

Catching up: reducing the scope of deployed product + some reduction in testing

68 of 78

Test plan

Tests to be done until the FVD:

  • Full cleaning test
  • UI connection test
  • Platform localization test
  • State machine test

69 of 78

Test Plan - PRs

Date

PR

Capability Milestone(s)

Associated System Requirements

Oct 30

10

- Open-loop cleaning routine

All

Nov 13

11

- Cleaning routine with sensor feedback and UI interaction

All

70 of 78

Test Plan - Fall Validation Demo

Location: NSH B-Level

Sequence of events

  1. A creosote simulacrum is placed on the testbed.
  2. The robot is given the start command and cleans the drip pan
  3. Updates from the robot are shown on a TV

Metrics: All performance requirements -> ability to fulfill these reqs

71 of 78

Budget Status

Total: $5500 (budget extended)

Spent percentage: 91.6%

Extra: yes. We are being parsimonious with the remaining budget

Lesson: building hardware is expensive

72 of 78

Risk Management - Risks

73 of 78

Risk Management - Risks

74 of 78

Risk Management - Risks

75 of 78

Risk Management - Risks

76 of 78

Risk Management - Risks (new ones since CDR)

77 of 78

Risks

Major Selected Risks

  • R3: Simulation and Testbed are not representative of factory
  • R20: Arm locking out in certain positions
  • R19: Burnout and overwork

Closed since CDR

R6 closed by linear actuator moving the arm

78 of 78

Thank you!

Any Questions?