Skip to main content
SearchLoginLogin or Signup

Space Gecko: Robotic Locomotion Strategies in Zero Gravity

Follow me along as I explore next-gen locomotion in space to enable small robots to walk on asteroids and satellites

Published onDec 21, 2023
Space Gecko: Robotic Locomotion Strategies in Zero Gravity

Greetings Earthlings & Curious Minds!

With the current speed of advancement in the new space race, we are closer than ever to democratizing access to space exploration. The opportunity to explore our neighboring celestial bodies in much detail on the ground is within reach, yet current rover and mission designs are built for centralized, once-in-a-decade missions. In this project, I will explore the possibility of using a swarm of crawling microrobots for the decentralized exploration of asteroids and the maintenance of space stations and satellites. This PubPub page contains my entire documentation of the project and is presented in the style of a weekly lab notebook. All design files can be found and downloaded at the bottom. My contact information is also below.

Week 1: A First Project Overview

This week, I prepared an overview of the project for my application to the class. The formal application helped me think through my design considerations and got me to a first draft of what the project could become. On a high level, I think that for far too long, space missions have been confined to the limitations of centralized landers, restricting our ability to explore diverse regions of moons and planets. My project aims to revolutionize the way we gather ground-based data by introducing a decentralized approach: a fleet of small, low-cost, insect-inspired micro-robots capable of controlled jumping on other celestial bodies.

Purpose of Jumping Micro-Robots:

Jumping, as a mode of transport, offers exceptional agility to navigate obstacles and cover vast distances across irregular terrain. Unlike conventional landers, a swarm of these jumping micro-robots can provide a comprehensive understanding of diverse planetary landscapes. Drawing inspiration from nature, I believe these micro-robots, akin to cube sats in democratizing space access, could open up opportunities for scientists, enthusiasts, and space hackers worldwide.

Challenges and Solutions:

While insect-inspired robots have been explored, the focus has predominantly been on flying micro-robots. However, thin atmospheres on certain celestial bodies pose challenges for flight. The solution lies in jumping mechanisms. Current large-scale jumping robots suffer from centralization, prompting me to embark on a mission to create a universal open-source platform for small, low-cost jumping micro-robots.

Experimentation in Micro-Gravity:

My primary objective for this initial phase is to build and rigorously test a jumping micro-robot in microgravity conditions. I'm particularly intrigued by the robot's ability to jump controllably in various orientations. To simulate these conditions, I'm considering experiments involving parabolic flights, tensioned leashes, and controlled environments like boxes. The goal is to gather valuable insights that go beyond what traditional 1g testing on Earth can provide.

Dreams of a Decentralized Future:

I am driven by the vision of deploying generations of these jumping micro-robots on moons and planets, carrying the dreams and experiments of researchers and space hackers worldwide. This project is not just about gathering data; it's about empowering individuals who never thought their experiments could reach the moon.

Open-Source Spirit:

At the core of this project is the commitment to open-source principles. I plan to document and publish the design of the jumping micro-robot, allowing others to independently use, adapt, and replicate it. Collaboration is key, and I am eager to engage with the scientific community, including the Harvard Microrobotics Lab.

Week 2: Prototyping a Jumping Mechanism

After getting some feedback for my project proposal in class, I spent some time this week refining it further. Specifically, I looked into how I could even make my robot jump - that is, the jumping mechanism itself. Let’s take a deep dive into all the DIY jumping robot mechanisms I could find on the internet!

Compression Spring System:

My earliest thoughts went to just using long compression springs that would be compressed before the jump and then released to propel the robot forward. I found a robot by Parrot called Sumo that uses a system like that to jump over obstacles[1]. Luckily, someone had even spent the time to work on a DIY version of the same robot, which actually boasts some impressive jumping power[2]. This particular design uses compression springs also used in soft air guns.

The main advantage of this system is that it is very powerful (imagine strapping that to a microrobot in low gravity, it would just fly off). However, it also adds a lot of weight and complexity. I also did not like the power transfer of this design, as it does not make any use of amplifying the power. Last, I think the footprint is relatively large, which is a major limitation in getting stuff to space. Ultimately, I decided not to pursue this design.

Limb & Leg Spring System:

