I have been working with bicycle parts since I was around eight or nine years old. It all started when my younger brother and our childhood neighbors and friends would come over to get their bicycles repaired. I started by working on my own bikes and eventually started working on everyone else’s.
I highly recommend working with bicycle parts. First of all there is a stringent standard that is fairly universal in bicycle design and manufacturing that makes finding compatible parts really easy. Secondly, just about every city or town has a bicycle junkyard somewhere in it, and there you will find a treasure trove of cheap used parts. Thirdly, bicycle parts span across several key areas of machine building including structural components (metallic parts), mechanical components (chains and gears), and other kinetic components (like bearings and cables).
Making a robot from bicycle parts is really not that difficult, and I highly recommend it. It is cost effective and quite easy. Of course gaining access to the right kind of metal shop is not always that easy. If you really want to take advantage of used bicycle parts, you need the right tools for working with metal. Fortunately, I had the pleasure of a Concordia University Fine Art Graduate Program and Hexagram Institute membership and access to one of the most advances art and design metal shops in any North American University. When shopping around for a metal shop, you want to make sure it has as many of the following tools as possible:
- sandblaster (to clean of the old grease and paint)
- belt, wheel, hand-held and pipe notching grinders (like sanders)
- benders (this can be a manually or sometimes machine assisted bending tools for perfect curves)
- welders (I prefer TIG welders because they are reliable, fast and easy to use)
- drill press (most shops will have one of these)
- power and manual saws (like hacksaws and band saws)
- an anvil and a good set of heavy hammers and punches
- milling machines, plate-press cutters, hole punchers and tin-forming stations are a bonus
Making Note: Don’t worry if you have no experience working with these tools or with metal in general. If you have access to the right advice and tech support, you can usually learn how to work with metal quite intuitively. Just trust your hands and make sure you know all the safety tips. It can be intimidating at first but it is well worth the effort.
Working with recycled bicycle parts can have some limitations and that is why it is important to become comfortable with hacking up metal. It becomes necessary to adapt and retrofit other metal parts to the bicycle parts that will allow for kinetic movements and special mechanical functions. Two examples I can share from the Art-Bot project are the use of rod-eye-ends more commonly seen in car parts (Figure 1) and the use of electric actuators that are used for aligning things like old satellite dishes (Figure 2). The rod-eye-end rings were used to give the actuators a flexible pivot point at each end of mechanical actuation.
An Arcade Game Robotic Arm Controller
Making controllers for any kind of robot can be difficult. I like to keep things as simple as possible and I believe that in simplistic designs, truly complex systems are at play. In fact, the more reduced a design is, that still performs the essential required functions, the more mature it is. In my view, there are two ways of controlling a robot.
One way is to employ a computer to do all of the controlling for you. If you do this, you will likely end up building a CNC machine or a laser cutter or even home-made 3D printer. The problem with using computers to control a robot is that it is highly complicated. First of all, computers are good at Euclidean geometrical spatial notions – Euclid, being the Greek mathematician of ancient times who is accredited with being the father to geometry. Mathematical geometry is useful for moving things in X, Y and Z planes, or for turning things like the axis of a CNC lathe. However, the complex dynamic material forces that can be encountered by machines when they are making things out of unpredictable materials can hardly be calculated easily. So basically, using computers to control your robot will result in a complex system of geometrical mathematics that will not account for the dynamic complexities of the robotic interactions with the space and materials around it.
Another way of controlling machines is simply by building an interface that allows for the human manipulation of the machine and then get a user to ‘manually’ control the robot. A good real world example of this would be with construction machines like cranes or farm tractors. Even power tools could be seen as mechanical devices meant for material forming that interface with the human body in an analogue interface. In fact power tools are probably the easiest robots to use. Now, I know that I am pushing the definition of a robot in that we expect robotics to automatically carry our complex tasks controlled by a computer – but feel a jump in thought will be required to even classify Art-Bot as a robot. The Art-Bot robot is somewhat similar to the robotics that put together cars and can even be compared to prototyping machines – basically mechanical implements (robots) that make things. However, instead of thinking of space in terms of Euclidean calculation, that would have limited my design to an X Y format – I was able to build in three universal joints, all connected in series, giving me a very happy range of movement that did not require complex computational calculations because I then gave the controls to human users.
I prefer robotics that interface with human users, via some form of ergonomic and cybernetic interface. In this way, the dynamically adaptive human perception can be partnered up with the powerful robotic tools to get the best of both the human and machine worlds. There are two types of controllers that I initially designed for Art-Bot that require a human controller. The first design involved using a miniature replica of robotic arm that would have the same articulation and degrees of freedom as the main large powerful robotic arm (Figure 3). Eventually I will be building the first design but for now I have put together another similar concept using an arcade game controller (Figure 4). Putting the controls in the hands of the user did several things. First of all it made it really easy to setup the control interface and secondly, it made the robot exciting and interactive. I was able to reduce the complexity of the computer controls by simplifying things and giving power to the user to work with the robot live.
The arcade game controls were placed outside of a polycarbonate protected acoustic deflection encasement that protect the users from the raging chainsaw, its subsequent loud noises as well as flying wood debris (Figure 5). The control panel is split up into three sections. Section one has the left hand controls that are composed of four buttons (Figure 6). The large red button turns the chain saw on and off, the red, yellow and green arcade game buttons select one of the three universal joints in the arm and the black arcade game button under the thumb selects the rotation tool for spinning the chainsaw. When one of the left hand buttons is selected, the right hand controller is used to provide movement via a track-ball ‘mouse like’ PS2 controller (Figure 7). For example, selecting black and scrolling and moving the ball makes the chainsaw rotate. Selecting green and scrolling the ball down makes one of the universal joints move in one direction and scrolling the ball to the left or right moves the joint in the other universal direction.
The controller panel is connected to a force feedback system that reacts to the forces being felt by the robotic arm and sends mechanical ‘kick back’ (known in the industry as feedback) to the control panel. The physical feedback works by directly connecting the control panel to the arm via a hanging mechanical apparatus (Figure 8). The controls can also actuate up and down using two additional buttons located on the top right hand side of the control panel (Figure 9). The control panel can even be swiveled around the entire encasement via castor wheels that are installed under the suspension mechanism (Figure 10).
Kids Bike Destruction for Robotic Arm Parts
Apart from the playful title, there is actually a message I’m trying to get across in using kids bikes. Recycled, reused or repurposed children’s bicycles are very useful sources for robotic mechanical components. First of all children’s bikes are almost always built with the same metal tubing and baring parts as adult bikes. This means that these little bikes are built way stronger than they need to be and usually last a long while as a result.
In this particular case, I used the kid’s bike for all kinds of parts. I broke down the rigid steel frame and head-set bearings, together with the front forks, to use as a swivel point for the arcade game controller suspension system (previously mentioned). I also used the gear system and chain to build a tool rotation assembly that allowed for the spinning of the chainsaw (Figure 11). I combined the gears and chain with a BMW Bosch windshield-wiper motor that I got off Craig’s List.
Bicycle gears make for great mechanical systems but keep in mind that a bike chain has to be kept tight and the only really reliable way I have found to do this is by using a bicycle derailer. For all of you non-gearheads – a derailer is that thing that keeps your chain in place on the back of your bike (Figure 12). Of course I did not get the derailer form the kid’s bike. More advanced mechanical components that are used on bikes with multiple gears are rarely found on kinds bikes because kids bikes usually only have one gear.
Protective Polycarbonate Robot Acoustic Deflection Encasement
One of the most important elements of designing anything that will involve human interaction, especially when children could be involved, is safety. We builders have a certain responsibility to our audience and users. When people interact and use or contraptions, a certain trust is placed in our hands to provide an interaction that will not harm anyone. When devising a plan to build a robotic chain saw tool, the first and most obvious question that was asked was about safety. In general, industrial robotics that operate tools or manufacture things must follow a certain code of security. The standards are set by groups like the International Federation of Robotics. In most cases humans are not even allowed within the operable reach of the robotic arm and any degree of freedom that could even possibly come into contact with people requires steel cage protection. In my case, I am only really building a prototype, but in all fairness it was used by many children. I needed to use materials and techniques that would keep the children safe.
The first thing I did was obtain the highest grade industrial strength polycarbonate sheets. Polycarbonate is used to make things like safety goggles and shatter resistant barriers but it should be kept in mind that there is no such thing as truly ‘bullet-proof’ polycarbonate or glass. With enough force, eventually any transparent and translucent barrier will fail. My goal was to setup a resistive barrier that could easily stop flying debris that certainly comes off of the wood logs being mangled by the chainsaw. The next goal was to provide for a barrier that when pushed, punched and or generally forced outward, it will not shatter and would hold up to a large impactful force.
I built the polycarbonate chamber as a rounded pill-shaped dome in order to contain the robot and to contain sounds in an acoustically deflective chamber. The rounded form gave additional physical strength and support to the polycarbonate sheet by adding a dimensionality from the bending of the sheets (Figure 12). The polycarbonate was fixed to and supported by high tensile bent steel ‘angle-iron’. The combination of steel reinforced polycarbonate domes and a series of safety sensors, that I will cover a bit later on, made using Art-Bot very safe.
Making a Robotic Arm with a Sawzall-Axe Combo Turned Chainsaw
One of the hardest things to decide when building a robotically assisted sculpture making robot, is what tool to put on it. I entertained the ideas of working with tools like drills, electric chisels, picks, torches and saws. In the end, I thought it would be a good idea to try to combine a sawzall saw with an axe to get a kind of hyperactive axe tool thing (Figure 14). When testing the tool it was discovered that the mechanical kickback that is produced from the powerful pounding axe, forces the entire arm out of alignment and pushed the whole tool off of the material to such a degree that made the whole things dysfunctional. Basically, the tool was too bad-ass for the arm.
After some iterative design work, I decided to go with a chainsaw instead (Figure 15). Using a chainsaw gave two main benefits. Firstly, the tool was more manageable than the oscillating axe thing, and secondly, the chainsaw produces a steadily resonating frequency that enhances the material feedback features I will cover a bit later on.
I am planning a future version of Art-bot that incorporates industrial robotics and will allow for industrial strength robotic arms to select tools from a preset kind of ‘tool-kit’. The tool kits will be focused on working with stone, ice and wood and will contain all kinds of nifty ‘hot-swappable’ tools. For example, the ice sculpting kit will have a touch, heat gun, dynamic chisel, hammer, scrapers, water guns and an ultrasonic crack former. These tools will be interchangeable and can allow the user to change up tools while working to afford a greater degree of sculptural freedom and it will reduce the time it currently takes to change out the tools.
Impact Force Touch Sensor Hack
In order to prevent the Art-Bot robotic chainsaw from tearing through the protective encasement and structure, I needed an impact sensor. Impact sensors have a wide variety of applications from elevator automatic doors to security system design and there is a wide range of sensors available. One can acquire everything from photosensitive resistors to laser sensors and for each technology comes a price tag. Something that is not commonly known is that I actually only had two months to make Art-Bot because it was a part of a larger robotic-art exhibition that was shown at the Maison des arts de Laval in December of 2013. When working with a tight time constraint many options become less plausible. I had to come up with a solution for impact detection that would be reliable, cheap and fast to construct. At first I tried to use force sensitive resistors to fabricate a kind of pressure switch that would trigger when the arm came into contact with the wall. However, this proved somewhat costly and was also less sensitive than a more direct on/off contact switch.
Eventually I discovered that you can make a force-impact sensor by just appropriating a normal metal spring door stopper (Figure 16). I connected the doorstops to PVC strips and I used a heat gun to shape the strips into a kind of impact matrix (Figure 17). On every side of the robotic arm with potential impact zones (namely the joints and tool ends) I installed a small array of these sensors. When the springs are bent, they come into contact with a bent piece of metal that make a very simple switch. The signal is taken in by an Arduino microcontroller that I talk about later on. When the impact sensor-switches are bent and effectively turned on, they trigger the robotic arm to move in the opposite direction. Since the Pololu motor controller (I will cover later on) automatically defaults to off, when both directions are simultaneously triggered – this door stopper – stops the arm in place when it was triggered.
Universal Joint for Chainsaw Robot
Mechanical dynamics is one of the most complex design problems faced by roboticists. The question is; how do you build something mechanical that can move in such a way as to provide a large degree of mechanical freedom? The answer needs to fit within the physically possible, and, in our generation, it also needs to fit within a certain Euclidean philosophy that I cover earlier on. Usually this means that robotics designers or builders will work with a kind of X and Y kinetic movement mentality. So there will be a joint that rotates on an axis, and this is known as providing a single degree of freedom, and it may be combined with another degree of freedom from a joint that can rotate in some other direction. This concept is not actually that simple in that a degree or axis of motion can be controlled along a long belt, as is the case in CNC machines like laser cutters and 3D printers. An axis or degree of motion can also be accomplished with simple rotations as might be seen in a lathe milling machine.
What I always want to accomplish with my own robotics projects is the maximum degree of freedom. After some considerable research, and to the best of my understanding, I learned that the mechanical joint with the most degree of freedom is the universal joint. I also learned that for some reason, this joint is not commonly used in robotics design. I attribute this to a lack of ingenuity and conformity to controls based on a somewhat dated Euclidean reality and computational and sensor technology restrictions, but that is really the topic of a paper on to itself. The point I want to make here is that by demanding more freedom of movement in my robot, and working within the mechanically possible, and even using recycled bicycles parts, I managed to introduce a DIY joint with a great deal of flexibility (Figure 18). The robot has three universal joints in all and a rotating tool that make it more of an artificially hyper-organic organism than a classically designed robotic arm (Figure 19).
I built each joint by using ‘floating’ and ‘fixed points’ that allowed the actuators to be dynamically supported by each subsequently connected limb. This is a bit hard to explain so please bear with my somewhat cryptic description until the end and hopefully it will make more sense. In order for an electric actuator to bend a joint, it needs two fixed points. If you want only one part of the apparatus to move, then the other part has to be fixed in to something. So, if you move the actuator it will only push or pull the ‘floating’ part that is not fixed to some solid structure. These points are then pushed or pulled apart by the actuators to provide for movements in the joint. A universal joint presents the problem of having to push and pull two interlocking joints that have floating fixed points. This means that there has to be four fixed points that somehow interact with only one (universal) joint. In order to make this possible, I used the robotic limbs themselves as the fixed points. The limb becomes the fixed point and the joint becomes the floating point by nature of the naturally occurring mechanical relationship of a universal joint. So when the actuator moves, it only moves the joint, because the limb is relatively fixed in space. Using this logic is multiplied by three; I was able to produce this ‘snake-like’ arm with N degrees of freedom, only limited by the inaction of the fixed limb portions.
Arduino Robotics Actuator Motor Controller
Robotic controls are one of the most widely studied elements of robotic design. The problem with robotics control is that it is usually done using a computer, and this means operating within the restrictions presented by a binary numerically controlled format. While this may seem unlimited to the mathematician, to the computer scientist, many problems of digitally mediated logic present themselves. Without getting to far into the contemporary problem, I want to simply state that I have done my best to introduce a new kind of robotic thinking based on a more organic ‘analogue’ control model.
To better understand what I mean, I offer the analogy of the electric guitar. There is a well-known problem in the electronic music community having to do with the divide between the so-called ‘analogue’ and ‘digital’ music output. When we have an ‘analogue’ sound output we are basically looking at sound that has not been digitally recorded and altered or outputted. In other words, the sound can pass through all kinds of electronic components that amplify, distort, and even mix multiple sounds, but in all cases, the signal is never transcoded or digitized. To digitize something is to translate it from some sort of signal, into a digital record of binary data. This completely distorts the signal in that is has to conform to the problems of digitization including, but not limited to, resolution (bit rate) and compression problems. The question becomes, how do you record and store ‘analogue’ information. Well one way is to use other physical forms such as audio tapes or the infamous vinyl record.
I have not yet had the problem of recording information as in my case the Art-Bot prototype is a proof of concept and it does not have the features of record and playback – although I am planning to build these feature in the future. For now, I am only concerned that the control interface intuitively functions with our human sensor-motor system and allows for full control of the robot based on human motion. This involves a feedback interface that I describe a bit later on. For now, what I want to emphasize is that; by using human control, I escape having to think about the robot in terms of computer automation and the complex calculations that would follow. Controlling a couple of stepper motors that move a belt back and forth to get a fixed point on a CNC table is relatively easy. The problem of controlling a multiple-universal relatively dynamic joint system, in space, is not that easily resolved. Art-Bot is not designed for mechanical automation – something that robotics has been pigeon holed into for decades – it is designed for human interaction. The complexity, dynamism and flexibility that this can bring to robotics are literally awesome. It is the difference between building a conveyor belt and a making a cyborg.
The electronics used in this project are fairly simple and instead of getting into the technical details I will offer up the resources so you can go find things on the internet, if you want to attempt something like this for your own projects. I used an Arduino mega as the main controller and if you have never heard of Arduino I highly recommend looking it up. In order to keep track of how I wire things together, I typically use stickers and labels (Figure 20). I do this because I design things to be disassembled and reassembled. This means keeping track of what pugs into what and preventing redevelopment every time I set up an art installation. I used the higher end Pololu motor controllers (Figure 21) so that I could output a lot of amperage and keep up with the twelve (15 amp max each) electric motors that made all the actuator movement possible. I eventually had to outfit the controllers with heat sinks and fans as they do get wicked hot – something to watch out for. I was not really worried about burning out the motor controllers as much as starting a fire. Something else to note is that I use a BMW Bsoch windshield wiper motor and it give a lot of torque but it is very power consumptive. Keep in mind that even though a car battery will output 12 Volts of power when the car is off, the electrical system of a car actually usually runs at 13.8 Volts when powered up. I needed to get a special power supply for this and so I used the Pyramid 13.8 Volt source especially designed for the high amperage components found in cars (Figure 22). I also used an independent grouping of stand-alone power supplies that supplied the controllers and components with power ranging from 3 Volts to 12 Volts. If I offer any bits of advice on power supplies, I would say, just make sure that the amperage rating is high enough for what your components require. Generally I keep a good 10% margin of error and I buy power supplies that exceed my requirements, so that when I spike the power I do not ware out the components. When working with any kind of electric motor, it is very important to realize that when they are stressed out they require tremendously higher power consumption.
Haptic Tactile Sculpting Robotic Feedback Controller
Art-Bot is a prototype that functions to prove a concept that I have been working on for some time. The basis for this prototype is to demonstrate that we can connect and merge human sculptors with robotic machines by providing a haptic (hand feeling) sensation of the tool to the user. In other words, I wanted to allow for users to use robots to make things, but at the same time I wanted to allow for the human user to keep the sense of touch intact. Art-Bot seeks to expand the powers of a traditional sculptor with robotic enhancements but at the same time the goal is to maintain the tactile tool and material interactions of traditional had-crafts.
In order to capture and communicate the sense of touch, I used a novel vibrotactile (vibration touch) approach. I placed a high-fidelity audio recording microphone at the tool end to capture the sounds being made by the chainsaw tool as it chopped and grinded wood. Then I transmitted the sounds to a vibration speaker that I installed under the users hand (as described in the arcade game controls section) (Figure 23). A vibration speaker is a speaker that you can attach to any hard surface and it will resonate to produce a full range of sounds. A vibration speaker produces very high resolution vibrations sounding just like a normal speaker would in tone, pitch and amplitude. In contrast, your cellphone likely has a vibrotactile motor in it but it is a monotone frequency and usually only results in one kind of vibration ‘feeling’. If we pulse width modulate your phones vibration motor, we could produce a perception of undulating of fluctuating frequencies and even fake a kind of pseudo-amplitude, but that would not affect tone, pitch or timbre. In any case, advanced piezoelectric vibration speakers produces more than a simple vibration motor can.
Art-Bot produces a surprisingly accurate tool and material sensation transmission from the advanced vibrotactile speaker. However, it was not enough to get the kind of immersive material engagement I was looking for. So, I combined the vibration sensations with a force feedback mechanical apparatus. The control panel is forced up or down depending on the mechanical ‘kick-back’ that the robot gives (as described in the arcade game controller section).