System Architecture

Hardware Architecture

Computational Nodes

Name Description Requirements implemented Devices connected Devices managed
Bin computer Collects bin depth camera and odometry sensor information. Performs computations for bin navigation and directs the bin’s movement FR 2.* Bin robot, bin depth camera Master computer
Camera computer Performs the necessary computations for the sensing of objects on the table FR 1.2, 1.3 Camera Sensor Master computer
Table microcontroller Transmits weight sensor data to master computer FR 1.1 Weight sensor Master computer
Master computer Serves as central node of the network, performs all system heavy computations FR 1.1, 2.*, 3.6, 4.* Bin computer, camera computer, table microcontroller, portable tablet None

Devices

Name Function Requirements implemented Location
Camera sensor Collects imagery of tables FR 1.2, 1.3 Ceiling
Weight sensor Detects the presence of a person sitting on a chair FR 1.1 Embedded in a chair
Bin robot Transports the bin to the desired location FR 2.* Beneath the bin
Bin depth camera Collects depth scan data used for bin navigation FR 2.* On top of bin robot
Bin Collects trash from users None On top of bin robot

User Interface Devices

Name Function Requirements implemented Location
Tablet User interface to control the bin FR 3.*, FR 4.* Entrance of the environment, staff work area
Bin button Sends the bin back to its docking location FR 2.2 On top of the bin robot
Software Architecture
Name Requirements implemented Host node API
Tablet application FR 3.*, 4.* Tablet Mobile API, socket API for data exchange with laptop, table management API
Computer vision module FR 1.2, 1.3 Camera computer Computer Vision API
Weight sensor controller module FR 1.1 Weight sensor microcontroller Bluetooth API, weight sensor API
Bin navigation module FR 2.* Bin computer, master computer ROS
Network Architecture

Wi-Fi

  • Camera computer
  • Bin computer
  • Tablet
  • Master computer

Addressing requirements

  • Static IP for laptop computer, bin computer
  • Specific UDP port on laptop computer for the camera computer
  • Specific TCP port on laptop computer for the bin computer
  • Specific TCP port on laptop computer for the tablet
  • Specific UDP port on laptop computer for the chair microcontroller
Selected Components

Hardware components

Off-the-Shelf
  1. Camera computer - Raspberry Pi 2 (LADISPE)
  2. Bin computer - Raspberry Pi 3 (ISMB)
  3. Weight sensor - unknown (needed)
  4. Weight sensor microcontroller- Arduino Board (needed)
  5. Weight sensor microcontroller netowrking- Arduino Bluetooth module (needed)
  6. Camera sensor - USB camera (needed from LADISPE)
  7. Bin depth camera- Microsoft Kinect (ISMB)
  8. Tablet- Android tablet (needed)
AD-HOC
  1. Trash bin

Sofware Compnonents

  1. Tablet application
    • Java libraries
  2. Computer application
    • Java libraries
    • Python socket module
  3. Computer vision module
    • OpenCV 3.2
    • Numpy 1.13
    • Python socket module
    • Python time module
  4. Weight sensor controller module
    • Undecided
  5. Bin navigation module
    • ROS packages:
      • create_autonomy
      • navigation stack
      • depthimage_to_laserscan
    • Custom control algorithms