-
System Diagram
08/20/2014 at 05:30 • 0 commentsAs per requirement, here is the system diagram for the Emergence 'bots. This does actually help explain how we expect our swarm to work. Each 'bot is an individual in and of itself, but letting them communicate with each other via infrared signals increases their adaptation and cooperation abilities exponentially. Will it lead to social behavior? We shall see...
-
The 2 Minute Video
08/18/2014 at 00:46 • 0 comments -
News From the Front...
08/11/2014 at 01:30 • 0 commentsIt wasn't our intention to update our project logs every Sunday, but it sure has worked out that way, hasn't it? Here's this week's news...
We didn't get as much work done on the actual 'bots as we would have liked to. But, requirements are requirements, and Greg had to take a couple evenings to work on the required 2 minute video. Watching him try to puzzle out video editing software was entertainment in and of itself.
However, progress was made. We were able to ascertain that the light sensors do work, and seem to be able to work together. Greg and Justin spent an evening hacking apart and recompiling code that is normally used for line following robots, and adapting it to our purposes. There seems to be more than a few bugs to work out, but when let loose on the floor Johnny will turn towards a flashlight shined in his direction.
As for Frankie's teardown and reassembly, it seems to be progressing well, but it has forced our hand a bit. After soldering and squinting at a piece of perfboard for a few hours, Greg finally came up for air and declared, "If you think I'm doing this $#!& another dozen times, you're %@&>!<# insane..." So, it looks like we're going to be moving to a printed circuit board in the very near future, if only to make all the connections easier. Once we make Frankie jump through a few hoops to make sure the new board works the way it should, we'll likely start laying it out in EagleCAD and decide if we should use one of our CNC routers to cut new boards, of just have them farmed out to be printed.
In any event, bumping into new problems at least means that you're moving forward, right?
-
You Better Watch Out...
08/04/2014 at 01:54 • 0 commentsHA!!! Finally we get to use the line!
The long awaited light sensing upgrade has been installed! It consists of 6 sensors mounted in pairs in an arc across the front of the 'bot. The three on the top (the ones with the squiggly lines on them) are cadmium sulfur photocells. These are what the 'bots will use to spot promising light sources when they feel the need to recharge themselves via their solar cells. The lower tier sensors are analog infrared detectors. These allow the 'bots to signal and find each other at night. Our bench tests indicate that the two will work when wired in parallel with each other. When there's ample light, the photocells effectively wash out the IR sensors meager signal. However, in the absence of most visible light, the IR detection works it's way through. So, the photocells work during the day, and the IR sensors take over at night. The 'bot doesn't need seperate day/night programming. It just heads for the brightest signal it's sensors can pick out according to the conditions around it. It heads toward bright light during the day to recharge itself, and at night the brightest object in the room will be it's hivemates signaling from whatever watering hole it may have found. Well, that's the theory anyhow. It remains to be seen if we can pull it off...
So, it's going to be a very eventful and exciting week for the 'bots. Johnny seems to be running more consistant than his brother, so he's going to get the software updates first. We'll run a few simple light sensing scripts with him over the next couple days to make sure the hardware works, then he'll be handed over to the programming team so they can work their magic. In the meantime, Frankie will be torn down. His erratic behavior has been a constant headache. But, don't feel bad for him. The most likely cause for his consistant misbehavior is the fact that we've got numerous components and sensors plugged into a temporary breadboard and it's just way too chaotic. So, we're going to commit and start using solder and epoxy instead of hot glue and prayer. As he's being rebuilt, we'll be taking measurements and working on the files that will be used for the final production 'bots. Frankie will become the production prototype. Hopefully we can have him back up and running by the time the programming team has Johnny's code polished. Then we can update Frankie and see if we've worked the inconsistancy out. We'll be taking pictures of each and every step during his reassembly in case you want to play along at home. However, I caution you that we're more than likely going to make mistakes along the way, so if you decide to build your own, you might want to lag a week or two behind...
-
A Quick Update...
07/28/2014 at 03:17 • 0 commentsJust a quick update on this week's progress. Johnny and Frankie are both doing quite well now, although some other minor projects around the hackerspace took up some of Greg's time, and the rest of the team was in Detroit for Maker Fair. Still, Johnny had his edge sensor retrofit and now looks just like his brother. The new configuration seems to be working well, and we think this may be close to the final form that the 'bots will take.
Work on the long delayed optical sensors has actually begun. The acrylic was cut to size, and formed into shape after a quick session in the kitchen's toaster oven (No, Arturo, we didn't leave any toxic byproducts in the oven. We're fairly sure, anyway...). The holes for the light and IR sensors can now be drilled and the wiring run to the Ardweeny controller in the coming week. We'll be posting pics when our 'bots have their eyes. After all, they deserve to see them first, when they finally can.
-
This is More Like It...
07/21/2014 at 03:26 • 0 commentsWelcome to the PS1 Robot Repair Shop! Want us to check your oil while we're here?
As stated in our previous post, we decided to take a step back with the 'bots. You can see Frankie up on blocks as we tried to decern what was causing the erratic behavior, as well as Johnny's new (and as yet disembodied) nervous system. We're still not sure what was causing Frankie's freakouts. We repaired a couple spots that might have been shorting, and we disconnected the new edge sensors to take that variable out of the equation as well. Whatever the problem was, it disappeared.
To find out what was wrong with Johnny, we literally stripped him bare. This ad hoc autopsy revealed that some complete moron who shall remain nameless (Greg. It was Greg.) managed to get hot glue into the breadboard and it was keeping the motor controller from getting power. Once all the components had been transplanted to a new board everything fired right up.
Now that we were back up and running it was time to turn our attention back to our original problem: reliable edge detection. We were pondering if we might be able to make the new sensors work, or if we would have to resort to a more expensive option. However, there was a third possibility to try first. It occurred to us that we weren't really thinking like hackers. Instead of trying to find sensors that fit the bill, why not try to make the original contact sensors (the cheap and simple ones) capable of doing the job? We decided to give it a shot.
We mounted the switches in their original positions, and cut a new piece of acrylic for the new design. The feelers now move through a slot in the bottom piece, which limits their movement to the up and down axis only. Also, the new 'buttons' mounted on each feeler rest flush against the bottom piece when they're in their normal position, which reduces the tendency for the feelers to twist while the 'bot is turning. Our testing has been a bit limited, but it seems to at least be a proof of concept, if not a flat-out solution.
So, it seems we're kind of back on track. Next up will be to tweak the design, and make Johnny a set of his own so we can test further. The future isn't completely bright yet, but it's a lot lighter than it was last week...
-
You Better Not Pout...
07/15/2014 at 02:41 • 0 commentsWe were hoping to be able to title this log entry 'You Better Watch Out!' and publish the details of us installing and troubleshooting the IR and visable light sensors on the 'bots. Unfortunately, we forgot to inform them of our schedule. Both Frankie and Johnny have been reluctant if not downright rebellious this past weekend, and our progress came to a screeching halt. However, when we decided to enter the Emergence Project into consideration for the Hackaday Prize, we made the promise that we would keep updating through thick or thin. It's been a thin week. But, we're not even close to throwing in the towel yet!
The 'bots were going to diverge a bit from each other this week. The plan was that after we figured out the edge sensor problems, we would install the light sensing systems on Frankie. After we made certain they were working to expectations, Frankie would be handed over to the programming team, who would start on the laborious process of scripting the code. In the meantime, Greg would take Johnny, and start work on the power system, as he managed to find solar cells and auxillary batteries that might suit our needs. This was the reason we built two prototypes to begin with. One team could work with one 'bot while another worked on the second. We'd manage to get two things done in the same time frame, without stepping on each other's toes. The 'bots had other ideas...
We tried to make Frankie a bit leaner and meaner. We disposed of one of the front levels, and at the same time were able to use shorter screws to fasten the remaining two together to reduce the weight. It worked out pretty well, and it's likely that the final 'bots will have some version of this configuration. This was the one positive move for the week. We also moved the wheels back a bit, to try to put as much distance between them and the front of the 'bot to see if we could get an extra moment for the edge detectors to react. It didn't. More disturbing than the rest of the problems, though, was the return of erratic behavior. We couldn't see if it was happening with both 'bots, because by now Johnny had decided to quit working altogether. We tried to rewire him with shorter jumper wires in preparation for getting solar cells stuck on his back, as the previous wiring would have gotten in the way. Unfortunately, it seems our Fearless Leader managed at some point to connect A to C instead of to B somewhere along the line, and now it refused to move at all.
So, it seems that the first step forward from this point will be to take a step backwards. We're going to strip both 'bots down to the breadboards, pull out the schematics, and start from Step 1. We're fairly certain that we must have something crosswired somewhere on Johnny, and once we get him up and running we can see if we can replicate Frankie's unpredictability. With a bit of luck, maybe the next entry will indeed start 'You Better Watch Out!'
-
You Better Not Cry...
07/10/2014 at 04:06 • 0 commentsI find it facinating how a couple little robots can cause fully grown men to grind their teeth and express their dismay with unmentionable (albeit colorful) high volume outbursts. However, as the saying goes, "If it were easy everyone would do it." We're trying to keep this in mind, chanting it like a mantra while trying to talk ourselves out of booting the disobedient little suckers across the workshop...
First, we got some good news: the new edge sensors arrived. They seem like they'll work quite well for our application. They're small, light, and we can't see them drawing a whole lot of current. As an added surprise, after reading the data sheet, we discovered that they output either in 'low' or 'high' states just like the old sensors. We didn't have to change the code at all! Whoopee!!!
As for the rest of the evening however...
We decided that between the soon to be installed optical elements and the edge and obstacle sensors, there wasn't enough room to fit everything in up front. So, we went with a multitiered front, with each element getting it's own section. The obstacle sensors were moved to the top. By putting them on the highest spot of the 'bot, it should take care of their tendency to wedge themselves under things. We had already tried to mount the edge sensors under the main deck like we did with the previous edge sensors, but it might have been at the outside of their range. We had a little trouble getting a solid lock with them up high, so we decided to put them down on a lower tier. Unfortunately, the added weight of the extra acrylic, screws, standoffs and sensors made Frankie extremely nose-heavy. It wasn't falling over by any means, but it was leaning enough forward that it was taking weight off the back, and the wheels were having problems getting traction. The new sensors were also slower to respond than the old ones, for a couple of reasons. The old sensors had feelers that extended a good distance in front of the 'bot, and it didn't take any processing time or power to go 'click'. The new ones only measure straight down from where they are, with a split second of lag. We discovered this when we mounted them in the old spot, and tried to compensate for it by moving them forward, but it wasn't enough. All this contributes to the 'bot being just a split second too slow, and throwing itself into reverse just as it goes over the edge.
We might be a little melodramatic when it comes to our frustration. After mulling it over for a day, we'll agree that all these problems have solutions, even if they entail ripping the 'bots apart and moving things around. It's not the end of the world. But man, how annoying...
-
To the Edge... and Beyond
07/07/2014 at 02:32 • 0 commentsWe've been putting Frankie and Johnny through their paces, and a disturbing trend developed. It seemed both of our prototype 'bots forgot the 'How Not to Fall Off a Table' lessons. They still ran fine on the floor, but they started to ignore edges with a disturbing and ever increasing frequency. They also became somewhat erratic again, but it didn't seem like the previous issues we had. A close machanical exam of the 'bots showed us what was wrong...
We designed the Emergence robots along the 'simple is better' philosophy of BEAM style robots. We decided that simple microswitches with feelers would suffice for obstacle avoidance, with the added benefit of switches being much cheaper than IR or ultrasonic options. As it turns out, the switches are very reliable for what they're designed for (they're rated for a lifetime of over 100K clicks). However, as edge sensors they were put to a good deal of lateral stress, which they weren't designed to do. While turning right or left, even the fairly weak resistance of tables and wooden floors caused the metal tabs the feelers were attached to bend slightly. A tendency to jam them forklift-like under boxes and other obstacles made matters worse. You can see from the picture in the previous post that it was already starting to get off kilter the first night. Eventually, the tab would bend to the point that it didn't make contact (and dive off the edge) or not reset, so the 'bots always thought there was an edge (explaining the constant attempts to back up or turn). This was extremely frustrating. IR rangefinders cost about 6 times as much as the switches, and ultrasonic options were about 15 times as much. A few extra dollars is no big thing if you're building one robot, but for 15-20 robots? This would have completely blown our budget. IR reflectance sensors were in the same price range as the switches, but we rejected that option in the design phase due to them overreacting to dull or dark spots on the floor instead of actual obstacles.
But, we may have found a way to get back on track. We found some IR proximity detectors that might work. They're like the IR rangefinders that some robots use, except a little dumber. They can't give you an exact distance, but they can tell you if there's an object 2-10cm from it. This should work for our purposes. At $6 each they're obviously more expensive, but not prohibitively so. Also, preliminary investigations have shown we might be able to shave a few bucks off the money allotted to the solar cells and auxillary battery. We haven't broken the bank yet, but it's starting to get tight...
-
Double the Robots, Double the Problems
07/03/2014 at 02:23 • 0 commentsWe hit a small snag at this point. The good news was that Johnny's twin brother Frankie (looking quite sporty in red) had been finished. The bad news was that now both 'bots were displaying the same lack of control, and it wasn't the software. Jenny, Justin, and Derek worked miracles with the code, replacing the slow and clunky script the 'bots were originally programmed with, in favor of something much more refined and streamlined. Unfortunately, it didn't solve the problem, and now we had twice the number of malfunctioning robots. Double and triple checking the code provided no clues, and neither did checking all the electrical connections over and over again. If we couldn't get past these baby steps we were in real trouble. As we had them sitting on one of the worktables poking them for the thousandth time and muttering to ourselves, one of our fellow hackerspace members poked his head in to see what we were so upset about. After glancing at the circuit board for about two seconds he asked, "How are you regulating the power? Arduinos can get twitchy if their power isn't regulated." We blinked at each other for a couple seconds, then argued for a couple minutes as to who's fault it was that such an obvious detail had been overlooked. This produced no results, so we opted instead to go to the parts bins, grab a couple of $2 5v voltage regulators, and jammed them in line with the Ardweeny microcontroller. Problem solved.
We then started chasing the 'bots around the electronics and craft areas of Pumping Station: One. It was almost sitcom-worthy. Johnny would jam his edge sensors under a desk. By the time we freed him, Frankie had disappeared. We'd follow the sound of electric motors to try to find him, but you couldn't see him anywhere. About that time he'd manage to extricate himself from under the shelving unit he had driven under, only to drive into the clear trailing dust bunnies behind him like a bridal train. By the time we cleaned those off so he didn't wrap them around his motor shafts, Johnny had driven clear into the other room and managed to wedge himself under a moving dolly. This went on for a good half hour. The only thing that kept it from being irritating and tedious was that the 'bots were working exactly like they were supposed to at this point. It made the snickering of our hackerspace mates completely worthwhile.
Greg: "Geez... I feel like I'm babysitting!"
Hef: (laughing) "You know, I think you are."