Category Archives: Projects

Pages of the research projects

Passively Morphing Aerial Vehicle

Quadrotors are known for their agile flight, but they suffer from a lack of efficiency over long distances. In contrast, fixed-wing vehicles use their wings to generate lift, which decreases their power consumption but adds constraints on their motion. We propose a vehicle that morphs its wings in order to trade-off agility and efficiency during flight.

Our aerial vehicle is able to use dynamic motions to cause the wings to fold and unfold. This enables it to use its existing four motors used for propulsion to generate the wing folding as well.

Ongoing Work

  • Determining the amount of thrust needed for dynamic actuation of a bistable structure
  • Developing a deployable airfoil
  • Integrating the deployable airfoil with the system

Publications

Bistable Aerial Transformer: A Quadrotor Fixed-Wing Hybrid That Morphs Dynamically Via Passive Soft Mechanism

Weakly, Jessica; Li, Xuan; Agarwal, Tejas; Li, Minchen; Folk, Spencer; Jiang, Chenfanfu; Sung, Cynthia

Bistable Aerial Transformer: A Quadrotor Fixed-Wing Hybrid That Morphs Dynamically Via Passive Soft Mechanism (Journal Article)

In: ASME Journal of Mechanisms and Robotics, vol. 16, iss. 7, no. JMR-23-1641, pp. 071016, 2024.

(Abstract | BibTeX | Links: )

Soft hybrid aerial vehicle via bistable mechanism

Li*, Xuan; McWilliams*, Jessica; Li, Minchen; Sung, Cynthia; Jiang, Chenfanfu

Soft hybrid aerial vehicle via bistable mechanism (Conference)

IEEE International Conference on Robotics and Automation (ICRA), 2021, (*=co-first author, best paper in mechanisms and design).

(Abstract | BibTeX | Links: )

Acknowledgments

This project is in collaboration with Xuan Li, Minchen Li, and Chenfanfu Jiang from UCLA.

Support for this project has been provided in part by National Science Foundation (NSF) under Grant #1943199, #1813624, #2023780, and DGE-1845298, by the Pennsylvania Space Grant Consortium, and by the Penn Center for Undergraduate Research and Fellowships. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and and do not necessarily reflect the views of funding source.

Wind Tunnel Force Balance

This guide will show you how to fabricate a two-axis force balance that will allow you to measure lift and drag on an object in a wind tunnel, shown below. The force balance is accurate, having a mean absolute percentage error of only 2.5% under static loading conditions for cantilevered loading conditions and 1.1% for symmetric loading conditions. The force balance is currently fitted for an AEROLAB Educational Wind Tunnel, but the base could be redesigned for adaptation to other wind tunnels. To learn more about how the accuracy was determined and for a sample educational lab, please refer to our paper.

Publication

A low-cost, adaptable system for lift and drag measurement in an educational wind tunnel

Weakly, Jessica; Ho, Sarah; Feehery, Erica; Kothmann, Bruce; Sung, Cynthia

A low-cost, adaptable system for lift and drag measurement in an educational wind tunnel (Conference)

2024 ASEE Annual Conference and Exposition, 2024.

(Abstract | BibTeX | Links: )

Fabrication Files

Off-the-shelf Components

Laser Cut Files

3D Print Files

Code

Circuit Diagram

User Guide

Calibrate the Load Cells

  1. Connect load cells to the amplifiers, taking care to solder the wires from the load cells to the amplifiers.
  2. Construct the circuit.
  3. Download the HX711 Library.
  4. Perform the calibration of each load cell, using the instructions from Sparkfun. Record the calibration factor for each load cell to use in the code.

Assemble the Force Balance

  1. Fabricate the hardware components on the laser cutter and using 3D printing.
  2. Attach the top plate and bottom plate to each other using the four corner holes. Check the fit in your wind tunnel before proceeding. If the inner plate is no flush with the surface inside the tunnel, add washers in between the plates.
  3. Attach the base connector to the base plates using the mounting holes near the middle.
  4. Take the bare end of one of the load cells and insert it into the sting connector) with the loading direction facing down (towards the sting). This part is press-fit, so take care during this step. BE CAREFUL, because if you overshoot and delaminate the strain gages, the load cell will no longer function correctly. This is now the lift load cell.
  5. Attach the other end of the lift load cell to the bracket. The load cells have different hole sizes on each side, so you will need to find the end of the bracket that matches. The bracket should be on top of the lift load cell. Take care not to pinch any wires.
  6. Attach the other load cell to the bracket. It is now the drag load cell.
  7. Attach the other end of the drag load cell to the base connector, again being careful not to pull or pinch the fragile wires.
  8. Finally, attach the sting. For storage, you may find it useful to remove the sting when not in use. Otherwise, you can prop it up on some books or make a stand for it.

