Skip to main content

Making telescopes that curve and twist

New computational tool automates design of telescoping structures that provide compact storage and rapid deployment. Shown here: a complex telescoping lizard expands to many times its original volume, serving as a stress test of the method. Credit: Chris Yu/Carnegie Mellon University


A new tool for computational design allows users to turn any 3D shape into a collapsible telescoping structure. New mathematical methods developed by researchers at Carnegie Mellon University capture the complex and diverse properties of such structures, which are valuable for a variety of applications in 3D fabrication and robotics—particularly where mechanisms must be compact in size and easily deployable.

The research, "Computational Design of Telescoping Structures," led by Carnegie Mellon Professors Stelian Coros and Keenan Crane and PhD student Christopher Yu, will be presented at the annual SIGGRAPH conference, 30 July to 3 August in Los Angeles. The conference each year spotlights the most innovative in computer graphics research and interactive techniques worldwide.

Traditional telescopes are perfectly straight, and their ability to expand from a compact form into a much bigger structure has been widely exploited in engineering . So far, however, there hasn't been a systematic study of the types of shapes that can be modeled by telescoping structures, nor practical tools for telescopic design. At a recent maker faire, the researchers came across a set of retractable toy claws, fashioned after the popular X-Men character, Wolverine. Inspired by the claws' curved , they began to explore the idea of automating the design of telescoping structures, exploring a wide variety of shapes that could come out of a basic telescope model.

Far beyond the example of a typical straight telescope used for star gazing, other collapsible, deployable structures can benefit from a curved or twisted telescoping design: camping equipment such as tents or large outdoor structures used for music festivals; a heart stent that is tiny at the point of insertion but expands once it is surgically placed; or a robotic arm that can retract itself into a cylinder shape the size of a Coke can, enabling user portability and versatility.
"Among deploy able mechanisms, telescopes are very interesting. Once you expand them, they are very flexible and you can make a lot of different shapes, all with the same telescope," notes Crane, coauthor and Assistant Professor of Computer Science and Robotics at Carnegie Mellon. "We wanted to know what are all the possible shapes you can make from a telescoping structure."
The team's mathematical model of telescoping structures starts with three common-sense requirements: each shell must be manufacturer from rigid material (like metal), the telescope must be able to extend and contract without bumping into itself, and there should be no empty wasted space between nested pieces. These basic requirements led to a key geometric insight: the complicated mechanical description of a  can be replaced by simple geometric curves that exhibit a constant amount of bend but arbitrary "twist," significantly generalizing the straight telescopes found in typical engineering designs. The team successfully prototyped applications in 3D fabrication and robotics, using their novel system to design both a flexible, controllable robot arm, and a tent-like  that grows to several times its original volume.



Comments

Popular posts from this blog

Woot, 2.4.0 is out! : vue.js

FeaturesFull SSR + async component support in core: SSR now supports rendering async components used anywhere and the client also supports async components during the hydration phase. This means async components / code-splitting now just works during SSR and is no longer limited at the route level. (9cf6646 & 7404091) Easier creation of wrapper components: (6118759) New component option: inheritAttrs. Turns off the default behavior where
parent scope non-prop bindings are automatically inherited on component root
as attributes. New instance properties: $attrs & $listeners. $attrs contains the parent-scope attribute bindings that were not recognized as props, and $listeners contains the v-on listeners registered in the parent scope (without the .native modifier). These are essentially aliases of $vnode.data.attrs and $vnode.data.on, but are reactive. Combining these allows us to simplify a component like this down into this: <div> <inputv-bind="$attrs"v-on=&qu…

PHP 7.2: Add Extension By Name

There is a good list of things that are being deprecated, and a change to allow for type widening, but compared to PHP 7.0 and PHP 7.2, PHP 7.2 is positively a yawner. This makes writing articles about the new hotness coming down the pipe a bit difficult. Even so, there are a couple of things that are worth noting in PHP 7.2 One of them is “PHP RFC: Allow loading extensions by name”.

The way PHP handles loading extensions is absolutely fine, if you are a Linux system admin. Honestly, there was a time when most of us who managed PHP on a server where. The extension= lines in a php.ini require that you know the exact name of the extension. That name is different on Windows severs than on Linux servers. Even though the majority of PHP deployments are still on some variant of Unix, not all are.

So, to resolve this issue for the sake of the sanity of DevOps teams everywhere, PHP 7.2 will allow extensions to be loaded by name in addition to file name. So now, all of these will be acceptable: …

Get start with Vue.js

Getting Started The official guide assumes intermediate level knowledge of HTML, CSS, and JavaScript. If you are totally new to frontend development, it might not be the best idea to jump right into a framework as your first step - grasp the basics then come back! Prior experience with other frameworks helps, but is not required. The easiest way to try out Vue.js is using theJSFiddle Hello World example. Feel free to open it in another tab and follow along as we go through some basic examples. Or, you can simplycreate anindex.htmlfileand include Vue with: <scriptsrc="https://unpkg.com/vue"></script> TheInstallationpage provides more options of installing Vue. Note that wedo notrecommend beginners to start withvue-cli, especially if you are not yet familiar with Node.js-based build tools. Declarative Rendering At the core of Vue.js is a system that enables us to declaratively render data to the DOM using straightforward template syntax: <divid="app"> …