A remote-control robot capable of gathering a biological sample in unknown areas, Biopsy Bot was developed as a final project for the 4th year Mechatronic System Design course offered at UWO. The purpose of the project was to develop a robot capable of remotely navigating (with the aid of an on-board wireless camera) an area of unknown, rocky terrain, in order to gather and return a biological sample from a mysterious blob (made of Jello). Furthermore, the robot is required to overcome several obstacles, while having a limited size.
Below is a short video showing off some of the construction, and the results from the final competition (the first run starts at 0:45 in):
Body & Drivetrain
The majority of Biopsy Bot is constructed from plexi-glass, with an aluminum-based body extension at the front. This was done to extend the length of the tracks while providing an adjustable angle for Biopsy Bot to approach the tallest obstacle with. The aluminum body extension also holds the sample gathering arm and associated motors.
There are four drive motors in total on Biopsy Bot (two per tread), and all are geared DC motors. The maximum current draw is 1.24A at 12V, again over the tallest obstacle. The treads were made using a VEX Robotics’ Tank Tread Kit, with some all-purpose silicone to improve the tread grip. There is a separate 9V power supply dedicated to the communications & control equipment, to avoid feedback and voltage sags from the motors’ power rail.
Communications & Control
In order to use Wi-Fi as the wireless communication method, a Roving Networks RN-XV was attached to a (required) PIC24HJ64GP502 via UART. The RN-XV’s job is to forward any received TCP/UDP packets as ASCII characters to the PIC microcontroller. For this reason, a token-based communication method was used, where the microcontroller parsed the incoming data like a finite state machine, applying the appropriate signals to the relevant motors/lights on Biopsy Bot. In a loss-of-communication event, the robot is designed to stop moving within 200 milliseconds.
On the computer side, I wrote a fairly simple UDP application using the SDL and SDL_net libraries. SDL was used to obtain the input from a generic joystick device (a PS3 controller, in this case), parse the relevant analog/digital inputs into control signals, and forward the appropriate control signals to Biopsy Bot.
Sample Collection Mechanism
In order to collect a sample of the mysterious blob (Jello), a syringe was attached to the motors in an old scanner head, creating the sample collection mechanism. Using a geared motor and the respective track, one side of the syringe plunger was ground down, and the track was fixed to it. A custom mounting bracket was then created out of plexi-glass, allowing the geared motor to press and retract the syringe.
Once complete, the entire mechanism was attached to a motor, so it could be raised/lowered by the robot. Part of the project requirements was to automate the sample collection process, so the automatic functionality was integrated into the control software, and could be activated by simply holding a button on the controller for a few seconds:
This was a group project involving me (Brandon Castellano), Ryan Mantha, Daren Michener, and Brock Turner. Here’s a picture of the team hard at work in a room we probably spent far too much time in (with me taking the picture, but you’ve seen me already):
Coming soon! I’m planning on uploading the remaining pictures either here or to a Flickr album, but if you want to see some high quality pictures of the robot in action on the test track, see this Youtube video in either 720p or 1080p.
If you should want to contact me or someone else on the team, leave a comment on this page.