Collect Data!

  1. Upload Read_2x_load_cell.ino to the Arduino
  2. Establish a serial connection to the Arduino at 57600 baud. You can use Arduino’s built in Serial Monitor. This will allow you to copy and paste the data into a text file to save it. You might also consider using an application such as PuTTY.
  3. Apply a known load and verify that the readings are accurate. If they do not seem accurate, try calibrating the load cells again.

Modification to allow motorized pitch adjustment

If you want to determine the stall angle of an airfoil, it may be useful to a add a motor to enable the pitch angle to be adjusted while a test is running. You will need a few additional components to create the circuit, as well as a modified version of the sting.

Components

Purchase

Lasercut

Circuit diagram

The following circuit diagram shows the new connections that you will need to make in addition to the connections already existing for the load cell circuit.

Usage

You can use Read_2X_load_cell_with_encoder_angles.ino to collect data when you have made this modification. This code that will allow you to collect data from the load cell while incrementally changing the pitch angle.

Troubleshooting

  1. “The code is not working and I am using a Mac”

We have found that Macs tend to have a problem with the HX711 library. We provide a slightly modified version. Replace the following files (generally found in Documents>Arduino> Libraries>HX711_ADC/src) with our versions: HX711_ADC.cpp, HX711_ADC.h, config.h

Acknowledgments

Support for this project has been provided in part by the National Science Foundation (NSF) Grant No. DGE-1845298, by the Pennsylvania Space Grant Consortium, and by the Penn Center for Undergraduate Research and Fellowships. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and and do not necessarily reflect the views of funding source.

CurveQuad: A Centimeter-Scale Origami Quadruped that Leverages Curved Creases to Self-Fold and Crawl with One Motor

Abstract

We present CurveQuad, a miniature curved origami quadruped that is able to self-fold and unfold, crawl, and steer, all using a single actuator. CurveQuad is designed for planar manufacturing, with parts that attach and stack sequentially on a flat body. The design uses 4 curved creases pulled by 2 pairs of tendons from opposite ends of a link on a 270deg servo. It is 8 cm in the longest direction and weighs 10.9 g. Rotating the horn pulls the tendons inwards to induce folding. Continuing to rotate the horn shears the robot, enabling the robot to shuffle forward while turning in either direction. We experimentally validate the robot’s ability to fold, steer, and unfold by changing the magnitude of horn rotation. We also demonstrate basic feedback control by steering towards a light source from a variety of starting positions and orientations, and swarm aggregation by having 4 robots simultaneously steer towards the light. The results demonstrate the potential of using curved crease origami in self-assembling and deployable robots with complex motions such as locomotion.

Publisher source: https://ieeexplore.ieee.org/document/10342339

Paper full text: https://repository.upenn.edu/handle/20.500.14332/58861

Fabrication Files

Laser Cut Files

3D Print Files

Circuit Design Files

Related Publication

CurveQuad: A centimeter-scale origami quadruped that leverages curved creases to self-fold and crawl with one motor

Feshbach, Daniel; Wu, Xuelin; Vasireddy, Satviki; Beardell, Louis; To, Bao; Baryshnikov, Yuliy; Sung, Cynthia

CurveQuad: A centimeter-scale origami quadruped that leverages curved creases to self-fold and crawl with one motor (Conference)

IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2023.

(Abstract | BibTeX | Links: )

BibTeX (Download)