While looking at other jumping systems, I came across a bio-inspired design that uses a coil spring connecting a limb and a leg. When storing energy, the two parts of the leg are pressed together, and the coiled spring stores the energy, similar to a frog waiting to jump. When a latch is released, the energy stored in the coil is rapidly transferred to the leg as it rotates around the limb, transferring its stored kinetic energy into the limb, which ultimately propels it upwards. A good example of this mechanism can be found here[3][4].

While the mechanism is bio-inspired, the amount of force that can be stored in the coil spring is rather limited, compared to other setups. Even with the best examples I could find online, the robot did not jump very high and the force amplification around the coil spring is not very impressive.

Compression Springs and Carbon Fibers:

Another design I came across is a combination of tension springs and the inspiration from biology of force multiplication along a jumping limb-leg system. In this design, a tension spring is hooked up perpendicular to two flexible legs. The flexible legs are secured together at their ends and a motor in the center is used to pull the legs together along their vertical axis, thus bending them outwards at their center point, which is connected to the tension spring. Thus, the tension spring stores energy, which can instantaneously be released and make the robot jump.

Initially, this design seemed especially appealing for this project. It appeared relatively easy to fabricate, and I found lots of DIY videos on making jumping mechanisms and toys with this design. Furthermore, the force could easily be multiplied by using longer legs. Last, a student of UCLA had recently used a system with this type of mechanism to build a robot that won the Guinness World Record for the highest jump of a robot[5]. So everything seemed like this was the perfect solution!

A First Test of the Jumping Mechanism:

To give it a test and see how easy it would be for me to build a system like this, I dug up some old Tamakachi robot prototyping kits from our maker space and started putting together a system. Below, you can follow my efforts as I worked on this system and then tested it.

Fig 1: Prototype of the jumping mechanism

Fig 2: Design considerations for the future

While the setup was simple, it quickly taught me about the most important challenges and risks in the robot I was trying to build. First, the longer the legs become, the less stable the robot will become along its z-axis. Second, applying tension through the string and motor evenly such that the leg collapsed perfectly along the z-axis, rather than at any other angle, was difficult. Third and most importantly, I realized that controlling the jumping with four individual legs would pose huge complexity risks. I believe that early prototyping, as early as we are still evaluating a design, is immensely valuable here because it demonstrates the fallbacks of a certain design immediately in a way that our mental simulation might have not anticipated.

Vid. 1: DIY jumping mechanism in action (sort of)

Week 3: Designing for Lunar Gravity

This week, in class, we learned from the CTO of Lunar Outpost about some key considerations when designing robotic devices for planetary exploration, particularly on the moon. The guest lecture was immensely helpful and it made me aware of certain aspects of the lunar surface, like the highly abrasive dust covering it and its effects on any moving parts of a robot. You can find a list of my notes below, where I list all the design aspects we should consider when aiming for extraterrestrial ground missions.

Week 4: Updates on the Mission

After the last class, I got some feedback on my current project. It was at this point that I realized that I had overlooked some important aspects of the course and the zero-gravity environment we would be testing our equipment. Most importantly, most of our parabolic flights would be in, well, zero gravity. I guess I should have expected that from the course title. 

Concerning the Initial Experiment:

The problem with that was that the jumping robot I wanted to build requires some gravity, like lunar or Martian gravity, to be properly tested. After all, what I wanted to show was that my jumping robot could feasibly and controllably be used to jump over large areas of terrain. In zero gravity, all that would happen is that the robot would float around in the air surrounding it, and jumping its legs would not propel it anywhere (since its legs had to be in contact with the surface to propel itself away from it). If you’ve ever wanted to see what I imagine my jumping robot would have looked like in zero gravity, I am happy to forward you to the Air Force, which already tested this albeit with a robot true to biology.

Vid. 2: Cats in zero gravity cannot land on their feet

Furthermore, I realized that we were given some size constraints concerning the physical testbed we could use. In general, projects had to be operated inside a cube of about 1x1x1 m. This meant that any large robot with significant enough jumping power would jump much too far to be contained in the given testbed. In the words of a former zero gravity flight participant, you can thrust yourself to the other end of the room with just your small finger, so I expected my robot to be much too powerful.

Last, I also realized that the complexity of four separate jumping legs made the project harder to pull off and easier to fail. While I was confident in my ability to build and control a single-leg setup, or maybe two legs in parallel, I doubt that I could learn to gracefully control four independent legs within a matter of a few weeks. It seemed like too high of a risk.

