Eco-Friendly Squishy Robots *
|Time Required||Average (6-10 days)|
|Prerequisites||Familiarity with VoxCAD software — we recommend completing our introductory VoxCAD project first. Basic knowledge of the concepts of energy consumption and power, or a willingness to learn them.|
|Material Availability||This project requires the free VoxCAD software and a computer running Microsoft® Windows®.|
|Cost||Very Low (under $20)|
AbstractIn our introductory VoxCAD project, you were challenged to use the VoxCAD software to design the fastest possible robot using different materials. However, we did not ask you to think about one big thing — efficiency. It is great to design a robot that is very fast, but what if it also consumes a lot of energy? Engineers must consider this when designing robots in the real world — robots that use more energy to move will drain their batteries faster, which can be a problem. This is similar to the concept of fuel economy in cars — everyone wants a car that "gets good gas mileage" — meaning the car will travel as far as possible on a gallon of gas (which in turn, saves money). Fuel economy for cars is measured in miles per gallon (mpg).
Most robots must carry a payload, or cargo, of some sort. The exact payload will vary depending on the purpose of the robot — for example, a search-and-rescue robot might need to carry cameras and wireless communication equipment, and a vacuum-cleaner robot will need to carry the dirt it vacuums from the floor. This is also true for non-robotic vehicles, ranging from everyday passenger cars to the Space Shuttles, which carried astronauts and other equipment to the International Space Station. In either case, moving the robot and its payload requires energy, and energy (whether in the form of batteries, gasoline, or rocket fuel) costs money — so engineers want to minimize the cost, and environmental impact, of movement. To measure how efficiently a robot can transport its payload and its own weight, engineers use the variable cost of transport. Determining the cost of transport for a robot answers the question "How much energy does the robot take to move one unit mass over one unit distance?" and can be calculated with the equation:
Cost of transport is typically measured in joules per kilogram x meter (J/[kg·m]). For example, say a 10 kg robot consumes 10 J to move 1 meter (m), and a 50 kg robot consumes 50 J to move 1 m. Even though the heavier robot uses more energy, both of those robots have the same cost of transport of 1J/[kg·m]. Notice that a lower cost of transport is a good thing — it would be like measuring fuel economy of cars in gallons per mile, instead of miles per gallon (you want to use as few gallons per mile as possible). But remember that the cost of transport calculation for a robot includes the robot's weight, while the fuel economy of a car does not — so they are different things.
Cost of transport can also be calculated in terms of power and velocity. Power is energy consumption per unit time:Equation 2:
and is expressed in watts (W), or one joule per second (J/s).
Velocity is distance per unit time:Equation 3:
and expressed in meters per second (m/s).
This means that, if you divide both the numerator and denominator of Equation 1 by time, you can also express cost of transport as:
This means that in order to calculate cost of transport for your robot, you need to determine its power consumption, mass, and velocity. (Note: Can you show that the result in Equation 4 has the same units as Equation 1?).
Your robot is made up of active and passive materials. You can think of active materials as muscles in an animal or motors in a machine — they require energy to move. So, you will need to assign a power consumption rate to each voxel of your active materials. Materials that expand and contract more will in general consume more power, so it is a good idea to make the power consumption rate proportional to the absolute value of the material's coefficient of thermal expansion. For example, you could say that a voxel with a coefficient of thermal expansion of 0.01 consumes 1 W (or 1 J/s) of power, and a voxel with a coefficient of thermal expansion of -0.02 consumes 2 W (or 2 J/s) of power. The total power consumption of your robot is the sum of the individual power consumption of all your active voxels, so you will need to count your active voxels for each robot, and keep track of material types.
You can access each material's coefficient of thermal expansion in the Physical sub-tab of the Palette tab, as shown in Figure 1. Remember that each material has its own unique material properties — click on the material name in the list at the top of the Palette tab to select that material, and then view its properties.
Figure 1. The coefficient of thermal expansion property can be found in the Physical sub-tab of the Palette tab. In this example, the red material named "Active_+" is selected, and has a coefficient of thermal expansion (CTE) of 0.01.
Tip: In the Voxel Info section of the Palette tab, VoxCAD displays the total number of voxels for each material type in your model. This can be useful for counting voxels in large robots — but remember that it shows the total number of each type in the entire model. So this will not work if you have multiple robots in a single simulation.
Each material is assigned a density. Density is mass per unit volume:Equation 5:
and is generally expressed in kilograms per cubic meter (kg/m3).
You can find the value for density of the selected material right above the value for thermal expansion in the Palette tab (see Figure 1). However, to calculate mass you also need to know the volume of each voxel. You can determine the volume of a single voxel by looking at the voxel shape and size in the Workspace tab. The default voxel shape is "Cube," and the Lattice Dimension determines the length of the sides of the cube.
Once you know the volume and density, you can use Equation 5 to calculate the masses of your different types of voxels. Add up the mass of each voxel to determine the total mass of your robot. Note that, unlike with power, all materials contribute to the mass, not just the active materials.
Figure 2. The Lattice Dimension can be found in the Workspace tab. In this case, the voxels are cubes with a side length of 1 millimeter (mm), and thus a volume of 1 mm3. The dimensions of the entire workspace (in voxels) are set with the controls for X Voxels, Y Voxels, and Z Voxels. In this case, the workspace is a 10x10x10 voxel cube.
Remember that velocity is distance per unit time (Equation 3) — so you will have to measure how far your robot travels in a given time. However, especially with robots that bounce, flail, and roll, it is unlikely that they will have a constant velocity. This means that you will need to measure the average velocity over a certain period of time. You can do this in Physics Sandbox mode by following these steps:
- Enter Physics Sandbox mode, and set a Stop Condition for the simulation in "Simulation Time," as shown in Figure 3. The time you pick for stopping your simulation will depend on how fast your robot moves. A good rule of thumb is to allow your robot to travel a distance equal to several times its own body length.
- Start your simulation as normal. It should stop automatically after reaching the simulation time you entered.
- Click on the Output sub-tab of the Physics Settings tab. This tab will display information about the simulation including the current time, and the distance the robot's center of mass has traveled since the simulation started (see Figure 3). You can use this information to calculate the robot's average velocity.
- Important: To measure time, do not use a stopwatch. Simulation time can be very different from real-world time because the simulation might run faster or slower depending on the size of your VoxCAD model or the speed of your computer.
- Important: This technique will only work for VoxCAD simulations that contain a single robot. The center of mass (COM) location is calculated for the entire simulation — VoxCAD does not track individual COMs for multiple robots within a single simulation. So, in order to compare different robots, you will have to put them each in their own simulation file.
Figure 3. To measure your robot's average velocity, set a Stop condition in "Simulation Time." Then, when the simulation stops running, you can measure the distance the robot has traveled using the Output sub-tab. Use the final time and distance to calculate velocity.
Remember that this is an abbreviated project idea, so now that you know how to calculate cost of transport, the exact procedure at this point is up to you. Here are some ideas:
- If you did the introductory VoxCAD project, go back and calculate the cost of transport for each robot you designed. Now, rank the robot designs in two different ways: from fastest to slowest, and from lowest to highest cost of transport. Are the lists the same, or do some of your fast robots actually have a high cost of transport?
- Assign a payload requirement to your robot designs. For example, you could create a passive "payload" material and say that "The robot must carry ten voxels of payload material to represent electronics and sensors" or that "The robot must carry one voxel of battery material for every five active voxels." Now, create new designs with the smallest possible cost of transport, that still meet your payload requirements.
- Can you think of other ways to rank and compare your robots? For example, what if you rank them by total power consumption, or calculate cost of transport without including mass? What if you assign a financial "cost" (e.g. in U.S. dollars) to each material, and calculate the total cost of each robot? How would engineers take all these different things into account when designing a real robot? For example, you might have a robot that has a low cost of transport, but is also expensive to build. Would that necessarily be a good trade-off?
Ben Finio, Ph.D., Science Buddies
- Windows is a registered trademark of Microsoft Corporation.
Cite This Page
Share your story with Science Buddies!I Did This Project! Please log in and let us know how things went.
Last edit date: 2016-12-23
- Hiller, J. (n.d.). VoxCAD. Retrieved March 22, 2013, from https://sourceforge.net/projects/voxcad/
News Feed on This Topic
Share your story with Science Buddies!I Did This Project! Please log in and let us know how things went.
Ask an ExpertThe Ask an Expert Forum is intended to be a place where students can go to find answers to science questions that they have been unable to find using other resources. If you have specific questions about your science fair project or science fair, our team of volunteer scientists can help. Our Experts won't do the work for you, but they will make suggestions, offer guidance, and help you troubleshoot.
Ask an Expert
If you like this project, you might enjoy exploring these related careers:
Robotics EngineerHave you watched "The Transformers" cartoon series or seen the "Transformers" movies? Both shows are about how good and evil robots fight each other and the humans who get in the middle. Many TV shows and movies show robots and humans interacting with each other. While this is, at present, fantasy, in real life robots play a helpful role. Robots do jobs that can be dangerous for humans. For example, some robots defuse landmines in war-stricken countries; others work in harsh environments like the bottom of the ocean and on the planet Mars. At the heart of every robot is a robotics engineer who thinks about what a robot needs to do and works with several engineering disciplines to design and put together the perfect piece of equipment. Read more
Mechanical EngineerMechanical engineers are part of your everyday life, designing the spoon you used to eat your breakfast, your breakfast's packaging, the flip-top cap on your toothpaste tube, the zipper on your jacket, the car, bike, or bus you took to school, the chair you sat in, the door handle you grasped and the hinges it opened on, and the ballpoint pen you used to take your test. Virtually every object that you see around you has passed through the hands of a mechanical engineer. Consequently, their skills are in demand to design millions of different products in almost every type of industry. Read more
Computer Software EngineerAre you interested in developing cool video game software for computers? Would you like to learn how to make software run faster and more reliably on different kinds of computers and operating systems? Do you like to apply your computer science skills to solve problems? If so, then you might be interested in the career of a computer software engineer. Read more
Computer ProgrammerComputers are essential tools in the modern world, handling everything from traffic control, car welding, movie animation, shipping, aircraft design, and social networking to book publishing, business management, music mixing, health care, agriculture, and online shopping. Computer programmers are the people who write the instructions that tell computers what to do. Read more
News Feed on This Topic
Looking for more science fun?
Try one of our science activities for quick, anytime science explorations. The perfect thing to liven up a rainy day, school vacation, or moment of boredom.Find an Activity