A.R.I.S. uses 5 sensors for navigation purposes. In the front, we use a MB1010 sonar sensor. The purpose of the MB1010 is to detect objects in front of A.R.I.S. up to 6 feet away. To the left and right of the MB1010, we use MB1030 sonar sensors to detect objects on either side of A.R.I.S. The MB1030 has a wider, but shorter ranged beam than the MB1010, therefore we mounted them on the side to detect any obstructions, such as table legs or chair legs, that A.R.I.S. could get caught on. On both sides of A.R.I.S. and facing out (beam is perpendicular to A.R.I.S. movement), we have Sharp GP2Y0A60SZLF IR sensor. These sensors will be used to detect objects on either side of A.R.I.S. The information from IR sensors will be used to determine if A.R.I.S. can turn into doorway or when navigating around the rooms, it will reference the center counter.
3-Tier IR sensors
We have also developed our own sensor which utilizes an IR camera and Raspberry Pi Camera, connected to a Raspberry Pi 3, which then sends information via serial to our PIC32 microcontroller. The IR Camera is used to detect the IR source, and will send information in the form of XY coordinates to the PIC32. This information will be read and A.R.I.S. will drive towards the IR source. The PI Camera is used for positive identification of IR source. It will use OpenCV to verify the IR source. In general, our Raspberry PI is a super sensor, which receives information from cameras, and transfers that information through UART ports on the PIC32.
See more information HERE
Motors and Motor Controller
We chose to implement a differential drive system into A.R.I.S. The idea behind the 2WD setupt was to implement 0 degree radius turning and be able to travel at 1.5m/sec. A.R.I.S. is equipped with 144mm in diameter by 29mm in width scooter wheels. The competition takes place on tile floors, therefore polyurethane scooter wheels have the perfect traction. To drive the wheels, we chose 70:1 gear ratio DC brushed motors. At 12v, the motors deliver 150RPM and 300mA free-run. This gives us the torque and acceleration we need as well as allows us to reach our top speed of 1.5m/sec. These motors also have integrated quadrature encoders that provide a resolution of 64 counts per revolution of the motor shaft, which corresponds to 4480 counts per revolution of the gearbox's output shaft. In order to drive our motors, we use a Dual VNH2SP30 Motor Driver. The motor driver PCB consists of two VNH2SP30 H-bridges. The board will take inputs from the microcontroller and output information to the motors.
For our power system, we chose a 14.8V 2200mAH LiPo battery which would be able to power our entire system for the duration of the competition, about 30-45mins. The battery would be connected to two separate voltage regulators, 5v and 3.3v. The 5V voltage regulator would be used to power our sensors, while the 3.3V voltage regulator would be used to power our microcontroller.
The Fire Extinguishing System uses a 150mL bottle as the water reservoir. We are using a DC motor water pump, similar to ones used in aquariums. The pump is not self priming so we had to mount the pump at the bottom of the water bottle, in order to create self priming. The water pump will be powered directly from the battery and will be triggered using an N-Channel MOSFET.