Updated Experiment Proposal:

After thoughtful consideration, I decided to move a little bit away from the jumping robot and instead move to a robot that can crawl along the surface of (almost) zero-gravity objects in space, like satellites and small asteroids, and explore these types of objects. On the one hand, they come in great numbers, so a decentralized and scalable system like the one I was proposing with the jumping robots would still make sense. On the other hand, because the gravitational attraction would be so weak, a jumping robot would probably propel my robot too far away from the surface.

It was around Halloween when I visited a local Walmart and found exactly what I had been looking for. I bought a box of window crawlers - the kid’s toys you can put on a window that slowly makes its way down by sticking to the window while tumbling over itself[6]. The idea that sprung to my mind was whether we could use a sticky but reusable material like the vinyl on the feet of these crawlers to crawl around satellites and asteroids. So I got some of them (hey, who doesn’t like spending university budget on kids’ toys) and got to work!

Vid. 3: The kind of wall climber toy that inspired the amended mission.

Week 5: Thoughts on Bio-Inspired Adhesives

Away from jumping robots and fast forward to sticking robots. After pivoting the project, I knew I was now looking at fabricating a robot that could explore the surface of smaller, basically zero-gravity objects in space. An example could be asteroids that come in the millions and have such little gravitational attraction, it is a substantial challenge to land on them, not even considering crawling around and exploring the surface from all sides. For instance, if you look at the spacecraft Philae[7], you may easily recognize it had to use locking feet, almost like a harpoon. Another example of even smaller objects would be obsolete satellites and undocumented pieces of space debris that could be tagged by a sticking robot[8].

Naturally, the first and most important factor to clarify was what the best system to stick to the surface of these objects would be. Anything that could stick to and let go of our target surface in a repeatable manner would be a good fit for this, which might include different adhesives, magnets, or other systems. After spending some time glancing over reviews of adhesive technology and all kinds of other ways I could imagine we could stick to the surface of asteroids and satellites, I compiled an overview of all the technologies that appeared possible and selected the suitable ones. You can see my considerations below.

I ultimately got very interested in the use of bio-inspired adhesives. As their name implies, they are inspired by nature, specifically animals that can scale the faces of rocks, tree trunks, etc. For instance, some snails adhere to the surface of other objects by releasing an adhesive secrete they can crawl on. Another great instance is the gecko, possibly nature’s most skilled crawler. These lizards can walk on the surfaces of both smooth and rough textures with microscopic thin sheets on their feet. When these sheets are put into sheer force by gravity, they form an ultra-smooth surface that adheres the gecko to the surface by van der Waals forces. As the hairs themselves are not sticky, they also do not attract dust - a huge advantage on dusty planets.

With these ideas in mind, I went ahead and designed the first prototype of a robot that could use some DIY dry adhesive pads to adhere to walls.

Week 6: Considerations About the Adhesive Pads

One of the most important engineering aspects that was still missing from my project so far were the specific adhesive pads I wanted to test - in a way the core of my project. So far, I had only used some cut up parts from some window crawlers. While the vinyl was a great first start to develop the robotic platform itself, I wanted to greatly increase its adhesive power by creating my own nano-structure silicone pads. This was the focus of this week.

Once again, I started by researching different ways in which researchers and DIYers created gecko-like nano structures from cast silicone already. I came across two particularly valuable ideas that I could potentially use for my robot. First, I found some papers of Stanford which used a vibratome to create micrometer-sized grooves in wax with a razor blade. Pouring silicone over the wax would yield thin flexible sheets with gecko-gripping effects. Second, in an attempt to re-create some of these results at home, a DIY channel on YouTube had come up with the simple hack of pouring silicone over nano-textured surfaces (like the surface of a CD). The results turned out quite promising.

Vid. 4: DIY gecko tape fabrication

Week 7: First Prototype Build

As the Preliminary Design Review is quickly approaching, it is about time to start developing the first prototype of my proposed sticky robot. However, before diving into the development of an entire robotic system, I wanted to make sure the concept of using dry adhesives as sticky pads to move around would work.

Vid. 5: Halloween window crawlers

As I did not have the time to dive into the fabrication of custom, optimized adhesive pads yet, I instead got some window crawlers from Walmart’s Halloween section and fittingly created a Frankenstein window crawler. Happy Halloween!

