Demo 2

Work Done

Adapted previous code to the new problem as stated in the previous post. Additionally, implemented a rudimentary anticipatory controller based on probabilities in a database.


ROS Architecture

The robot communication is established using Robot Operating System (ROS) with 5 main nodes.

  • orbbec_camera: node responsible for receiving the images from the camera and publishing them to ROS;

  • human_locator: node responsible for analyzing the depth images and returning the position of the highest point in a certain region of interest which is then considered as the position of the human in the workspace;

  • object_color_segmenter: groups of nodes responsible for analyzing the color images and returning the position of the objects in the workspace using color segmentation;

  • database: node responsible for managing the database (postgres docker container) including creating the tables, inserting data and queries;

  • decision_making_block: node responsible for receiving the information resulting from the sensor data and keeping an internal state machine to decide what actions should be taken and when they should be taken;

  • move_it!: group of nodes responsible for planning the robot trajectory in each action.


Video Demonstration