33
1 Final Status Report H.E.R.A.L.D. Hybrid Exploration Robot for Air and Land Deployment Lauren Davis, Mike Kofron, Stella Latscha, Gabrielle Merritt, and Anthony Stroffolino http://modlabupenn.org/hybrid-exploration-robot-for-air-and-land-deployment-h-e-r-a-l-d/

Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

Embed Size (px)

Citation preview

Page 1: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

1

Final Status Report

H.E.R.A.L.D. Hybrid Exploration Robot for Air and Land Deployment

Lauren Davis, Mike Kofron, Stella Latscha, Gabrielle Merritt, and Anthony Stroffolino http://modlabupenn.org/hybrid-exploration-robot-for-air-and-land-deployment-h-e-r-a-l-d/

Page 2: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

2

Table of Contents

Title Page....................................................................................................................................................1

Table of Contents.......................................................................................................................................2

Project Overview........................................................................................................................................3

Overall Design............................................................................................................................................4

Snake................................................................................................................................................4

Quadrotor.........................................................................................................................................5

Docking............................................................................................................................................7

Electronics........................................................................................................................................7

Software.........................................................................................................................................10

Integrated System...........................................................................................................................11

Testing/Prototyping Results....................................................................................................................13

Snake..............................................................................................................................................13

Quadrotor.......................................................................................................................................13

Docking..........................................................................................................................................16

Electronics......................................................................................................................................18

Software.........................................................................................................................................20

Integrated System...........................................................................................................................21

Proposed Improvements..........................................................................................................................21

Lessons Learned.......................................................................................................................................22

Requirements Compliance......................................................................................................................24

Cost............................................................................................................................................................25

Appendices................................................................................................................................................28

Page 3: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

3

Project Overview

Many exploration, rescue and mapping applications occur in situations without the air flow or trajectory space for quadrotors, involve chemicals or tasks too dangerous for human beings, and require novel form factors to fit through small spaces and climb over complicated obstacles. These situations include finding injured humans in rubble, or locating explosives in hazardous terrain, among others. For these applications, a mobile land-air robot for search and rescue with visual feedback would be desirable.

