[[TOC(Other/Summer/2023/RobotTestbed/*, depth=1, heading=Robotic IoT Smartspace Testbed)]] = Robotic IoT !SmartSpace Testbed = **WINLAB Summer Internship 2023** **Group Members:** Katrina Celario^UG^, Matthew Grimalovsky^UG^, Jeremy Hui^UG^, Julia Rodriguez^UG^, Michael Cai^HS^, Laura Liu^HS^, Jose Rubio^HS^, Sonya Yuan Sun^GR^, Hedaya Walter^GR^ == Project Overview == The main purpose of the project is to focus on the Internet of Things (IoT) and its transformative potential when intertwined with Machine Learning (ML). To explore this subject, the group continues the work of the '''''!SenseScape Testbed''''', an IoT experimentation platform for indoor environments containing a variety of sensors, location-tracking nodes, and robots. This testbed enables IoT applications, such as but not limited to, human activity and speech recognition and indoor mobility tracking. In addition, this project advocates for energy efficiency, occupant comfort, and context representation. The ''!SenseScape Testbed'' provides an adaptable environment for labeling and testing advanced ML algorithms centered around IoT. === Hardware === This project is centered on a specific piece of hardware referred to as a '''''MAESTRO''''', a custom multi-modal sensor designed by the previous group. The MAESTRO is capable of perceiving different types of data from its environment (listed below) and is connected to a Raspberry Pi, a microcomputer with the Raspberry Pi OS Lite (Legacy) installed. In addition, the group is leaning towards using a Raspberry Pi Camera Module for the camera. [[Image(Maestro.jpg, 250px)]] [[Image(Raspberry Pi 3 B+.jpeg, 250px)]] [[Image(Raspberry_Pi_Camera_Module_3_2.jpeg, 250px)]] The attachments on the MAESTRO include: →'''ADXL345:''' measures acceleration experienced by the sensor →'''BME680:''' measures temperature, humidity, pressure, and gas resistance →'''TCS3472:''' measures and converts color and light intensity into digital values →'''MXL90393:''' measures magnetic field in x, y, and z axis →'''ZRE200GE:''' detects human presence or motion by sensing infrared radiation emitted by warm bodies →'''MAX9814:'''amplifies audio signals captured by connected microphone →'''NCS36000:''' detects and controls PIR sensor →'''MCP3008:''' converts analog signals from sensor and converts it into a digital value that a computer can read →'''LMV3xx:''' allows full voltage range of the power supply to be utilized == Project Goals == '''Previous Group's Work''': **https://dl.acm.org/doi/abs/10.1145/3583120.3589838** Based on the future research section, there are two main goals the group wants to accomplish. The first goal is to create a website that includes both real-time information on the sensors and a reservation system for remote access to the robot. For the sensors, the website should display the name of the sensor, whether it is online and the most recent time it was seen gathering data, and the actual continuous data streaming in. For the remote reservation/experimentation features, the website must be user-friendly so that not only is it easy for the user to execute commands, but also restricts them from changing things that they shouldn’t have access to. The group strives to allow remote access to the !LoCoBot through ROS (Robotic Operating System) and SSH (Secure Shell) as long as all machines involved are connected to the same network (VPN). The second goal is automating the labeling process of the activity within the environment using the natural language descriptions of video data. The video auto-labeling can be done training neural networks (ex: CNN and LSTM) in an encoder-decoder architecture for both feature extraction and the language model. For activities that cannot be classified within a specific amount of certainty, the auto-labeling tool could save the time stamp and/or video clip and notify the user that it requires manual labeling. In the case the network is fully trained, it would simply choose the label with the highest probability and possibly mark that data as “uncertain”. The main goal is to connect this video data to the sensor data in hopes to bridge the gap between sensor-to-text. === The Projects's Three Phases === The progression of this project relies on three milestones, each with unique and specific goals. Moving forward, each phase is more advanced than the last. '''Phase One:''' For the first phase, the group is looking for the MAESTROs to recognize a predetermined set of activities in an office environment, in this case WINLAB. The plan is to set the MAESTROs in a grid like coordinate system, considering both the location of outlets and the "predetermined activities" that will be conducted. In addition to the MAESTROs, there will be multiple cameras in place capturing continuous video data of human activity. This video data will be used for the automatic labeling. Phase one is the foundation for the rest of the milestones moving forward. '''Phase Two:''' For the second phase, the group is looking for the MAESTROs to communicate with each other about what is happening in their immediate space using '''zero-shot''' or '''few-shot''' recognition. ''zero-shot:'' ability of a large language model to perform a task or generate responses for which it has not been explicitly trained. ''few-shot:'' ability of a large language model to recognize or classify new objects or categories which only a few labeled examples or shots. '''Phase Three''' For the third and final phase, the group is looking for the MAESTROs to communicate with each other to create a narrative of the activity in the given space. The model could be queried about the "memory" of the space and will give ranging descriptions based on the desired scope of the answer (1 hour vs 1 year). Seen in this phase, the large language model is the core of the project; however, the MAESTROs must be deployed first. == Progress Overview == **WEEK ONE** **[https://docs.google.com/presentation/d/1IYKcQdG27xSXlZqqyma7TG-OmXAVHhU-KHgzNXne9zE/edit?usp=sharing Week 1 Presentation]** The main priority for week one was getting familiar with the focused topics of the project. Since all the group members had little to no knowledge of these topics, a variety of relevant research papers were passed. These papers included topics such as the encoder-decoder architecture the large language model would be built upon and the research paper the previous group wrote regarding ''!SenseScape''. In addition to reading, the group was introduced to the robot, which had the potential to be used a mobile sensor in the indoor testing environment. For a few days that week, the group met at the Computing Research & Education Building (CoRE), located on Rutgers- Busch Campus, in order to see and interact with the robot. To learn more about the way the robot worked, the group was able to set up ROS (Robotic Operating System) on Ubuntu distro and even ran elementary python scripts on robot following a talker/listener architecture. **WEEK TWO** **[https://docs.google.com/presentation/d/1QW5UYQB5ktRmmwNGVY43LUMOT2xoVWsmm7XsQQUSX9M/edit?usp=sharing Week 2 Presentation]** For week two, the group worked on starting the website designing process by first brushing up on HTML (!HyperText Markup Language), a markup language a few of the members had previous experience with. To do so, this included watching tutorials, practicing on Code Academy, and even creating a simple website. {{{#!html