@conference{feshbach2023curvequad,
title = {CurveQuad: A centimeter-scale origami quadruped that leverages curved creases to self-fold and crawl with one motor},
author = {Daniel Feshbach and Xuelin Wu and Satviki Vasireddy and Louis Beardell and Bao To and Yuliy Baryshnikov and Cynthia Sung},
url = {https://www.youtube.com/watch?v=RnSHG5F2Iek&ab_channel=SungRoboticsGroup
https://sung.seas.upenn.edu/publications/curvequad/},
doi = {10.1109/IROS55552.2023.10342339},
year  = {2023},
date = {2023-10-01},
urldate = {2023-10-01},
booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
abstract = {We present CurveQuad, a miniature curved origami quadruped that is able to self-fold and unfold, crawl, and steer, all using a single actuator. CurveQuad is designed for planar manufacturing, with parts that attach and stack sequentially on a flat body. The design uses 4 curved creases pulled by 2 pairs of tendons from opposite ends of a link on a 270deg servo. It is 8 cm in the longest direction and weighs 10.9 g. Rotating the horn pulls the tendons inwards to induce folding. Continuing to rotate the horn shears the robot, enabling the robot to shuffle forward while turning in either direction. We experimentally validate the robot’s ability to fold, steer, and unfold by changing the magnitude of horn rotation. We also demonstrate basic feedback control by steering towards a light source from a variety of starting positions and orientations, and swarm aggregation by having 4 robots simultaneously steer towards the light. The results demonstrate the potential of using curved crease origami in self-assembling and deployable robots with complex motions such as locomotion.},
keywords = {2023, origami, self-folding},
pubstate = {published},
tppubtype = {conference}
}

Acknowledgments

The work was supported in part by the Army Research Office (ARO) under MURI Award #W911NF1810327, by NSF Grant #1845339, by the Johnson & Johnson WiSTEM2D Scholars Program, and by the Office of Naval Research (ONR) Award #N00014-23-1-2068. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of funding source.

Cynthia Sung receives ONR Young Investigator Award

Cynthia Sung received a 2023 ONR Young Investigator Award to work on “Salp-Inspired Reconfigurable Robot Platform for Long-Term Distributed Sensing.” We are so excited to work on this project with program manager Dr. Tom McKenna!

https://www.nre.navy.mil/2023-young-investigators

Related publication:

Zhiyuan Yang, Dongsheng Chen, David J. Levine, Cynthia Sung: Origami-inspired robot that swims via jet propulsion. In: IEEE Robotics and Automation Letters, vol. 6, no. 4, pp. 7145-7152, 2021.

EvoRobogami: Co-designing with Humans in Evolutionary Robotics Experiments

Abstract

We study the effects of injecting human-generated designs into the initial population of an evolutionary robotics experiment, where subsequent generations of robots are optimised via a Genetic Algorithm and MAP-Elites. First, human participants interact via a graphical front-end to explore a directly-parameterised legged robot design space and attempt to produce robots via a combination of intuition and trial-and-error that perform well in a range of environments. Environments are generated whose corresponding high-performance robot designs range from intuitive to complex and hard to grasp. Once the human designs have been collected, their impact on the evolutionary process is assessed by replacing a varying number of designs in the initial population with human designs and subsequently running the evolutionary algorithm. Our results suggest that a balance of random and hand-designed initial solutions provides best performance for the problems considered, and that human designs are most valuable when the problem is intuitive. The influence of human design in an evolutionary algorithm is a highly understudied area, and the insights provided in this paper may be valuable to those in the area of AI-based design more generally.

Data

We provide equivalent data in MATLAB and Python format. The MATLAB data can be coupled with the tools in the code repo to recreate and inspect the plots we presented in the paper, and redo the statistical tests. There are also many other interesting plotting and testing options available in the tool. Follow the instructions in the codebase for more details. The pickle format contains the data and statistics of every experiment in separate dictionaries. Check the readme.md in the package for the available keys and their meanings. The statistical-test-result sheet contains the results of all the statistical results we did. And the models of the environments and robot parts, and the human designs can be found in the meta section.

MATLAB

Pickle

Statistical Test Results

Meta

Publication

EvoRobogami: Co-designing with Humans in Evolutionary Robotics Experiments

Huang, Zonghao; Wu, Quinn; Howard, David; Sung, Cynthia

EvoRobogami: Co-designing with Humans in Evolutionary Robotics Experiments (Conference)

Genetic and Evolutionary Computation Conference (GECCO), 2022.

(Abstract | BibTeX | Links: )

BibTeX (Download)

@conference{huang2022evorobogami,
title = {EvoRobogami: Co-designing with Humans in Evolutionary Robotics Experiments},
author = {Zonghao Huang and Quinn Wu and David Howard and Cynthia Sung},
url = {https://arxiv.org/abs/2205.08086
https://sung.seas.upenn.edu/publications/evorobogami-gecco-2022/},
doi = {10.1145/3512290.3528867},
year  = {2022},
date = {2022-07-09},
urldate = {2022-07-09},
booktitle = {Genetic and Evolutionary Computation Conference (GECCO)},
abstract = {We study the effects of injecting human-generated designs into the initial population of an evolutionary robotics experiment, where subsequent population of robots are optimised via a Genetic Algorithm and MAP-Elites. First, human participants interact via a graphical front-end to explore a directly-parameterised legged robot design space and attempt to produce robots via a combination of intuition and trial-and-error that perform well in a range of environments. Environments are generated whose corresponding high-performance robot designs range from intuitive to complex and hard to grasp. Once the human designs have been collected, their impact on the evolutionary process is assessed by replacing a varying number of designs in the initial population with human designs and subsequently running the evolutionary algorithm. Our results suggest that a balance of random and hand-designed initial solutions provides the best performance for the problems considered, and that human designs are most valuable when the problem is intuitive. The influence of human design in an evolutionary algorithm is a highly understudied area, and the insights in this paper may be valuable to the area of AI-based design more generally. },
keywords = {2022, computational design},
pubstate = {published},
tppubtype = {conference}
}

Acknowledgments

The work was supported in part by the National Science Foundation (NAF) under Grant #1845339. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of funding source.