Team Status Report for 3/11

This week we worked on receiving data from the sensor array with all the sensors connected to the Arduino. We can now receive readings on levels of CO2, TVoCs, temperature, humidity and CO, NO2 all together while connected on the Arduino. We also defined our communication protocol using JSON payloads to send it from the Arduino to the cloud using the ESP8266 Wi-Fi module. We tested sending a JSON message across the chip to a local web server and were successful, and would like to continue testing this method. 

From preliminary testing on our sensors, we find that the ENS160 is a much stronger sensor than the Grove multichannel sensor. It is also sensitive to the carbon dioxide being exhaled due to breathing, so our data collection will have to account for the above. We tested our sensors with an isopropyl alcohol wipe and found that it can detect a rising change in gaseous distribution when objects are moved close to the sensors. We found that using a fan increased the distance at which an object can be detected by the sensors. For our next stage of testing, we will place the sensors inside the robot and determine the distance at which scents can be detected inside the close chamber with the fan running. 

This week, we also finally tested out the motion of the robot with the new motor holders.  Even though the holders made the motors more secure, it still allowed some movement of the motor axles which caused the robot to turn slightly when instructed to move in a straight line or move a bit unpredictably. We will look into additional attachment methods such as glue or screws to better secure the motors.  After this, we can focus more on tuning the motor control code.

We also worked on the Design Report and incorporated feedback from our Design Review presentation to include more stringent design requirements and define our communication protocols across all the subsystems. While working on the report, we defined our subsystems on the basis of our robot planner, control, design and the communication of how sensor data will travel from our robot to our classification system. 

Aditti’s Status Report for 3/11

For the last week, I worked on getting the motors mounted on the robot and getting the robot to drive a fixed distance in a straight line. Currently, we are interrupting on a hardware interrupt pin and reading from a digital pin for the hall sensor readings for each motor, and using these to update the encoder ticks. Then, the distance travelled by the left and right wheels is computed using the gear ratios and robot geometry in cm, and the robot continues forward till it reaches the target distance without PID position or speed control. From initial testing, we found that our wheels and motors were not secure enough to ensure repeatable motion from the robot, although the traversed arc length was always within 2-4cm of the target distance. We tried to secure the motors better using laser-cut brackets to hold them in place. This helped, but we will still need a better way to secure them in place. For this we will be gluing down the motors/screw them in so that there is no shakiness. Once this is done, we will assess if there is a need to implement PID control or if the robot’s performance is good enough for our purposes. I also helped out with getting the sensors set up for reading and calibration, and spent a considerable amount of time working on the report last week. Next week, I will be focusing on securing the motors, working on the tuning code, and implementing PID control if needed.