While fulfilling the food demand of an increasing population is a major global concern, over one-third of the food is wasted in operations after harvesting ( https://www.fao.org/3/i3347e/i3347e.pdf). Storage plays a vital role in the food supply chain and several studies, especially from developing countries, reported that maximum losses happen during this operation. Reducing these losses is a sustainable solution to increase food availability, eliminate hunger and improve farmers’ livelihoods. Major causes of spoilage during storage are, increase of respiration, dew condensation, fermentation, mold, microorganism, stored grain insect and mice. It is essential to detect these early signs of spoilage to prevent the damage by taking measures like ensuring clean and airtight storage facilities for grains, drying grains to their required moisture content, and removing infested grains away from un-infested grains.
ProposalWe plan to develop an Autonomous rover, equipped with the Bosch sensor, that can move around the grain storage facilities and detect the rise of Carbon dioxide via VOCs that are generated from growing microorganisms and insects in the grains. This system will act as an early warning system that can also localise the source of these increased emissions. Using this information, preventive measures can be taken to avoid spoilage.
JourneyThe firs part was to get the sensors functional :
- Camera [Google Coral] : was setup using the ros image tools package and the information was published over ROS
- Gas Sensor [BME688] : there were issues to set it over via the official Bosch drivers , this was mainly due to the lack of support for boards with multiple i2c interfaces.
The first step in development was to check the if the sensor was dumping the right information on the bus , this was done via ubuntu i2c tools, As seen in the figure below the i2c address of the sensor was correctly detected on the 6th i2c interface on the i.mx8 NavQ board.
After the address check was okay , the data was checked using the i2c dump command.
The frame was cross referenced with the datasheet and the values were correct. This meant the official bosch drivers weren't supported on the nxp board. To solve this, we chose to make modification to an existing open source python repository to be able to get the necessary information. We then developed a ROS2 wrapper around it to be able to extract information on to ROS.
Rover Building
As the sensors were ready the Rover was assembled following the well documented procedure in nxp gitbooks.
We started from the below tools:
modified the RC car to the rover below
Once the physical Rover was setup the FMU was seup using QGound controls with the radio transmitter after which could control the Rover.
Here we faced a block hole as the Servo on the rover failed , though the main motors were working , we couldn't steer the Rover. The fix for this was to replace the servo , due to lack of availability and shipment delays we are yet to get the servos.
Future PlansMost of the effort until the Hover games project dedline went in to sensor integration and hardware setup. Further continuing the project as the platform is ready for recording, datasets need to be collected from granaries with good and bad zones to be able to properly develop a detection algorithm. Once this is completed using the ROS2 Nav package we plan to automate the rover.
Comments