I began with my favorite DIY tutorial site YouTube to scan the internet for some ideas on robots I could easily build. Luckily, I came across several channels that made me realize I wouldn’t even need to model and 3D print anything for my first test - all I needed was some cardboard, a lot of hot glue, and some patience[9]. Although I would hardly consider these robots prototypes (they were merely moving pieces of cardboard), I could still test whether the traction pads would work, which is all I cared about. Overall, the design took me about two hours to make. Unfortunately, there are no design files, but the videos should give you an idea of the dimensions of all the parts.

First, I made the whegs (= wheeled legs) that allow the robot to traverse irregular terrain while still using a wheel-based design. The whegs were made out of cardboard that I cut into 4x1 cm rectangles and bent such that the adhesive pads could be put at an angle. I also used some pieces of wood in the corners of the wheg to keep it from bending too much. Last, I attached the wheg elements to a short piece of plastic tube, such that the two wheels had four legs each, placed around a central tube. For the adhesive pads, I used pieces of the adhesive pads of the window crawlers that I cut up.

Vid. 5: Building the whegs and the frame

Vid. 6: Attaching the adhesive pads to the whegs

Next, I built a small plastic transmission from an old Takashaki robot kit that I found around the maker space. The purpose of the transmission is to gear down the speed of a generic small DC motor I had at hand to a speed at which the robot could slowly climb up the wall, instead of just spinning or breaking itself apart. After finishing the transmission, I installed the DC motor and soldered a standard copper wire to the plus and the minus pole.

Fig. 4: Transmission from an old Takashaki kit

I put the transmission on a piece of cardboard that would form the chassis of the robot. I then attached the two whegs onto the drive shaft that ran through the chassis, one at either end. This way, the robot was a front-drive robot and the rear part could just be pulled behind the robot. 

Last, I installed and soldered a battery pack of two AA batteries on the back of the robot. While I was pretty sure this would make the robot much too heavy to scale walls in 1 G, I presumed this did not matter to show that it would work in outer space. However, to save some weight, I used an old Arduino Uno lying around our maker space that I hooked up to the robot via wires. Although this meant the robot would be tethered for communication, I was confident the cable would be long enough and not interfere with the robot’s operations. I have to admit the cable routing was sometimes a bit messy.

Fig. 5: The finished prototype - or rather, Frankentype