Currently there are very few search and rescue robots used in disaster situations, though there are numerous research vehicles in development. Many academic groups have attempted the challenge but few have created robust, readily usable solutions. The Robotics Institute at Carnegie Mellon University develops what they call “serpentine” robotic manipulators for navigating rubble in disaster scenarios. However, the technology is not mobile; it is simply a snake-like robotic arm (http://www.ri.cmu.edu/research_project_detail.html?project_id=407&menu_id=261). The Center for Robot-Assisted Search and Rescue (CRASAR) at Texas A&M University also develops a wide variety of search and rescue robots, which can navigate over rubble but are far too large to explore a cluttered space (http://crasar.org/).

The requirements for an exploratory mapping robot with search and rescue capability are related to sensing and maneuverability. The robot needs to be able to traverse uneven and unstable terrain, avoid damaging obstacles and fit through narrow spaces. Additionally, it needs to be able to communicate information with the handler. Given the desired application, it will also need to be light enough both so a human being can carry it and also so it can traverse piles of rubble without harming any victims underneath. It needs to be fast enough to locate human beings quickly enough in a disaster to save lives. Finally, it needs to safe to human beings or animals that it may be locating (i.e. it cannot have any bio-toxic elements or hazardous components). A mobile exploration and/or search and rescue robot like H.E.R.A.L.D, if made into a product, would be useful to rescue organizations like the Red Cross as well as fire and police departments. As a research vehicle, it is useful as a platform for computer vision, mapping and control, and studying the effect of improving each of these areas in search and rescue. This project is being sponsored as a research vehicle by the Modular Robotics Laboratory at UPenn under Dr. Mark Yim and is working in collaboration with Matthew Piccoli, a Ph.D student under Dr. Yim.

Page 4: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

4

Overall Design

Tank Mode Carry Mode Separated Mode

Snake The snake robot is comprised of three locomotion segments and two sets of coupled servo motors (Figure 1). This combination of motors gives the snake seven degrees of freedom: three in the wheel segments, two in the servos that move the segments horizontally, and two in the servos that move the segments vertically. The servos are coupled in a horizontal-vertical orientation by a swing arm. This swing arm allows the servos to have full range of motion and also houses the docking plate. There are two circuit boards onboard the snake. The PCB (Printed Circuit Board) is mounted on the rear segment and contains the microcontroller, XBee, and motor drivers. The current-limiting board is mounted on the front segment and is used to regulate the amount of current the servo motors can use.

Figure 1: Final Snake Design Rendering

Each wheel segment is comprised of seven parts: the motor, motor casing, motor-casing-to-rim bracket, rim, encoder bracket, and two tie rods (Figure 2). The motor casing went through several design iterations to optimize its performance, including adding an extended sheath and a stilt for structural stability. The rim was redesigned to be 3D printed to allow us to integrate the tread design into the part.

Page 5: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

5

Both the motor-casing-to-rim bracket and encoder brackets were machined from aluminum so that they could be thinner while maintaining strength, which is necessary to allow the snake to fit in a four-inch borehole.

Figure 2: Wheeled Motor Segment

In terms of functionality, the snake can maneuver over various types and sizes of obstacles

including stairs, rubble, and steep inclines. Through software, we can couple and uncouple our servo motions allowing us to maneuver over complex terrain as well as recover from a tipped position by manipulating our center of gravity.

Quadrotor The final design is comprised of custom-designed, 3D printed motor mounts (4), central hub (1)

and docking arm attachments (4). The hub was designed to hold the 11.1 V 3 cell LiPo (lithium polymer) battery and interface with the four carbon fiber arms (Figure 3). The ArduPilot, ESC central connector, and forward-facing camera are attached to the top surface of the hub, offset vertically from the top of the battery. The down-facing camera attaches to the rear of the hub.

Page 6: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

6

Figure 3: Final Design Rendering of the Quadrotor The docking connectors sit flush with the arm interface extrusions on the hub, mounted on the

carbon fiber arms, and screw into lasercut docking arms that hold the docking faces necessary for physical integration with the snakes in tank and carry mode. All screws on the quadrotor are 2-56, of various lengths, secured with 2-56 lock nuts to prevent loosening from vibration. At the end of the carbon fiber arms are the motor mounts, which fit around the carbon fiber arms and are ensured to keep the motors vertical by a 2-56 screw and lock nut the prevents any rotation of the motor mount. The motors are Exceed RC 1400 KV Rocket motors with 13” x 6.5 APC Electric propellers; this combination was selected through efficiency and power consumption testing done last semester (see Figure 4). Originally these tests showed that a coaxial 8 motor/propeller configuration would be the most efficient way to get the desired thrust necessary to be able to fly while carrying a snake, but in the end we decided to build a quadrotor to make docking between the quadrotor and snakes far simpler and easier to implement.

Page 7: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

7

Figure 4: Motor-Propeller Power Consumption Results

The electronics on the quadrotor consist of an APM 2.5 ArduPilot Mega off-the-shelf controller, as described in the software section. The quadrotor was flown manually using an RC controller by Yash Mulgaonkar, a Ph.D student in Vijay Kumar’s Multi Robot Systems Lab. The ArduPilot sent pulse-width modulation commands (essentially, speed commands) to the motors through electronic speed controllers (ESCs). We went through several iterations of ESCs before realizing we needed high burst current protection; the final ESCs were Electrifly SS-45’s, which can handle 45 amps continuous and 50 amps burst. These currents are far higher than the average current needed to fly our quadrotor, but sharp maneuvers and burst instances bring the current high enough to require the SS-45’s. Finally, the cameras were 5.8 GHz analog cameras sending data wirelessly to an A/D converter on a base camp laptop. 5.8 GHz was required to prevent interference with the four 2.4 GHz cameras on the snakes.

The final design turned out to be robust enough to survive multiple crashes and learning pains by the pilot, and the efficiency testing turned out to be quite a benefit when the quadrotor only required 20-30% thrust to fly in hover (no snake) and 40-50% thrust when carrying a single snake (the maximum load we designed for). This means that the quadrotor could potentially carry much more weight in the future, giving us room to add better mapping sensors and cameras.

Docking system

The snakes and the quadrotor are integrated using a series of magnetic docking faces. This passive, lightweight, and inexpensive system utilizes the high normal force and low shear strength of magnets. Stronger magnets in the center carrying faces of the quadrotor can carry a snake while smaller, weaker magnets on the outside faces allow for docking in tank mode and minimize weight. All faces use

Page 8: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

8

the alternating north south configuration seen below (Figure 5) to decrease the torque required to undock. The capabilities of each docking mode are in Table 1.

Figure 5: Magnetic Docking Faces

Table 1: Magnetic Docking Specifications

Specification Carrying Mode Tank Mode

Normal Strength (kg) 12.5 8.0

Undocking Torque (oz-in) 77.6 56.0

Electronic Systems Basic Overview

After determining the basic structure of the snake robot, we determined the desired functionality of the snake’s electronic subsystem. For the snake we needed to independently control 3 drive motors as well as 4 servo motors per snake. This required using a microcontroller with enough channels to provide pulse width modulation (PWM) signals to all 7 of our motors and servos, and at least 3 extra digital pins to control the direction of the motors. In addition to basic communication between the microcontroller and the mechanical components, we needed communication between the microcontroller and the PS3 controller attached to the main computer. Final Design

In order to have our desired functionality, we required a microcontroller that could simultaneously send at least 7 PWM channels, as well as additional digital pins for motor direction and encoder readings. Additionally we needed the PWM outputs to have two separate timers (servo PWM occur at 50 hertz, while motor PWM signals need to be closer to 300 hertz). Since the snake has to fit

Page 9: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

9

into a 4 inch pipe we were also restricted by physical size of the micro controller. After considering other options we decided upon the Arduino Micro, due to the fact 7 PWM channels, 3 additional digital pins, and an easy to use UART serial protocol. Due to the fact that our goal was for wireless teleoperation, we had to find a wireless means of communication from our controller to the circuit board. Additionally we were limited by which frequencies we could use, since the wireless cameras on board the snakes and the quadrotors can only operate on the 2.4 GHZ frequency; therefore, we purchased 900 MHZ XBees (wireless radio), which do not interfere with the wireless cameras transmission. In order to integrate all the functionality we wanted from H.E.R.A.L.D we decided to create a custom printed circuit board. For the PCB design, we used Eagle ® (free electronic CAD software) to design the board. After testing with a breadboard to ensure the circuit works we created a schematic, and then manually routed traces with the program. The program outputs Gerber files which professional companies like Advanced Circuits use to manufacture boards (Figure 6).

Figure 6: Final PCB. Green circles indicate through holes where components will be mounted. Blue indicates traces on the

bottom layer of copper, and red indicates traces created on top layer of copper.

Our final electronic design challenge for the snake subsystem arose, after extensive system testing. After strenuous operation of the snake, the pitch servos would draw excessive amounts of current and burn out the servos. Since the servos have a fixed resistance, we just adjusted the voltage being applied to the servo to limit the current. Therefore, we decided to regulate the battery voltage for the servos. Since each servo draws 0-2 amps of current, and most voltage regulators can only source 1.5 ~2 amps, we designed a regulating circuit that contains voltage regulators for each servo (Figure 7).

Page 10: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

10

Figure 7: Adjustable Voltage Regulation Circuit

For the quadrotor, since we decided to use an Ardupilot to be the main control system on board

the quadrotor, the only additional component needed was a properly sized ESC (Electronic Speed Controller) to convert the signal from the Ardupilot, to a motor speed. After characterizing the motors, and estimating how much current we would draw, we had to estimate what current rating would be appropriate for the system. When we conducted our initial motor and propeller tests, we predicted the motors would draw less than 10 amps; however, after testing the quadrotor in hover, our motors were pulling up to 45 amps when undergoing disturbance response. Therefore, we found ESCs that were rated for 50 amps continuous operation to properly supply the motors with enough current.

Software The snake software consists of two programs: one MATLAB instance running on a laptop, as well as an embedded program written in C++ running on the snake’s Arduino microcontroller. MATLAB The MATLAB program performs four main tasks: it takes user input, converts the input into usable data, keeps track of operating modes, and sends the data to each snake according to the current mode. The MATLAB program takes user input using JoyMEX, an open-source library for reading game controller input; the human operators use an XBox controller for Snake 1 (Dorothy) and a PlayStation controller for Snake 2 (Floyd). The data coming from JoyMEX takes the form of a floating-point number on the range [-1,1] for each joystick and a binary (0 or 1) character for each button. Each of these is converted to an eight-bit unsigned integer (on the range [0,255]) in order to be sent to the

Page 11: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

11

snakes via XBee wireless radio. After the conversion, MATLAB outputs a serial packet containing all of these values, plus a start byte, a checksum, and a zero byte, which will be described shortly.

The first two operating modes are MANUAL and COUPLED; the default is COUPLED. In this mode, the user sends a single speed command to all three motors simultaneously. The user can increment the angle of the front and rear yaw servos, with these two servos coupled, turning in opposite directions so that the entire snake curves along a desired turning radius. Finally, the user has incremental angle control over each pitch servo independently. MANUAL mode is the same but gives the user control over each yaw servo independently (they are not coupled). This is useful for manipulating the snake’s center of gravity during aggressive maneuvers, like stair climbing.

The final mode is TANK mode. This mode transfers control from two controllers to a single controller for both snakes. The user issues two speed commands: one for Dorothy’s motors and one for Floyd’s. The middle motors on each snake always get the zero command, though, because they will never touch the ground. The front and rear pitch servos can be incremented independently, with Dorothy’s and Floyd’s being coupled together. The yaw servos are not controllable in TANK mode; if they move, the system will undock. Instead, a constant command is sent to the yaw servos to maintain the neutral angle.

The user can change the operating mode at any time using the buttons on the XBox or PlayStation controller. In addition, there is a button denoted the “zero” button; pressing it at any time sets the aforementioned zero byte according to the current mode. If this button is not pressed, the byte is set to 0. If it is pressed while in MANUAL or COUPLED mode, it is set to 1. If it is pressed while in TANK mode, it is set to 2. The functionality of the zero command will be discussed in the C++ section below.

Arduino (C++) The C++ code on-board the microcontroller includes a setup routine and a loop routine. The setup routine defines variables and initializes the “Servo” objects, which are standard to the Arduino libraries and are capable of outputting pulse-position modulation (or PPM) signals to the servo motors.

The loop routine follows a simple pattern. First it waits until a full packet of serial data is available from the XBee. Once it has obtained a full packet, the program flushes every available byte until it finds the desired start byte; Dorothy’s start byte is 222 and Floyd’s is 111. When the program finds this byte, it reads the next byte, which is denoted the “zero.” If zero=1, all motors will be set to zero speed and all servos brought to their neutral positions (~90 degrees) at 20 degrees per second. If zero=2, the yaw servos will be brought to their neutral positions and the pitch servos brought to about 60 degrees, lifting the snakes off the ground to carry the quadrotor. Next, the loop routine reads X bytes of command information (specified in the setup routine, currently 7 bytes) into an array, and then one more byte into a “checksum” variable. It then computes a bitwise XOR operation on the entire command array; the result is the desired checksum. The program compares this desired checksum to the checksum obtained in the previous step, and if it is correct, the data received can be assumed to be correct. After successful receipt of data, the program executes subroutines to send the appropriate signals to the snake’s motors.

Page 12: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

12

ArduPilot The software on-board the quadrotor runs on an ArduPilot board by Arduino, which runs open-source software called ArduCopter from DIY Drones. This is a black box, allowing manipulation of controller gains but no low-level software changes.

Integrated System Tank Mode

In this mode, the two snakes drive up and dock to the outer docking faces on the quadrotor docking arms. The user can then switch into ‘tank mode’ on the controller and drive the docked system around as one vehicle (a single ‘tank’). The snakes are lifted up to tank driving position by pressing the zero button on the controller. The quadrotor is idle in this mode, conserving battery life. Once tank mode is no longer required, the user can switch back to independently controlling each snake, and can undock each snake by turning the in-plane (yaw) servo motors.

Figure 8: Tank Mode

Carrying Mode In this mode, a single snake drives up and docks on the center mounting faces on the quadrotor

docking arms. The snake is zeroed such that it is effectively a rigid bar, and then the quadrotor can take off and carry the snake to a new location. Once the new location is reached, the quadrotor lands on its landing skids and the snake undocks.

Page 13: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

13

Figure 9: Carrying Mode

Separated Mode In this mode, the two snakes operate on the ground while the quadrotor performs aerial

surveillance and mapping. The three robots operate independently, and communicate wirelessly with the handler (who is teleoperating the robots from a separate room) through three separate controllers (one Playstation or Xbox controller for each snake and one RC controller through the quadrotor). Three laptops are required to handle the six video feeds from the robots (two cameras per robot).

Figure 10: Separated Mode

Page 14: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

14

Testing/Prototyping Results

Snake Table 2: Snake Testing

Quadrotor Table 3: Quadrotor Testing

Test Date Effect on Design

Initial Thrust Test 3/1 Replaced non-functional ESC

Second Thrust Test 3/11 Decided not to iteratively optimize arm length based on difficulty of tuning gains, switched to

final endcap mounts for all remaining tests

Motor Response Test 3/14

All motors appear to be working properly (measured speeds with tachometer) - therefore

concluded that flight problems are a result of poorly tuned gains. (See Video 3 in Appendix)

Roll/Pitch Test 4/8 Tested roll/pitch with Yash Mulgaonkar from

Page 15: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

15

MRSL. Three out of four motor mounts broke, requiring redesign of the motor mounts and

significant manufacturing.

Stable Flight Test 4/15 Successful hover and video surveillance of snakes (Video 4 in Appendix).

Snake Carrying Test 4/16 Successful stable flight while carrying a snake (Video 6 in Appendix).

1st test on 3/1:

Just before spring break we finished the quadrotor 1st prototype and set up Ardupilot GUI with RC controller. Our plan B if we cannot get the XBees/PS controller setup to work is to use an RC controller and we wanted to test our Plan B first. Using an RC controller is far easier to start since the Ardupilot is intended for plug and play. In our initial test, we got all four motors spinning using the RC controller and did an initial thrust test. However, one of the ESC/motors was not working properly so we could not hover.

Figure 11: Photos from 3/1/13 Testing

2nd test on 3/11:

The second test was done with a new ESC to replace the one that stopped working during the first test. This time, all of the motors spun but the quadrotor did not behave as expected. We were operating the Ardupilot in “stabilize” mode using an RC controller, flying off of the ground in B11. Instead of taking off vertically and hovering, the quadrotor hopped sideways and tilted unexpectedly. Finally, in our last test of the night the quadrotor rapidly tilted and broke one of our motor mounts. See videos 8 and 9 in the Appendix → Video Table for videos of the test flights and final “fatal” flight.

3rd test on 3/14:

At this point, it appeared that all of the motors and ESCs were not working correctly. We decided to test the motor speeds with the propellers removed in order to see if the motors were responding correctly to RC controller inputs of roll, pitch and yaw. We discovered that the motors are actually responding in the correct way and besides some small gyro drift in yaw the quadrotor should fly

Page 16: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

16

acceptably. This means that the gains in stabilize mode must be the problem. See Video 3 in the Appendix for quadrotor instability. 4th test on 4/8:

In order to test the gains, we decided to fly while holding the quadrotor so we could tweak the gains without anything breaking. After the 3rd test, we decided also that we were going to cut the arms down to their final length and attach the end-cap motor mounts rather than the movable test motor mounts. Originally we were planning to test empirically to discover what the optimal arm length should be to achieve stable disturbance response, but given the time restraints and the additional burden of recalibrating the gains each time the arm length is changed, we decided to analytically determine the optimal arm length and not bother with iterative testing. Once we had analytically determined the best arm length, we attached the endcap mounts. The endcap motors mounts for the motors sit planar with the midplane of the carbon fiber arms (Figure 12) and were designed with a factor of safety of 3 with regards to the thrust required to carry a snake (and the resulting moments on the arms). Finite element analysis was done in order to determine the required thicknesses of each surface; the loads applied are the same as for the test motor mount FEA and are calculated from the propeller and motor tests done last semester. The test data allowed us to correlate a desired thrust to a necessary motor RPM for the Exceed RC 1400 Kv motor we selected. This RPM was correlated to the collected rotor drag data from the tests last semester as well and the rotor drag was converted to an applied moment. The purple arrows are the moment due to rotor drag and the green arrows are the applied thrust required to hover the snake + quadrotor (see Figure 13).

In addition to accounting for the required loads, each motor mount had to weigh a maximum of about 12 grams in order to help minimize weight of the system.

Figure 12: Final endcap motor mount design Figure 13: Preliminary FEA on endcap mount

However, upon testing the roll/pitch capability of the quadrotor and to see how much drift we needed to compensate for from the IMU, the endcap motor mounts above shattered (Figure 14). Unfortunately, the FEA did not account for the anisotropic properties of layered 3D printed parts printed

Page 17: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

17

on the Dimension printer. The layers cause weakness along certain planes that drastically lower the yield stress. After this test, we were force to redesign the mounts so that the final mounts had no stress concentrations (Figure 15).

Figure 14: Broken endcap motor mounts Figure 15: Final motor mount design

6th test on 4/15:

Once we replaced the motor mounts, we were able to get stable flight and get surveillance video of the snakes, with the expert flight skills of Yash Mulgaonkar from the Multi-Robot Systems Lab. See Video 4 in the Appendix. 7th test on 4/16:

After our successful hover flights, several of the carbon fiber arms had cracks. Applying a resin/hardener mix to the inside of the tubes fixed this problem. After these changes, we were able to carry a snake in stable flight. See Video 6 in the Appendix.

Docking In our final iteration we were able to test the full-scale docking system. This included drive up and dock/undock, tank mode docking, and flying with the snake. We were successfully able to drive up and dock/undock when the snakes actuate to meet the landed quadrotor. See Table 4 and videos in the Appendix for more complete details on results of testing.

Table 4: Docking Testing

Category Test Date Result Effect

Selection of Components

Validation of KJ Magnetics data by

determining magnetic strength of

ModLab magnets

February 9 For ¼” magnet - strength = 82.5 grams, website

claims 86 grams

Allows ordering of magnets based on

website data

Design Rotation testing of first iteration of

February 22 Plates snap into another stable, but

Design Iteration 2 with more space

Page 18: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

18

magnetic docking

docked configuration

between magnet pairs

Design Rotation testing of second iteration of magnetic docking

March 11 1. Determined undocking occurs at an angle of 30°

2. Determined

torque required to undock is 0.44 in-

lb

Ensured the snakes can undock within the confines of the landing gear

Component Selection

Validation of magnetic strength of

third iteration of magnetic docking

When magnets are

delivered

1. Tested a worse than worst case

scenario and decided to increase the strength of the

magnets

2. Determined undocking torques for carrying and

tank modes

Removed top plates from

magnetic docking faces to reduce

distance between faces from 1/16” to

0” and increase normal strength of

the faces

Design Validation of undock and drop

(Video 2)

April 12 Successful, although noticed that the docking system is subject to torques if the

snake bends

Determined the snakes will drop once they rotate

Design Driving while docked (Video 5)

April 12 Successful, magnets are capable of

maintaining contact between

the quadrotor and the snakes as long

as there is no significant bending

of the snake

No Changes

Design Flying While Docked (Video 6)

April 16 Successfully flew with a snake

attached to the quadrotor

No Changes

Page 19: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

19

Electronics

Table 5: Electronic Testing

Part Test Result Date

1st Iteration Breadboard

Ran all motors and servos on breadboard, and monitored current

The motors ended up pulling too much current from the motor drivers, which fried the motor driver IC

2/20

2nd Iteration Breadboard

Ran all motors and servos on breadboard, monitored current

Added flyback diodes and connected the motor driver channels in parallel to handle the current drawn by the motor. Successfully drove the Snake prototype

2/28

1st Iteration PCB prototype

Connected servos and motors to PCB

Unable to control motor and servo speeds and direction, due to malfunction in PCB production

3/1

2nd Iteration PCB Connected motors and servos to PCB after populating the board

Successfully controlled all servos and motors

3/21

2nd Iteration PCB Run motors and servos with quadrotor attached

Servos burning out when actuating

3/29

Voltage Regulation Circuit

Limit current that Servos can draw

Successfully capped servo draw at 2 amps

4/3

Problems with first breadboard & Changes:

The prototyped circuit we created at the end of last semester (Figure 16) required a significant redesign, due to the amount of current each motor was pulling. Initially we expected the max burst current for each motor to be from .5-.7 amps; however, after testing the circuit with the fully assembled snake prototype the drive motors were pulling closer to 1 amp, and SN754410 motor driver is only able to sink up to 1 amp max current. This means that every time we drove the motor too rigorously, we were

Page 20: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

20

effectively burning out the motor driver. To resolve this issue, flyback diodes were added between the motor terminals and power and ground, as well as tying each direction, enable, and motor terminal channels together.

Figure 16: Initial layout for motor driver connections (multiple motors connected to one motor driver IC). Motors in this

configuration are directly tied to the IC.

Second breadboard: After fixing our bread board with the solution mentioned above, we were able to successfully run

the snake prototype off of the revised breadboard. Based on the success we had during breadboard testing, we finalized the PCB CAD and sent it in to Fiene’s PCB prototyping mill (Figure 17).

Figure 17: Redesigned layout for motor driver. This design can only allow for one motor to be driven per IC, and includes

flyback diodes to eliminate voltage spikes the motor might experience.

PCB 1st prototype - Problems & debugging:

Page 21: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

21

After Fiene’s mill finished prototyping our PCB, we tested to make sure there were no shorts between the power and ground planes; however, due to the mills inability to fill in through holes with conductive past without splattering it on the board. The tiny pieces of splattered paste inadvertently shorted together different signals together, ruining our PCB. Instead of trying to scrape all of the tiny pieces of conductive paste with a knife, and debugging it further, we decided to send in our PCB to Advanced Circuits, and then debug the PCB without worrying about errors in the manufacturing of the circuit. PCB 2nd prototype (final iteration): Once we received our professionally manufactured PCB, we were able to successfully control all the motors and servos wirelessly. Even during strenuous operation the board was able to source enough current to the motors and servos. However, during one of the tests we accidently damaged our microcontroller, which is why further tests will not be completed until March 27th. Camera testing The cameras, while completely functional, are a bit grainy. Video 10 in the Appendix demonstrates the functionality and video quality of the wireless cameras. Voltage Regulation Board: After burning out several pitch servos, from continuous use we realized that we needed to regulate how much current the servos are able to draw. Using the fact that servos have a fixed resistance, the easiest way to cap the current was to reduce the voltage applied to the servos. To limit voltage, we constructed a circuit using adjustable voltage regulators to limit the voltage being applied to each servo.

Software Table 12 details software testing procedures. Note that these are only software-specific tests; all other software tests are integral to either the snake or quadrotor and are detailed in those sections.

Table 6: Software Testing Test

Date Description Effect on Design

Servo Control

1/25 Use early version of snake software to control unloaded servos. The position

of the controller’s right joystick indicates an absolute angle.

None: Servos moved exactly according to plan!

CR Motor

Control

2/20 Use early version of snake software to control unloaded motors. The position of the controller’s left joystick maps to a motor voltage, or theoretically to a

motor speed.

Incidental effect on electronic design: Motor drivers could not source enough

current to drive motors at full speed. Instead of using half a driver for each motor, switched to using a full driver

per motor.

Page 22: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

22

Snake Mode

Testing

4/12 Test the implementation of MANUAL, COUPLED, and TANK

modes as well as the zero button functionality.

Minor software debugging - didn’t work the first time. Added better mode

tracking with nested IF statements.

Integrated System The integrated system was tested on 4/15 (separated mode: quadrotor and snakes operating

independently, as well as tank mode: quadrotor idle and docked on top of two snakes that drive as one vehicle) and 4/16 (carrying mode: quadrotor carrying a single snake), with some additional tank mode tests done on 4/22. The separated mode tests showed that the angle of the camera on the quadrotor is important in order to accurately see what the snakes are doing. This test also revealed that the quadrotor had to be within a few feet of the snakes since there is no zoom capability on our analog cameras. The carrying mode tests showed that the quadrotor takeoff could be a bit unsteady as the pilot tries to compensate for the increased instability from a swinging load. We plan to fix this by removing the human operator in the future and flying autonomously using computer vision, which will allow live gain-tuning. Flying autonomously will also allow the quadrotor to track the snakes for improved surveillance. Lastly, tank mode testing showed that some of the snake’s structural components bend with the weight of the quadrotor. We also saw that due to the structural weakness, it’s hard to turn in tank mode because the parts bend. This will be fixed by making the components more robust, as detailed in “Proposed improvements”. See Videos 4-7 in the Appendix for videos of the integrated system.

Proposed Improvements / Lessons Learned

H.E.R.A.L.D. is not (and was not intended to be) a field-ready search and rescue vehicle. It is a

research platform intended to introduce some novel ideas about form factor and integration into the search and rescue research field. As such, it has room for much improvement before executing a mission in the field. Because H.E.R.A.L.D. now belongs to the Modular Robotics Laboratory at Penn, student researchers can actually make these improvements over time.

Proposed Improvements Robustness The snake robots suffer from a lack of robustness both mechanically and electronically. The most pressing need is an improvement in wire routing: though we considered wire routing when designing the snake, the solution is short of field-ready. Currently all wiring is external, but for a field-ready vehicle it should be housed inside some casing so that it is not exposed to the elements. Mechanically, bending occurs in the servo horns. These horns were packaged with the servos; we did not make them. But perhaps it would be wise to find stiffer horns or to make our own, as the bending results in a lack of robustness for tank mode (the docking plates are housing above the servo horns).

Page 23: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

23

Quadrotor Controller The ArduPilot is a frustrating board because it is designed with hobbyists in mind and does not make easy any low-level software manipulation. Given the time, beyond the constraints of the year-long senior design project, it would be advisable to use a custom-made quadrotor controller so that a roboticist might program it how (s)he pleases. In fact, researchers in the ModLab are already planning to test the Printable Programmable Robot controller board, developed in conjunction with MIT, on H.E.R.A.L.D. Computer Vision One task that may be difficult with the current teleoperated design is docking for tank mode. It could be made easier through autonomy achieved by computer vision. Using April tags on the snake robots and running computer vision algorithms on the video feed from the quadrotor’s down-facing camera, the docking action could be made autonomous.

This setup would also allow for the quadrotor to autonomously follow the snakes to provide aerial surveillance for the snake operators.

Live Mapping This goes hand-in-hand with computer vision, but in addition to a camera it requires a depth sensor; the XBox Kinect is a popular solution. However, ModLab is currently developing a low-cost laser scanner that may work in conjunction with the front-facing camera on H.E.R.A.L.D.’s quadrotor. ModLab is planning to test the laser scanner on H.E.R.A.L.D. at some point in the near future. Victim Location A field-ready search and rescue vehicle would benefit from additional sensors that we did not have the time or budget to include. Two sensors for victim location might be CO2 and infrared sensors.

Lessons Learned Along the course of building H.E.R.A.L.D, we learned quite a bit of additional engineering knowledge as well as team and project management skills.

1 Prototyping early and often In terms of building the robot, we learned that prototyping early and often is key. The fact that we made several prototypes early in the spring semester and tested them allowed us the time to fix things when they broke and achieve a final design that was functional in all of the ways we set out for it to be.

2 Redundancy The carbon fiber arms continually cracked because they were comprised of uniaxial fibers. The stresses induced by the motor were theoretically only supposed to occur parallel to the fibers and

Page 24: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

24

in in-plane bending, without any induced torsion. However, vibration, crashes, and imperfectly (non-level) mounted motors on the ends of the rods resulted in some torsional loading, which caused cracks to occur around the screw holes on the motor end of the carbon fiber rods and propagate down the rod. To fix this, we were forced to apply resin and hardener to the inside of the tubes, but a better solution would be crossweave-wrapped uniaxial rods (http://dragonplate.com/ecart/categories.asp?cID=79) to provide redundancy in the stress relief.

3 Take into account manufacturing limitations The testing results for the quadrotor (test on 4/8) showed that manufacturing limitations are a crucial consideration when designing components. Similar issues came up with the 3D printed parts on the snake; despite doing FEA, the dynamic loads caused unexpected bending and weakness. This is because the 3D printers we were using print using layers, and thus result in anisotropic mechanical properties. This taught us to be very conservative when using such fabrication methods in terms of how we handle stress concentrations; we made the parts thicker and eliminated high stress points.

4 Tuning gains is much better done by a computer than by hand

Despite using an expert quadrotor pilot (Yash Mulgaonkar), tuning gains by hand and finding trim (offsetting drift) manually was extremely difficult. It would have been far easier to find these gains using the VICON system available in the multi-robot systems lab, which basically adds position control and can provide data feedback such that tuning gains and finding trim is done through the onboard, closed-loop controller rather than with a person. In the future, this is what we plan to do in order to get more stable flight and remove the requirement of having an expert pilot.

5 Prioritization based on customer requirements

We learned that it’s important to prioritize based on the absolute requirements set out by the original goal or customer. There were many instances over the year when we had to trim down our overly ambitious goals or change our design to ensure we could get a functional product at the end of the year, rather than complete all of our dream design ideas.

6 Time budgeting We learned to budget our time. Everything takes at least twice as long as you think it will, and we learned that the hard way at the beginning of the semester. By the end of the second semester, we knew better how to estimate how long things would take, and prepare accordingly.

7 Splitting up tasks evenly In terms of team management, we learned a lot about splitting up such an ambitious project into reasonable and doable tasks for each person. To do this, we assigned each person to be a manager of a subsystem of the project, allowing us to split up the work evenly and preventing any one of us for being overwhelmed.

Page 25: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

25

8 Transparency between teammates

Transparency in a team is crucial: we were all honest about what we had completed and realistically how much time we could each put in for a given week, allowing the rest of the team to pick up slack when needed.

9 Do what you love! Lastly, we learned that it’s important to do a project you are passionate about and really want to see completed. For all of us, making H.E.R.A.L.D work was extremely important and we all put in as much time as necessary to make it happen. It was fortunate to have a team of five individuals all equally committed to making the project work.

Requirements Compliance

We accomplished all of the goals we set out to achieve with H.E.R.A.L.D. We succeeded in all three operating modes: separated mode, tank mode, and carrying mode. In separated mode, each of the robots is operated independently. We were able to operate two snakes simultaneously using a single computer with two controllers, as well as achieve stable flight with the quadrotor, even flying above the snakes. We achieved successful docking for tank mode and were able to reassign control of the snakes to a single controller and drive the tank. Finally, we achieved carrying of a snake with the quadrotor. We successfully docked, and the docking plates held the weight of the snake as the quadrotor lifted off the ground and flew stably for about a minute before the operator decided to land. We achieved a surprising feat with the quadrotor: while carrying the snake, our pilot, Yash Mulgaonkar, used only about 50% of the maximum throttle. This gives us a lot of thrust overhead, indicating that we could fly with more weight or perform more complicated maneuvers while carrying the snake. The snakes also accomplished all tasks we had set for them. The snakes are able to drive in darkness with two front-mounted white LEDs. The snakes not only fit in a 4” pipe, simulating a 4” bore hole, but are able to drive through the pipe and emerge from the other side. The snakes can maneuver over rubble taller than themselves, such as an array of large rocks outdoors. Finally, we managed to climb a set of outdoor stairs with a snake, utilizing its unique ability to manipulate its center of gravity. The stairs were approximately 16” deep and 7” tall. See Video 1 in the Appendix, which is a video showing the snake completing all of its metrics. Below is a table indicating all of our initial numerical metrics and whether or not we met each. See Video 7, which shows all three use modes successfully achieved.

Table 7: Initial Metrics Table

Metric Goal Completed Notes

Locomotion

Page 26: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

26

Speed > 1 mph Y 1.03 mph

Turning Radius < 1 ft Y 8.5 in

Incline > 15 degrees Y 32 degrees (Video 1)

Rubble height > 4 in Y 8 in (Video 1)

Energy Usage

Battery Life > 1 hour Y Assuming no excessive servo actuation

Physical Characteristics

Volume < 8 ft3 Y 4.31 ft3

Footprint < 4 ft2 N* 6.35 ft2

Weight of snake + quadrotor < 2550 g N** 2900 g

Sensing

Autonomy Tele-Operable Y

Vision Cameras Y Upgraded from 4 x 2.4 GHz cameras to

6 by adding 2 x 5.8 GHz cameras for the rear of the snakes

Mapping None, capability of post-processing of

camera videos Y Able to record video (Video 10 in

Appendix)

Lighting > 2 ft Y Two white LEDs on front of snake

Range of Control > 50 ft Y Achieved > 250 ft of range in testing.

The 900 MHz Xbees theoretically have 3 miles of range.

Note: Green indicates completed, yellow indicates in progress and red indicates not yet started. * The original footprint we selected was rather arbitrary and small. Our final footprint is so large because we are including the entire rotor tip to rotor tip length of the quadrotor. However, we were able to drive through a doorway, which was our original design goal. ** We did not meet this weight constraint, but the sole purpose of the constraint was to allow carrying of the snake, which we achieved anyway.

Cost

Overall Budget

Page 27: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

27

The overall budget initially presented to us by the Mechanical Engineering Department at the University of Pennsylvania was $300.00 per student in the group. This amounts to an initial budget of $1500.00. Dr. Mark Yim set an additional $600.00 aside for use by us if we were in need of it.

Table 8: Cost Table

System Projected Final Total Spending

Snake $915.82

Quadrotor $1,016.15

Docking $32.40

Electronics $145.48

Total Cost: $2109.85*

Budget from MEAM Department +$1,500.00

Additional Funding (Dr. Yim/ModLab) +$600.00

Total Over Budget $9.85

*Note: we printed our final poster in the Design school and paid for it out-of-pocket.

Snake The majority of the stock that has been used thus far has been donated by Pete Szczesniak and the machine shop. This has significantly reduced our costs and allowed us to manufacture a first-iteration snake. The higher cost thus far has been for the 3D printed parts. For the first iteration of the snake, $158.40 was spent on 3D printing mock-ups and final parts for Iteration 1 of the snake. For the Final Iteration of the snake, it is projected that we will spend $248.40 on 3D printing. The final total amount spent on the snakes was $745.10 (including first iteration and two final snakes). Please see the attached bill of materials for the Snake system.

Quadrotor The frame of the quadrotor was built entirely using the 3D printers (Objet and Dimension) and in-house (free) materials from ModLab and the GM lab. The hub was the most expensive component (~$260) because it was printed on the high-quality Objet; the motor mounts, docking and landing gear were printed on the Dimension to save cost. The motors were relatively cheap at ~$100 total (we ordered 6 to be safe, ~$18 each) and the propellers and final ESCs cost a total less than $50. The Ardupilot was expensive at ~$200. The final total amount spent on the quadrotor was $1,016.15 (including testing and final iterations). Please see the attached bill of materials for the Quadrotor system.

Page 28: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

28

Docking The only purchased component of the docking system was the magnets, which cost $32.40, although this accounts for extra magnets and a sheet of 1/16” acrylic that was not used for the final design. The magnet faces were laser-cut using in-house supplies (and thus free) and the quadrotor and snake docking interface parts were made using a combination of 3D printing and laser-cutting (all done in-house). Please see the attached bill of materials for the Docking system.

Electronics We purchased an Arduino Micro ® microcontroller for $34.50, and will soon be purchasing another. So far for testing we have been using XBees readily available in ModLab; however, we will be purchasing 2 which will be ~$90. For PCB manufacturing we used a student deal at Advanced Circuits, allowing us to have 4 boards for a total of $123. The spent on electronics was $145.48. Please see the attached bill of materials for the Electronics system.

Software All the software for the system was either open-source or written by Mike Kofron. It was all, therefore, free of charge, in terms of dollars.

Page 29: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

29

Appendix

Table 9: Videos

Video Number Video Link Video Description

1 http://www.youtube.com/watch?v=lPAEJARNGqs&feature=share&list=UUaYsLgABFUwxt16LFkLJES

g

Metrics including: driving through a 4” tube, incline testing, driving through rubble and driving over

stairs

2 http://www.youtube.com/watch?v=z6vZAUsiQNk&feature=share&list=UUaYsLgABFUwxt16LFkLJESg

Drive up and dock

3 http://www.youtube.com/watch?v=2GTHoRYZG08&feature=share&list=UUaYsLgABFUwxt16LFkLJES

g

Quadrotor instability clip

4 http://www.youtube.com/watch?v=LCGKdf-

PsxA&feature=share&list=UUaYsLgABFUwxt16LFkLJESg

Separated Mode

5 http://www.youtube.com/watch?v=o4alFLeyzL4&feature=share&list=UUaYsLgABFUwxt16LFkLJESg

Tank Mode

6 http://www.youtube.com/watch?v=REv3tal45_Y&feature=share&list=UUaYsLgABFUwxt16LFkLJESg

Carrying Mode (including docking and release)

7 http://www.youtube.com/watch?v=qIOrnbnpoa0&feature=share&list=UUaYsLgABFUwxt16LFkLJESg

All three integration modes

8 http://www.youtube.com/watch?v=5mH1WDLSAbc

Quadrotor Flight Testing 1

9 http://www.youtube.com/watch?v=CvujyXSchDw

Quadrotor Flight Testing 2 (Failure)

10 http://www.youtube.com/watch?v=fWcxXhYjFys&feature=youtu.be Camera Testing

Page 30: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

Part Name Part Number Quantity per Snake Total Quantity Cost per/ Cost

StockCost per Snake Total Cost Manufacturer Hrs Manufactured/per Total Hrs

Manufactured Link Manfuacturer prt #

Mass per Part (g) Mass per Snake (g) Notes

Iteration 1Rim A01 3.0 3 $0.00 $0.00 $0.00 Anthony 8 24 n/a M01 44.25 132.75 See Manufacturing list

Motor to Rim Bracket A02 3.0 3 $0.00 $0.00 $0.00 Anthony 2 6 n/a M02 3.11 9.33 See Manufacturing listEncoder Bracket A04 3.0 3 $0.00 $0.00 $0.00 Anthony 2 6 n/a M04 5.7 17.1 See Manufacturing list

Tie Rod A05 4.0 4 $0.00 $0.00 $0.00 Anthony 2 8 n/a M05 4.4 17.6 See Manufacturing listServo Bracket A06 2.0 2 $0.00 $0.00 $0.00 Anthony 2 4 n/a M06 7.19 14.38 See Manufacturing list

Motor Casing_1 A03 3.0 3 $11.17 $33.51 $33.51 Anthony 4.5 13.5 n/a M03 14.33 42.99 3D printedMotor Casing_2 A04 3.0 3 $13.57 $40.71 $40.71 Anthony 6 18 n/a M04 15.23 45.69 3D printedCircuit/Battery Bracket_REVH A07 1.0 1 $30.50 $30.50 $30.50 Anthony 9.5 9.5 n/a M07 25 25 3D printed

Camera Mount Bracket_REVH A09 1.0 1 $17.50 $17.50 $17.50 Anthony 5.75 5.75 n/a M09 17.5 17.5 3D printed

Swing Arm_REVH A11 2.0 2 $18.07 $36.14 $36.14 Anthony 10 20 n/a M11 22.46 44.92 3D printedPololu 73: Encoder Motor 1163 3.0 3 $19.99 $59.97 $59.97 Pololu 0 0 pololu.com 1163 93.2 279.6 Purchased

Futaba Servo S3010 4.0 4 $22.99 $91.96 $91.96 Futaba 0 0 Futaba FUTM0043 41 164 Purchased4-40x 3/8" 92185A108 23.0 23 $0.12 $2.76 $2.76 Mcmaster Carr 0 0 mcmaster.com 92185A108 0.65 14.95 Purchased4-40x .25" 92185A106 8.0 8 $0.10 $0.78 $0.78 Mcmaster Carr 0 0 mcmaster.com 92185A106 0.53 4.24 Purchased8-32x .5" 92185A194 8.0 8 $0.10 $0.78 $0.78 Mcmaster Carr 0 0 mcmaster.com 92185A194 1.99 15.92 Purchased

Circuit Board G01 1.0 1 $33.00 $33.00 $33.00 Gabby 0 0 n/a GM01 15.8 15.8 Purchased

X10 A/D Converter VA12A 1.0 1 $14.99 $14.99 $14.99 X10 0 0

http://www.thex10shop.com/product/

x10-va12a-usb-analog-to-digital-video-converter

VA12A n/a n/a Purchased

Lipo Battery B01 2.0 2 $0.00 $0.00 $0.00 ModLab 0 0 Modlab GM02 33.42 66.84 DonatedCamera C01 1.0 1 $0.00 $0.00 $0.00 ModLab 0 0 Modlab GM03 10 10 Donated

Totals Iteration 1 76 76 $362.61 $162.69 51.75 114.75 355.76 895.623D Printed

Parts 158.4 Savings $199.92

Iteration 2Rim_REVI A12 3.0 6 $0.00 $0.00 $0.00 Anthony 8 48 n/a M12 36.35 109.05

Motor to Rim Bracket_REVI A13 3.0 6 $0.00 $0.00 $0.00 Anthony 2 12 n/a M13 4.8 14.4Encoder Bracket_REVI A14 3.0 6 $0.00 $0.00 $0.00 Anthony 2 12 n/a M14 8.27 24.81

Tie Rod_REVI A15 2.0 4 $0.00 $0.00 $0.00 Anthony 2 8 n/a M15 6.42 12.84Servo Bracket_REVI A16 2.0 4 $0.00 $0.00 $0.00 Anthony 2 8 n/a M16 14.03 28.06Motor Casing_REVI A17 3.0 6 $16.56 $49.68 $99.36 Anthony 5 30 n/a M17 15.54 46.62

Circuit/Battery Bracket_REVI A18 1.0 2 $24.24 $24.24 $48.48 Anthony 6 12 n/a M18 23.64 23.64

Camera Mount Bracket_REVI A19 1.0 2 $20.50 $20.50 $41.00 Anthony 5 10 n/a M19 19.04 19.04

Swing Arm_REVI A20 2.0 4 $14.90 $29.80 $59.60 Anthony 4.5 18 n/a M20 16.8 33.6Pololu 73: Encoder Motor 1163 3.0 6 $19.99 $59.97 $119.94 Pololu 0 0 pololu.com 1163 93.2 279.6 Purchased

Futaba Servo S3010 4.0 8 $22.99 $91.96 $183.92 Futaba 0 0 Futaba FUTM0043 41 164 Purchased4-40x 3/8" 92185A108 23.0 46 $0.12 $2.76 $5.52 Mcmaster Carr 0 0 mcmaster.com 92185A108 0.65 14.95 Purchased4-40x .25" 92185A106 8.0 12 $0.10 $0.78 $1.18 Mcmaster Carr 0 0 mcmaster.com 92185A106 0.53 4.24 Purchased8-32x .5" 92185A194 8.0 12 $0.10 $0.78 $1.18 Mcmaster Carr 0 0 mcmaster.com 92185A194 1.99 15.92 Purchased

Circuit Board G01 1.0 4 $33.00 $33.00 $132.00 Gabby 0 0 n/a GM01 15.8 15.8 Purchased

X10 A/D Converter VA12A 2.0 4 $14.99 $29.98 $59.96 X10 0 0

http://www.thex10shop.com/product/

x10-va12a-usb-analog-to-digital-video-converter

VA12A n/a n/a Purchased, not reimbursed yet

Lipo Battery B01 2.0 4 $0.00 $0.00 $0.00 ModLab 0 0 Modlab GM02 33.42 66.84 DonatedCamera C01 2.0 4 $0.00 $0.00 $0.00 ModLab 0 0 Modlab GM03 10 20 Donated

Docking Plate D01 2.0 4 $0.25 $0.50 $1.00 Lauren 0 0 n/a M21 6.9 13.8

Totals Iteration 2 75.0 144.0 $343.96 $753.13 158.0 348.4 907.23D Printed

Parts $248.44

Iteration 3Rim_REVI 3.0 6 $30.00 $90.00 $180.00 Anthony 8 48 n/a M12 36.35 109.05

Motor to Rim Bracket_REVI 3.0 6 $0.00 $0.00 $0.00 Anthony 2 12 n/a M13 4.8 14.4Encoder Bracket_REVI 3.0 6 $0.00 $0.00 $0.00 Anthony 2 12 n/a M14 8.27 24.81

Tie Rod_REVI 2.0 4 $0.00 $0.00 $0.00 Anthony 2 8 n/a M15 6.42 12.84Servo Bracket_REVI 2.0 4 $0.00 $0.00 $0.00 Anthony 2 8 n/a M16 14.03 28.06Motor Casing_REVI 3.0 6 $20.00 $60.00 $120.00 Anthony 5 30 n/a M17 15.54 46.62

Circuit/Battery Bracket_REVI 1.0 2 $24.24 $24.24 $48.48 Anthony 6 12 n/a M18 23.64 23.64

Camera Mount Bracket_REVI 1.0 2 $20.50 $20.50 $41.00 Anthony 5 10 n/a M19 19.04 19.04

Swing Arm_REVI 2.0 4 $14.90 $29.80 $59.60 Anthony 4.5 18 n/a M20 16.8 33.6Pololu 73: Encoder Motor 3.0 6 $19.99 $59.97 $119.94 Pololu 0 0 pololu.com 1163 93.2 279.6 Purchased

Futaba Servo 4.0 8 $22.99 $91.96 $183.92 Futaba 0 0 Futaba FUTM0043 41 164 Purchased4-40x 3/8" 23.0 46 $0.12 $2.76 $5.52 Mcmaster Carr 0 0 mcmaster.com 92185A108 0.65 14.95 Purchased4-40x .25" 8.0 12 $0.10 $0.78 $1.18 Mcmaster Carr 0 0 mcmaster.com 92185A106 0.53 4.24 Purchased8-32x .5" 8.0 12 $0.10 $0.78 $1.18 Mcmaster Carr 0 0 mcmaster.com 92185A194 1.99 15.92 Purchased

Circuit Board 1.0 4 $33.00 $33.00 $132.00 Gabby 0 0 n/a GM01 15.8 15.8 Purchased

X10 A/D Converter 2.0 4 $14.99 $29.98 $59.96 X10 0 0

http://www.thex10shop.com/product/

x10-va12a-usb-analog-to-digital-video-converter

VA12A n/a n/a Purchased, not reimbursed yet

Lipo Battery 2.0 4 $0.00 $0.00 $0.00 ModLab 0 0 Modlab GM02 33.42 66.84 DonatedCamera 2.0 4 $0.00 $0.00 $0.00 ModLab 0 0 Modlab GM03 10 20 Donated

Docking Plate 2.0 4 $0.25 $0.50 $1.00 Lauren 0 0 n/a M21 6.9 13.8

Totals Iteration 2 75.0 144.0 $444.28 $953.77 158.0 348.4 907.23D Printed

Parts $269.08

$915.82Snake total:

Lauren
Snake B.O.M.
Lauren
Page 31: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

Part Name Part # Quantity Cost per/ Cost Stock Total Cost Link Mass per Part (g) Total mass of part(g) GOAL weight (g) Notes Notes con'tHub S01 1 $260.00 $260.00 228 228 221Test Motor Mounts S02 4 $8.29 $33.16 13.6Arms (test length 460 mm) S12 4 $0.00 $0.00 got from modlab 27.46Arms (final length XXX mm) S13 4 $0.00 $0.00 got from modlab 18 72 72 STELLA Depends on thrust needed

Ardunio mount plate S03 3 $0.00 $0.00 lasercut 15 15 15 STELLA66.56 Heavy, 43.66 Cutout,

15 FinalFinal motor mount test print S04 1 $16.05 $16.05 20Final motor mounts endcaps S04 4 $16.05 $64.20 15.47 61.88 60 STELLA

ESCs (25-30A) Hobby King 4 $5.99 $28.95 $4.99 shipping 42.3 136.1 105GABBY - an ESC without motor wires = 24 g each Minimum possible = 96 g!

ESCs (10 A) 07E22-Proton-10A 5 $10.54 $52.70

MotorsExceed RC Rocket 3010 6 $15.60 $93.60

http://www.hobbypartz.com/86mb83-3010-1400kv.html 94.4 381.1 381.1

Battery 11.1 5000 mAh LiPo 1 $0.00 $0.00 got from modlab 363 363 363

Cameras + Mounts 110955 2 $47.00 $94.00

http://dx.com/p/5-8ghz-wireless-surveillance-security-camera-kit-110955 ? 47 47.34

X10 A/D Converter VA12A 2 $14.99 $29.98

http://www.thex10shop.com/product/x10-va12a-usb-analog-to-digital-video-converter 0 0 0 0 0

Docking Arms S05 1 $0.00 $0.00combo lasercut & 3D printed 47.05 47.05 47.05 STELLA

was 76 g! maybe can still scrape away some weight if necessary

Magnet faces L08 6 $0.00 $0.00 15.03 90.18 30 LAURENLanding skid arms S15 2 $0.00 $0.00 got from modlablanding skid arms bottom S16 2 $0.00 $0.00 got from modlab 15.48 10 STELLALanding skid connectors S06 4 $0.00 Dimension printed 1.25 5 5 STELLA

Ardupilot + RC APM 2.5 1 $184.99 $184.99 34.78 34.78 34.78maybe this will be lighter with just an xbee?

Power module S17 1 $0.00 $0.00 came with ardupilot 20.04 20.04 10GABBY Shorten wires - goal 15 g

what does it weigh without the wires? Do we need it?

Power connector S18 1 $0.00 $0.00 made in modlab 12.5 12.5 10 done!

What do 5 deans connectors weigh? Could we not use them to save weight?

XBee S19 1 $0.00 $0.00 got from modlab 17.15

Screws + Nuts S20 $0.00 $0.00 23.38 20STELLA Use less now that we're using endcaps?

PropellersLH:LXWPJ3 RH: LXFGW7 6 $5.00 $72.54

LH (http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXWPJ3&P=M) RH (http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXFGW7&P=FR) 32.76 131.04 131.04

Maybe we can use slow flyer props if we find we have extra thrust...

Propeller attach 4 $0.00 $0.00 came with motors 4.45 17.8 17.8

GPS3DR GPS uBlox LEA-6 1 $75.99 $75.99

http://store.diydrones.com/3DR_GPS_LEA_6_p/br-3drlea-6.htm Return?

XBee adapter board BR-0015-01 1 $9.99 $9.99

http://store.diydrones.com/product_p/br-0015-01.htmXtreemBee

TOTAL $1,016.15 1022.24 1701.33 1580.11 GOAL: <1600 g!

Lauren
Quadrotor B.O.M.
Lauren
Page 32: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

Snake Robot

Part Value Package Part Number Component Cost Actual Cost per snake

Donated by ModLab

Total for Both Boards

Arduino Micro (R) Microcontroller Dip 17 Arduino Micro 29.99 $29.99 n 145.48

Xbee Pro X Bee 900 MHZ 2x 2mm 1 x 10 602-1168-ND $42.75 $42.75 n

Xbee Pro X Bee 900 MHZ 2x 2mm 1 x 10 602-1168-ND $42.75 $0.00 y

Hex Inverter 74HC04_HEX_INVERTER DIL14 296-1566-5-ND $0.42 $0.00 y

Quad Half H Bridge Motor Driver SN754410 DIL16 296-9911-5-ND $1.50 $0.00 y

Quad Half H Bridge Motor Driver SN754,410 DIL16 296-9911-5-ND $1.50 $0.00 y

Quad Half H Bridge Motor Driver SN754,410 DIL16 296-9911-5-ND $1.50 $0.00 y

Capacitor .1 uf CAP-PTH SMALL 199D476X9025E6B1E3 $0.20 $0.00 y

Capacitor .1 uf CAP-PTH SMALL 199D476X9025E6B1E3 $0.20 $0.00 y

Capacitor .1 uf CAP-PTH SMALL 199D476X9025E6B1E3 $0.20 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

Schottky Rectifying Diode CGRM4007-G SOD-123_MINI-SMA SD103AW-V-GS18 $0.05 $0.00 y

2 Servo Header 2X03 SparkFun S6105-ND $0.85 $0.00 y

2 Servo Header 2X03 SparkFun S6105-ND $0.85 $0.00 y

Power Ground Input header 2X02 pinhead S6105-ND $0.85 $0.00

Motor 1 Header 1X06 pinhead S7043-ND $0.83 $0.00

Motor 2 Header 1X06 pinhead S7043-ND $0.83 $0.00

Motor 3 Header 1X06 pinhead S7043-ND $0.83 $0.00

Pull down Resistor 1k 805 P1.0KGCT-ND $0.05 $0.00

Pull down Resistor 1k 805 P1.0KGCT-ND $0.05 $0.00

Pull down Resistor 1k 805 P1.0KGCT-ND $0.05 $0.00

Lauren
Electronics B.O.M.
Page 33: Final Status Report · PDF fileFinal Status Report ... Currently there are very few search and rescue robots used in disaster ... The snake robot is comprised of three locomotion segments

Part Name Iteration Part Number Quantity Required Quantity Ordered Cost Stock ($) Total Cost ($) Mass per Part (g)

Magnets for Docking Plate 1 L01 20 0 $0.00 $0.00 Unmeasured

Base Docking Plate (1/4" acrylic) 1 L02 4 0 $0.00 $0.00 Unmeasured

Magnets for Docking Plate 2 L03 20 0 $0.00 $0.00

Base Docking Plate (1/4" acrylic) 2 L04 4 0 $0.00 $0.00

Docking Plate Cover (1/16" acrylic) 2 L05 4 1 - 12" x 12" sheet 2/sq ft $2.00

Base Docking Plate for Snake (1/8" acrylic) 3 L06 4 1 - 16 x 20" sheet $0.00 $0.00 1.83

Base Docking Plate for Center Quadrotor (1/8" acrylic) 3 L07 2 1 - 16 x 20" sheet $0.00 $0.00 1.95

Base Docking Plate for Side Quadrotor (1/16" acrylic) 3 L08 4 0 2/sq ft $0.00 0.86

Docking Plate Cover (1/16" acrylic) 3 L09 10 0 2/sq ft 0 (left over from initial) 1.41

Magnets For Carrying and Snake D42-N52 (1/4" x 1/8") 3 L10 36 54 $0.42 $22.68 0.753

Magnets For Docking only on quadrotor D41-N52 (1/4" x 1/16") 3 L11 24 36 $0.27 $9.72 0.588

Total Snake Assembly 3 4 $0.00 $0.00 N/A

Total Quadrotor Assembly 3 6 $0.00 $0.00 N/A

Total $32.40

Lauren
Docking B.O.M.