Content-type: text/html Set-Cookie: cookiehash=D8TIX1F9GFT8JSLCENF0DC1UDL31CF7Q; expires=Mon, 23 Nov 2026 00:00:00 GMT; path=/; domain=.drivemeinsane.com
DMI News |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Some Googlesnacks
February 03, 2003 13:00
"Acrophobic Impressions"
January 29, 2003 16:17 I'm still tweaking the car, but I've had some success. First of all, I made a new antenna for it. That helped SOME of the deadzone problems, but not all. I'm still going to have to set up a second transmitter probably to get full coverage of the house. I also learned that the old battery IS in worse shape than the new one is. It wasn't just me. :) However, since it only takes the new battery 2 hours to charge fully, I figure I'll just use the old battery as a temporary swap instead of using it for extended periods of time. The living room cam computer decided to die on me. The computer's fine, but the HD is messed up. I will spend some time attempting to recover the filesystem on the drive as best I can, but since the HD seems to have some serious sector errors, I'll probably just consider it a lost cause. Nothing much of anything on there thats useful anyway. I moved the rc car's capture card to the lab computer, and it seems to be working in there fairly well, so I probably won't bother moving it. People have gotten VERY good at getting the car stuck. I've solved a lot of the easy problems by placing objects under furniture the car will fit under, and rearranging other furniture to prevent it getting stuck between stuff. There are still obstacles though. Not to mention resourceful people. Fuzz and I have been discussing a hopefully simple way of having the car maintain its position location by use of markers around the house. The markers will be easily distinguishable shapes and letters. Using pattern recognition and/or OCR on images, and combining that with scaling the image, you can obtain a fairly accurate assessment of where in the house the car is, and what direction it's pointing based on what markers it can see. If two markers are visible in a picture, I figure I can get the precision estimate down to 1 ft, which is less of a footprint than the car takes up. Once the car knows its position and orientation in the house, it can then navigate automatically.
January 23, 2003 14:30 I still have dead zone problems with the car. I figure, the only way to really solve the problem is to boost the power of the transmitter. I've also been forced to arrange various boxes and computer cases in the living room to prevent the car from crawling under furniture and getting stuck. I've purchased a second battery, so the car effectively operates 24/7. Headlights will soon be a new addition. Using 6 IR led's, I can provide an adaquate, if somewhat creepy effect, allowing the driver to see in the dark. It's not really a high priority, as there are plenty of driver controllable lights in the house. Check here for a demo.
January 16, 2003 00:11 Finally got the transmitter and the car is now fully functional. There are still problems though. There are "dead zones" in the house where the car's video works fine, but it can't get the signal to control the car. I've got a few ideas to solve this problem. I can try to boost the signal. I can move the transmitter to another location in the house that might get a better reception. I might also take the other transmitter and wire it up as well, and place it on a computer on the opposite end of the house, hoping that at least one of the transmitters will work. The video transmitter also seems to mess up every so often, a reset solves it. This might be due to low power in the battery since it was completely drained when I got home today and I only charged it for a little while. If this doesn't solve the problem, I'll try different frequencies. Otherwise I'll build a circuit to reset it every so often. Right now, the plan is to keep it offline at night and let it get a good 6 hour recharge, then run it run all day. It should run 21 hours, although the car will drain it somewhat. I will eventually buy a second battery so they can be swapped out every 12 hours, and some infrared LED's so I can have an array of lights to act as headlights in the dark. Infrared lights work great. :)
January 14, 2003 10:19 For those interested, track the package containing my video transmitter. Should arrive sometime on Wednesday.
January 13, 2003 15:42 So the transmitter didn't show up friday. And it won't show up today. It WILL, assuming matco isn't completely inept, SHIP today, and therefore arrive wednesday. I will wait in mock anticipation for the phone call to say it's shipped, that provides me with a tracking number. THEREFORE, the car will not be fully mobile until Wednesday night at the earliest. The good news is, I've got all the necessary mods completed to the car. All I need to do now is get the transmitter, screw it to the base, plug it in, and I'm good to go. I've got concerns about the ignition point of funnoodles, and therefore, I won't be using funnoodles for any situation where direct contact with warm electronics will be required. However, I'm less concerned now than I was. By adding the bumper to the car, it helped to distribute its mass and increase its surface area. It has to flip faster now to flip over completely. I'm hesitant to actually TRY to flip it, but my simple push it over the edge of the ledge tests seem to be successful. I added additional protection for the camera by installing two plastic poles from the original frame of the car. They sit in front of the camera and rise higher, so they will both prevent the camera & its frame from colliding with any objects and will protect the camera in the event of a rollover. I also have locking working, although it's still in testing and needs cosmetic work. It will basically work as follows. The default mode will be free for all, anyone can control the car at any time. A lock button will be available, whereby control of the car will be "locked" by the controlling host and only controllable by the controlling host for a 5 minute period of time. Anyone attempting to control the car, or lock it during this time will be notified of the lock and added to a wait queue. A popup window will continue to display information on how long the current wait will be before they're able to play with it. When a lock expires, the next host in the queue will receive the lock and get 5 minutes of exclusive rc car driving joy. Right now, locking is ip address based. If a long wait is predicted, someone can restart the browser and the position in the queue will be preserved. Rebooting the computer will work too, just as long as the ip address doesn't change. I will in the future provide a means to reclaim a queue position if the ip address changed, but not in the beginning. Also, if for any reason you close off the update window, the position in the queue will be maintained, but after 60 seconds of no activity, it will be considered dead. This means that it's position will not be counted in wait estimates for others, and unless it gets a heartbeat before it's position in the queue is reached, it will be skipped over and dropped. The only problem I can forsee is those ISP's that run all port 80 requests through a cache. This means that my webserver think's your ip address is the cache, and not of your home machine. As long as the cache's ip address never changes, this won't be a problem, but for isp's like AOL, this will make locking completely ineffective. I might later have an option to use cookies for maintaining those locks. On a somewhat different topic, there is the issue of banning. As some of you are no doubt aware, people that choose to express themselves in excessively immature ways through this site, have the possibility of getting blocked from using it. The current block features prevent someone from sending messages, chatting in the chatroom, turning on/off lights, and now, they'd be blocked from using the car. The only ability they have is to view the site, and in extreme cases, this ability is taken away as well. Some of this is done automatically by countermeasures built into the cgi interface, to prevent a single user from being a nuisance to others. Others, with regards to verbal abuse, are blocked by one of several moderators I have trusted to this task. I personally am responsible for a very small percentage of the bans that are implemented. It is therefore of the utmost important that you are polite to everyone, because the moderators can, and frequently do, permanantly ban people from the site. I will not allow 1% of the visitors to make the experience miserable for the other 99%. Which brings me to another issue. If for some reason, the normal bans don't work, I'm forced to resort to more extreme measures and block entire network segments, or in some cases, an entire isp. When my site only got 100 visitors a day, it wasn't a big deal to do this. However, with the diverse, and rather large audience I now command, blocking any one isp WILL affect dozens, if not hundreds or even thousands of users, most of which will be innocent of any wrongdoing, and probably won't even understand why. In these cases, I have only two options, to encourage the isp to remove or restrict the problem user, even though in most cases they probably aren't violating any terms of service, or to encourage the blocked users to choose an alternate ISP. These restrictions are unfair to both the ISP and the innocent users of that ISP, only to stop abuse from what is in most cases, a solitary 13 year old kid with nothing better to do with his life.
January 09, 2003 23:03 So I'm pondering what I'm going to use to cushion the rc car. Mostly to prevent damage from collisions with various things, like, walls, furniture, cabinets, cats, whatever. Reccomended by Wesm, the best idea I come up with is to get some foam rubber toy blocks. So I troll down to walmart and peruse around in the toy isles for a bit, looking for anything closely resembling foam rubber toy blocks. And I find absolutely nothing that would fit that description. I did notice, however, that everyone in the toy isle, were not kids. But anyway. So I continue wandering the store, trying to think of a good off the wall question to ask a random walmart employee to catch him all unexpected, when I pass the pool toy isle. And sticking out of this box is a whole bunch of Funnoodles. What is a funnoodle you may ask? Well, I didn't know what it was either until I saw it. It's cheap too. And I look at it, and think PERFECT! The perfect source of foam rubber bumpers. And best of all, it's PINK! Which means, forever and always, people will have something to razz me about. And its important to supply people with a never ending supply of potential razz subjects, or they might get bored and be forced to do.... whatever.
So a good portion of the car will be adorned by pink funnoodle portions, carfully carved out of the funnoodle tube. These funnoodle parts will then be taped to the car, and will provide lots of protection from bumps, as well as making a nice rollcage. I should still have a lot of funnoodle left over once I'm done, so I'll keep it around, so people can ask questions about it.. and wonder about me. Like they won't anyway. :)
January 08, 2003 00:40 I'm expecting the video transmitter to arrive friday, or early next week if not then. Right now, I have a single battery for the car. I expect to obtain a second battery in the near future, but until then, there will be a few hours of downtime each day for recharging. There are two optimal times for this downtime: while I'm sleeping, from about 1 am til 8 am, or while I'm off at work, from about 9 am til 6 pm. Chances are I'll have a spare battery within a week, so most of this isn't THAT important, but in the event anyone has a preference about when the car is offline, now's the time to comment on it. Event queues are working. Repeated commands to the car will be discarded if the prior commands haven't been executed yet. So constantly clicking the buttons will have as much effect as it does in your average elevator. Wait queues are being worked on now. I have a working theory on how I can work the queues and locking from the webpage, and I should have a working model in a day or so.
January 07, 2003 15:18 The video transmitter has been ordered. I should have it by friday, but assume the worst and predict receival by the middle of next week. This will solve the problem with the RC Car running out of range of the cam, as it won't need to be observed from a static cam any longer. However, there will be a host of new problems. First off, there's that ledge.... I will probably build some steps with a wide cascade. In the meantime, I'll just forbid people from driving over it, and ban anyone who does. End of problem. :) There's also the problem of the first come, first serve method of command acceptance. Steering commands respond immediately. However, power commands, moving forward and backwards, take time to complete. They operate by giving power to the car for a specified period of time, typically about half a second, then releasing power. There's also a 1-2 second cooldown period after any power command to make sure the car is at a standstill before it receives the next command. Otherwise, it could accumulate velocity over several commands and do some undesireable things, like slamming into a wall full speed, or even flipping over. The other problem is simply a one of coordination. The server takes the commands from whoever sends them, in whatever order they come in. If three people are trying to drive the car, it will go in all different directions. Don't even try to think about what it will be like with 20 people. To solve these problems, two separate queues are being implemented. An event queue, and a wait queue. The event queue takes the car's power commands and adds them to a queue, instead of immediately executing the commands. A separate process thread will then take care of each queue command one at a time. Also, any host can only have one event on the queue at a time. Any more commands from that host will be ignored. This prevents people from sending hundreds of commands while waiting for the car to move. This slows down everything else. A similar queue will be implemented for the X10 devices, which have a similar delay problem. The wait queue is harder. This will allow only one host at a time to control a specific device. This is primarily for the car, but might apply to other appliances as well. A user will be able to lock a device for up to a certain length of time, probably 5 minutes by default, during which only their host can control the device. When the device is locked and someone else wishes to play with it, they add themselves to the wait queue. When the initial lock expires, the next person in the queue gets the lock, and therefore will have 5 minutes to play, uninterrupted. The problem with wait queues, there is no easy way to feedback information to the client without using an applet of some type. While an applet is an ideal solution, and one I intend to add for several features on the site, the more I am capable of doing with simple html and javascript, the better.
January 05, 2003 00:50 Right now, just through a redirected living room cam. Not sure if I'll set up another static cam for watching it or not. And I'll see if I can get a video transmitter ordered this week. If so, hopefully by the end of the week, the car will be back in its old glory again, now with 24/7 coverage. Enjoy.
|