After putting everything together, I tried the robot out to see if we would be lucky and could get it to climb the walls (in a 1G environment). Unfortunately, even with the best encouragement, the robot did not want to stick to the walls or glass windows of our maker space, in contrast to the window crawlers themselves, which happily stuck to the wall. For me, this was a sign that at least theoretically, my experiment should work and all I had to achieve was to decrease the weight (to decrease the downward force on the robot. Either way, there was probably some traction between the adhesive pads and the walls.

Vid. 7: Robot prototype scaling wall

To test how well the adhesion worked if we removed the effect of gravity, I quickly worked on a way to have the robot adhere to and crawl along the surface of something on its side. Two ideas came to my mind. First, I could have filled a household-size plastic tub with water, put the robot on the side on a float, and have the robot on the float adhere to something to crawl along. Second, I could just put the flipped robot on a drive chassis and allow it to pull itself along a wall. For greater ease, I decided to follow this option. It took me another 15 minutes to build a simple platform and have the robot crawl along the wall.

Vid. 8: Robot prototype crawling along wall

Week 8: Improved Prototype Build

After getting the first version of something, just anything actually, to work last week, I quickly felt like I wanted to build a sturdier version of my robot that used less cardboard and hot glue. As our preliminary design review came up next week, I wanted to fully model a chassis for the final robot. Moreover, I wanted to scale the motor and the battery down in size and weight. Ultimately, I hoped that an updated prototype could maybe even get me down to the weight and size of a robot that could scale walls at 1G. The rough idea for my simplified chassis came from this video[10].

Fig. 6: Model of the chassis in Fusion 360

I began by modeling a new chassis and whegs for the new robot in Fusion 360. My plan was to use a modified 9g micro servo motor (the small ones in the blue enclosure) to power the entire robot, so I measured the footprint of that and set the chassis dimensions accordingly. Afterwards, I modeled the whegs in a way similar to the ones I had designed last week and accounted for a sturdier axle shaft. I then sliced all parts in PrusaSlicer and printed them on a Prusa 3D printer in 0.2mm resolution, which took about an hour.

Fig. 7: FDM-printed parts of the chassis

Next, I took a 9g micro servo motor and modified it such that it could be spun in one direction continuously (instead of just up to a certain point). When you buy a servo motor, it has a small DC motor inside and a potentiometer that records „where“ the drive shaft currently is. As you know, a potentiometer has a minimum and a maximum value beyond which it cannot be turned. The basic idea for our mod is to open up the servo motor housing, bypass the potentiometer inside to always output the same value, and remove its plastic tabs that prevent it from being spun continuously. You can find lots of guides online for this procedure, which is commonly used by RC car enthusiasts to build powered Hot Wheels cars that are powered by a modded servo motor. I followed this video, which explains the process excellently[11]. Although the inner gears of the motor are quite flimsy, I was able to complete the job in about an hour without any trouble. In my case, I just put the transmission gears back together in exactly the same way, but you may choose to change your transmission to output a smaller or larger speed.

Vid. 9: Modifying the servo motor to run continuously

Afterwards, I was able to mount the servo motor to the chassis and connect the servo motor drive shaft to the axle using two gears. For the moment, I just secured the servo motor to the chassis using hot glue and routed the cables to the back of the robot with some rubber bands. I attached some generic wheels I found lying around the makerspace to the back of the robot to lift the chassis off the ground. However, as I noticed later, the wheels added so much weight I should have rather not used them during testing.

Vid. 10: Putting everything together

Unfortunately, I did not have time to develop the custom dry-adhesive pads I would like to create for the final version of my robot. Therefore, I again used the adhesive pads I had cut up from some Walmart window crawler toys last week. I removed them from my previous prototype and attached them to the whegs of the new robot.

To control the robot while keeping the weight as light as possible and the complexity as simple as possible, I used a tethered approach for the robot. Instead of mounting the microprocessor and the battery on the robot itself, I just attached it via a three-foot-long wiring harness. This would ensure the robot is as light as possible while I was on the hunt for a light and small LiPo battery and a suitable small microprocessor. For my code, I simply used an example script to turn the motors forward infinitely.

Vid. 11: Demo of the robot walking forward (kind of)

Fig. 8: Final prototype

Overall, the new prototype was extremely light and much sturdier than the last one. However, even after repeated tests, it did not want to crawl the wall vertically, even though I got good adhesion. However, I did get the robot to crawl horizontally, so at least that works out. I will keep developing on a version that is capable of crawling up walls against 1G over the next weeks and hopefully arrive at a final prototype by the critical design review.

Week 9: Final Prototype Mechanical Design

This week, I continued working on the mechanical design of my chassis to arrive at a final design that is sturdy, light-weight, and integrates all of the electrical components inside an enclosure. I will use a similar drive train (if what I designed can even be called a drive train) as in the last prototype. Again, the enclosure will be 3D printed on an FDM printer using PLA. All design files can be found and downloaded at the bottom.

Using Fusion 360, I first defined some of the parameters for the screws I will be using, the offsets based on the 3D printer resolution, etc. I then sketched out the housing outside as well as the interior, which I split vertically into two sections. 

Fig. 9: Bottom section of the chassis

Ideally, I wanted this prototype to have two independent motors that could independently drive the two sides of the robot. In the two-wheel scenario, my idea was to have wheels or whegs attached to these two motors, i.e. one on each side. In the four-wheel scenario or a treaded robot, my idea was to attach two extra helper wheels placed on ball bearings on each side, such that the robot had one driving wheel and one stabilizing wheel on each side. In the bottom section, I created two opposing cut outs that allow two modified 9g servo motors to be placed and secured in the housing. For the 3D models for the 9g servo motors, I used this part here ( I also added some cut outs for channels to route the copper wires from the motors to the upper section.

Fig. 10: Upper section of the chassis

In the upper section, I reserved some space to house the electronics, consisting of a main PCB and the battery and power management unit. For now, I simply modeled cable routing channels and modeled some space for the battery, as well as four mounting poles that I could later screw the PCB onto. As I did not have the PCB design finished yet, I simply created these as placeholders for this week. Later, I came back to the design and adjusted the dimensions of the PCB and the battery accordingly.

Last, I designed the actual drive system. Again, for a four-wheeled system, I had to create one driving tire on each side, which I modeled as a press-fit part around the drive gear protruding from the servo motor. For the supporting tire on each side, I simply modeled a pole protruding from each side, which I could press-fit a small standard ball bearing onto to have an independent secondary wheel.

Fig. 11: Engineering drawings of the chassis from all sides

Fig. 12: Slicing in PrusaSlicer

I sliced all the parts in PrusaSlicer and 3D printed them on standard Prusa FDM printers out of PLA with a rough resolution, refined some of the offsets and the screw mounting holes to have everything close snug and then proceeded to a final print in 0.1mm resolution. Overall, the chassis weighs only a few grams and came out great!

For my final presentation, I also animated a quick exploded view of my chassis (well, of the parts that I had modeled in my chassis) using the animation view in Fusion 360. Although I had never done this before, the process turned out to be a breeze and it only took me about 15 minutes to get to a decent result. If you want to give it a try, I followed this video here[12].

Vid. 12: Exploded view of the finished chassis with PCB and wheels

Week 10: Final Prototype Electrical Design

After finishing the mechanical design for my final prototype last week, I now focused on the electrical design of the PCB. The components had to be as light and small as possible, as I wanted to keep the footprint of the robot as small and light as possible. Ultimately, I decided on the Seeed XIAO ESP32C3 on their default development board as the ideal microprocessor for my case. The board comes with a battery charger at a ridiculously small footprint and allows for the connection of an external antenna to provide better signal for wifi and bluetooth. Definitely give this board a look if you are looking for a mini IoT ESP-based board like this[13]. For power, I decided on a standard 3.7V single-cell LiPo battery, which connects to pads on the bottom of the XIAO board[14]. All design files can be found and downloaded at the bottom.

Fig. 13: The almost microscopic XIAO ESP32C3 is perfect for this project

Fig. 14: The schematics for the project

The PCB I designed around the XIAO board is primarily a breakout board to have all the pins accessible with locking 3-pin connectors to connect the two servo motors. I designed the board in Eagle (Fusion 360) and did not have to use any external libraries. As you can see from the schematics, the PCB just has mounting header pins for the XIAO MCU and then forks them out to breakout pins and the connectors I talked about. I also included a thru-hole status LED and an on-off switch that lay flush with the USB-C connector of the XIAO board. 

Fig. 15: The routed PCB for CNC milling

After finishing the schematics, I routed the PCB as a single-sided PCB to be milled on a small CNC machine using a 1/64“ endmill. To make sure I had ample space between the traces, I used the FabAcademy design rules, which you can find here[15]. Overall, the design of the board was pretty straightforward and I only had to keep flipping the pins in the schematics until I could route the connectors well without any interference.

Fig. 16: A render of the 3D model of the PCB

In addition to exporting the board for milling, I also created a 3D model of it using Fusion 360’s 3D export function. This helped me immensely in making sure my part fit into the chassis I designed last week, as I could literally just import the 3D model into that project and fit it in place. It also made sketching the cut outs for the power switch and USB-C connector much easier.

Fig. 17: The PCB in its integrated state in the chassis

Milling the board was straightforward. I used our good old Roland SRM-20 as I had often before in How to Make (Almost) Anything and milled the board from a single-side copper-plated FR1 board in about half an hour. Unfortunately, the trace width turned out to be just a little too thin on my first run, so I increased the traces to a width of around 0.4mm and ran it again. I then stuffed the board on our solder station and was quite pleased with the result. The only part that turned out to be more fiddly than I wished was connecting the battery to the board, which I soldered two wires to the pads to for. Ideally, I should have used a connector on the board as well, but I guess it works fine for the moment.

Fig. 18: Generating the toolpaths using MIT CBA’s Mods, milled on a Roland SRM-20

Vid. 13: Milling the PCB traces on the Roland SRM-20 using a 1/64” end mill

The last part of our electronics, I had to modify the two 9g servo motors to have them spin continuously. Initially, I thought this would become as much of a PITA as the first time I attempted this hacky procedure in week 7, but it turned out to be much quicker. Overall, it only took me about 20 minutes per motor, so I guess practice makes perfect. Be sure to check out my documentation in week 7 if you want to see how to modify a servo motor to spin continuously.

Vid. 14: Modifying two more 9g servo motors

After connecting the motors and the battery, I programmed everything in Arduino IDE and simply uploaded an example script that runs both motors forward for now. If it is your first time working with this board, you can install the XIAO ESP32C3 board via the board manager from the Espressif ESP32 board library[16]. Also, we are using the ESP32 servo library, which you can find here[17]. After I uploaded the script, both motors ran forward as expected, finishing my electronics design. Last, I integrated everything into the chassis and closed the housing. That’s it for the final prototype!

Fig. 19: Robot with the electronics integrated into the housing, with an open top for debugging

Week 11: Final Prototype Structural Design

Before wrapping up the project next week, I spent this week working on the structural design of my experimental enclosure. The purpose of this is two-fold: First, I need to design the actual experimental tracks I want to test my robot on. Second, as the flight operates in zero gravity, things tend to float away and we do not necessarily want that. Therefore, I had to build a physical enclosure that prevents the robot and any other internals from floating away around the plane cabin. All design files can be found and downloaded at the bottom.

Fig. 20: Design of the three experimental tracks I want to test my robot on

If you remember from the first weeks, the idea behind my project is to test the robot I designed on multiple different tracks with different curvature and see how well the robot can scale these structures. I wanted to design this as a three-part system where I have three different tracks. The first one should be flat and provide a baseline that even works under 1g of gravity. The second one starts out flat but slowly increases in height up to an inclination of 90°. I expect to get different degrees of success under different amounts of gravity. Last, the third one resembles a more natural environment with Gaussian noise used to model low- and high-points around a circle, giving the robot different terrains to be tested on. I designed these three tracks in Fusion 360 and planned to mill them from blue foam later before coating them with polyurethane or a similarly smooth, dust-free surface.

Fig. 21: The final enclosure out of 80/20 aluminum extrusions and transparent acrylic walls

For the enclosure around the tracks, I considered standard 8020 aluminum extrusions[18]. The box I designed is a 60x60x60 cm cube of 1“ aluminum extrusions, fixed together using standard aluminum mounting plates. Five of the sides of the cube would be closed with 1/8“ acrylic sheets cut to size accordingly and then mounted to the frame using mounting brackets. The front side of the cube was allowed to stay open such that I could reach into the experiment to start and stop the robot while it was in operation. You can find a model of the enclosure I designed below, as well as an animation of the robot in the enclosure for scale.

As I wanted to record my experimental findings on video, I also considered two attachment points for the Go Pro I wanted to use. These are located in the two front-top face corners of the cube, facing inwards to give a good view of the three experimental tracks and the robot. Overall, the enclosure is pretty basic but it houses everything that is needed for the experiment and keeps everything securely stored whenever the plane is not in zero gravity.

Vid. 15: Animation of the robot in the enclosure at real time

Week 12: Finale

It is the last week of the semester and it is time for demo day! This week, I will present my final prototype and the accompanying experiment in class. I spent most of the week finishing up my narrative and then creating a short slide deck that also explains the concept of operations, safety hazards, as well as the next milestones for the project. I do not have much more to say other than that I enjoyed this terrific semester with Cody, Sean, and Jeff. The class helped me design and build an experiment and the necessary equipment from scratch and develop it to a point where I can investigate a truly novel way of locomotion in zero gravity. For those of my readers who have followed through up to this point, thank you for giving my project a look and I hope you could get something out of this yourself. Please, reach out if you have any questions or would like to collaborate on a similar project. I would love to hear from you!

Ani. 1: Slide deck of the final presentation & narrative

Design Files & Downloads

All files are under Creative Commons Attribution-NonCommercial 4.0 International License (CC-BY-NC 4.0). Feel free to contact me at [email protected] if you are missing any files or have questions about using them!

Mechanical Design Files

Electrical Design Files

Code Files

Final Presentation Files

About Me

My name is Cedric and I am a final-year graduate student in Design Engineering at Harvard University. Over the past years, I have spent many late nights at the Loomis-Michael Observatory atop Harvard’s Science Center, marveling at our neighboring planets and the possibility of exploring the distant worlds that await us outside our small bubble of air on the blue marble. This class is probably my closest attempt so far at making this dream come true while learning about the first principles that govern space.

For more quirky Media Lab projects, feel free to also check out my How to Make (Almost) Anything and my How to Grow (Almost) Anything sites. You can reach me at [email protected].

No comments here
Why not start the discussion?