No wind means a great day

I'm still catching up on blogging because of lack of internet at my previous hotel and laziness on my part in sorting photos. Oh well, it's a short trip, I can afford to have a bit of backlog.

After my exhaustion on the first 'real' day of cycling I was mildly worried about the second, but the weather was on my side for the whole day, and it even got nice and warm during the afternoon. I woke up earlier than I intended to, I guess jet lag is catching up with me. I had planned to leave later so that the sun could warm things up a bit before departing, but I was deep inside a valley anyway so it wouldn't have made much difference. That said, it was about 3 degrees C when I set off and I could see my breath with every exhale. This time I was wearing the appropriate attire, and the wind was gone, so it actually felt way more comfortable than the day before.

Before setting off I had to do some maintenance. I used the bandage tape to wrap around my handlebars to make them a bit softer to the touch, since my hands had been receiving some damage already, even with padded cycle gloves. I suspect this is more of an issue on touring bikes with front panniers since there's more mass to turn with the handlebars, but honestly, that's the way I prefer it. The bike just feels horribly unbalanced with all the mass on the back. After the handlebar was dealt with I pumped up the tires, which had lost a lot of pressure after the first day - way more than I expected. I probably have slow punctures on both tires since they lost about half their pressure over the course of the day. That very likely contributed to me having a miserable time at the end of the day before. After pumping the tires I used the disposable toothbrush each hotel in Japan kindly provides to clean my chain and then gave it a little lubricant spray. I'm not sure how much this helped but when I set off I felt a lot more positive and excited than I did at the end of the day before.

My route took me along a road which, during the planning of the trip, I thought was a mountain pass, but as it turns out it was more of a valley between mountain ranges, and it followed a river almost all the way until the end. It was an extremely gentle incline, going up to about 400 meters over the course of 30-40 kilometers. There were some ups and downs but nothing major, and all in all the cycling part of today was way easier than the worst case scenario I had prepared myself for. And there was hardly any wind! I hate cycling in the cold if there's wind but without wind it was downright pleasant, and maybe even preferable over cycling in hot weather. Provided you have the right clothes, at least.

The scenery was amazing. Since it was a Saturday I was expecting tourist traffic, but there was hardly anyone anywhere. I guess it's still too cold for Japanese sensibilities. All the better for me, since it meant I had the valley road all to myself for most of the time. It was a pretty good road, too. It's likely part of a popular pilgrimage path, or at least I think that must have been the reason that the road nearly always had a wide pedestrian/cycle lane next to the main road, with hardly any bumps or ramps on it. Contrary to my usual stance on not cycling on the main road, this time I took advantage of the side path so I could stop frequently to take photos. Have I mentioned the scenery was amazing? The scenery was amazing.

The barometer in my cyclocomp was somewhat erratic today, which caused the elevation measurement to jump around a bit. It might actually because of varying air pressures in the valley, but I'm not sure. The only other times I've seen the altitude measurement go weird was during climbs in mountain passes, so it seems related.

After reaching the 'top' of the route after a very gentle climb spread out over dozens of kilometers, the way down was only several kilometers, and quite steep. After the first 200 meters or so I immediately stopped and had to reclothe myself because it was way too cold. More layers, better gloves, winter hat. Still no traffic. Awesome downhill. It's the ultimate payoff that rewards you for putting in all the effort to climb those heights. I went down so fast that my ears popped.

Back at sea level, now at the other side of the mountain range, it was a bit more windy, but very warm. I stopped at a conbini to take off some layers again and had a look at the map. I wasn't quite at my destination yet, and to be honest I wasn't much in a hurry to get there. The destination for the day was a city (bad) I had been to once before (bad), and that I couldn't find a decent hotel in in advance so I had to book a rather sleazy place because that was literally the only option available to me (bad). Instead, I wandered around a bit. Apparently the Japanese call this 'pottering'. It's yet another bastardization of an English word that is so ridiculous that only the Japanese could think of it.

I found a rather famous temple on my map only a few kilometers from where I was, so I took some random zig-zag roads to get there and had a look. There were a few tourists there, but only a handful. It's just ridiculously quiet everywhere and I'm not sure why. 

After the temple I wandered my way down towards a major road and managed to find a Sukiya for lunch. If the temple is the goal of the pilgrim then the Sukiya is the goal of the touring cyclist. .. to be honest I prefer Cocoichi over Sukiya lately. Sukiya's curry seems to have gotten a bit too bland for my taste.

Feeling refreshed after the food I had a casual cycle into the city, which was still quite a way away. I cycled on a main road, which was main enough to have a large wide foot-and-cycle-path next to it. Quite flat, and quite appropriate for 'pottering'. Nope, I still hate that word. Can't get myself to like it. I had some time to waste before the hotel would allow me to check in so I wandered around the town a bit. Lots of nice canals, and the usual family restaurants, conbinis, post offices, delivery services, etcetera. Good old Japan.

I wonder if by now you can guess where I'm cycling. I've given some fairly major hints in this post. I'll do the reveal after the trip is over. This post has gotten quite long so I'll save the bit about the love hotel for the next post. Spoiler alert: it wasn't great.

Posted in Cycling

Enter Title Here

So, I'm in Japan again for a little cycling trip. I arrived two days ago, had a somewhat casual day yesterday and the first real day of cycling today. It's the earliest I've ever done a cycling trip. It's cold..

No matter how much I improve, every time I go on a cycling trip something goes wrong. I'm getting better and better at managing it though. I use wheel spacers so my frame doesn't bend. I pack everything nicely so my gears don't get messed up. I remember how my derailleur works so I don't get confused trying to untangle my chain when it doesn't need untangling.. Ok, some of these things are pretty stupid. Somehow it only ever occurs to me after it goes wrong that it could go wrong, though. Anyway, the hardest lessons are the best, and none of these things are likely to occur again. Instead, I get new and exciting problems that I don't know about yet.

First problem: two days ago I built the bike without any issues whatsoever. Since my plane arrived early and I couldn't check in to my hotel yet I had plenty of time to build the bike to my liking. I spent some extra time fine-tuning the brakes to make sure they're as tight as can be without hitting the wheels. Then, yesterday, I set off on my fully loaded bike and suddenly noticed that the 'handrest' bit on my handlebar, the bit that houses the lower brakes, was bent inwards. It's happened before after transport, and it's gotten so loose that I can easily bend it back, which I've done during past cycling trips without issue. I only noticed it while I was cycling, so I bent it while continuing to cycle. As soon as I bent it I came to a sudden stop. Turns out I had tuned the brakes so tightly that bending the bit that houses the brakes caused it to overtighten. I made the brakes a bit looser to compensate, but now every time I brake the handrest bit bends inwards..

For as long as I can remember I wear either two or three layers on my upper body when cycling: an underlayer to keep me warm and a layer over that to not look like an idiot. Sometimes in really hot weather I get the stupid idea of not using my underlayer, and every time I don't wear it, I regret it. I suspect it's a consequence of my ever-present belly fat that my belly gets really really cold when exercising. As such it seems that I need more layers than most people to feel comfortable. So when other people are wearing their one spandexy cycling layer I'm wearing two layers and a thin coat on top. I've had a really crappy Nike anti-rain/wind coat for ages. It's not meant for cycling at all but it's exactly the right combination of airy plus warm that I need. I finally decided to buy a proper wind-stopping cycling layer for cold weather, with super magical properties that let it wick the sweat away, let air through while still stopping air etc. etc. It's terrible. I'm still cold when I wear it as a second layer, and it's way too hot to wear in combination with my crappy Nike coat. I've tried it for two days now and it's just not as good as my usual 2-3 layers. At least not for me. Experiment failed.

Another mishap happened to me today. I was cycling along as usual when I suddenly noticed my front left pannier hanging on only one hinge. This happens every once in a while if I hit a pothole or ramp too hard, so I stopped to re-hang it. But that's when I noticed that the little hook that normally connects the pannier to the rack had just completely snapped off. I'm not entirely surprised by this: the hooks normally connect with two pins to the pannier and one had already broken off. I've had those panniers for 10 years. I guess it's time for some new ones when I get back. In any case, I did some McGyvering with tie wraps to tie it to the rack, and it seems to be holding on for now.

 Every time I start cycling again after not having been on a proper ride in months, I simply forget how to cycle right. I just don't naturally know how to pick the right pace. I always pick a gear or a cadence that's too high and then I tire myself out. I have to make that mistake a few times at the beginning of every time until I eventually find my rhythm back. Today was the day where that kicked me in the ass in the worst possible way. Tomorrow is the designated 'tough' day, with a route that'll go through the mountains and is longer than today. Today was supposed to be a relatively easy ride, but I managed to tire myself out long before lunch time, to the point where my muscles were pretty much useless and I could only go at really slow speeds. There's probably several things that contributed to this, mainly me underestimating the nasty headwind I had all day and picking the wrong pace, but there are some issues with my bike as well. I noticed after about an hour in that the front brakes were hitting the front wheel again, so I had to loosen them up a little more. It wasn't much, but it was enough to stop the wheel almost immediately when lifting up in the air and giving it a whirl. Another thing that may or may not have contributed to my crap performance today is that the chain is full of gunk and needs some fresh lube. I shrugged it off yesterday because the bike seemed fine then, but that was a much shorter ride. Today I passed a single bike shop, selling old lady bicycles. When I asked if I could borrow or buy some chain spray the guy told me he didn't have any. I think my jaw literally dropped in real life. How in the bloody hell can a bicycle shop not have chain spray? I asked him again to make sure he heard me correctly, but he insisted he didn't have any. Now, given that this was in the countryside, in the middle of nowhere, and I interrupted the guy while he was talking to some other guy, combined with the fact that my appearance is very foreign and his appearance was very cantankerous, I suspect he simply didn't want to help me. So he either sucks at operating a bike shop or else he's an asshole. Meh.

The morning cycle had tired me out so much that I took two really long breaks to give my muscles a chance to recover. The first didn't do too much but after the second break I felt a little bit better. Before that I really felt as if my legs were just going to shake and give up. The only time they've ever done that was when cycling to the Fuji five lakes area on the first day of my first solo cycling trip. I thought I was more prepared now, but I guess not. After the second break it was no longer freezing cold, the wind had died down a bit and I had switched from the crappy cycling overlayer to my good old windcoat, which made me feel a lot better. Cold, wind and bad gear is not a good combination.

When I finally arrived at my destination, a lovely little town right at the end of a valley where the two mountain ranges meet, I did not expect to find a giant shopping mall with a 100-yen shop. It took away from the quaintness but also gave me an opportunity to buy chain spray and fake handlebar tape (roll of bandage tape).

Tomorrow it's off into the mountains. It doesn't actually seem too bad in terms of height or inclines based on Google Earth, but it is a long ride. I did finally manage to get a hotel for tomorrow, but it wasn't easy. Might be an interesting story tomorrow.

Posted in Cycling

Raspberry Pi controlled Lego car part 3

Things have not gone smoothly since the last post. I can't seem to stop spending money on this..

Last time my goal was to build a two two-speed gearboxes, connected via a gear switch lever, controlled via servo motor, that will allow me to switch both gearboxes simultaneously via the Raspberry Pi. I have absolutely no reason to do this. The car will work just fine with only one gear. It just seemed like an interesting thing to do. It led to me researching some rather complicated things on Wikipedia, but given that I only have one differential and (despite what these posts might make you believe) am trying to keep it simple, I decided to go with the dual gearbox option. I had already bought extra parts for this and felt too stubborn to give up on it.

That was a few weeks ago. Here's what I initially came up with.

The first image shows the interior: the M motor controls two mini actuators. You can see the top one, there's a bottom one as well controlling the axis in the other direction. The second image shows both gearboxes attached. I had to give up my plan to use the servo motor almost right away, because getting the gearing right for the servo motor to shift the axis exactly 1 block left or right proved nearly impossible, and very easy to go wrong over time. In this first design I had planned to use the regular M motor with a clutch gear to make it stop when it reached the end of its travel, but due to the way I connected the gears it didn't quite work. I also realized during building this that I couldn't have two identical gearboxes; I had to mirror the design in order for the gear-shift actuators to select the same gear every time.

This design was way more sturdy than the one from the previous post, but still not quite study enough. Other than that there are two major problems with this design. The first is that it is just massive. Both driving axes are mounted very far away from each other, meaning I needed lots of tracks to connect the two. My prototype had completely flat tracks in-between the two axes, which resulted in a massive contact surface with our thick carpet. The prototype was geared the same way as previous ones, but simply did not have enough power to move.

The second problem is the way it shifts the gear-shift axes. Each actuator is connected to gear axle with only one point, so in order to shift gear it either performs a push or a pull motion. There's nothing stopping the actuator mount point from shifting other than two little stoppers on the axle. This turned out to be rather weak, and they ended up getting pushed or pulled away from the bit that connects the actuator to the axle, making its range wider and wider until it just stopped working completely after a few shifts. Fail.

Last time I mentioned that the USB-to-9v cable that I bought was faulty, and that I was actually able to power both the Pi and the motors from a single USB battery pack. This turned out to be mostly true, yet ended up not helping me in any way. I bought a new USB-to-9v cable, and this time it did work correctly on my battery pack of choice I was using, a Tecknet 10000mah pack, which is very thin and easy to hide inside the Lego. Sadly I found out after getting the new USB cable that this battery pack doesn't provide the amperage needed to power two XL motors at the same time. It just barely manages, but as soon as you put some load on it then it shuts down and doesn't restart.

That led me into yet another unexpected quest: that of finding the perfect USB battery pack: one that has two USB connectors for input, plenty of amps on each output, and ideally allows for passthrough charging without blipping the power or requiring you to press a button after plugging/unplugging. I have spent a long time searching for a suitable battery pack on the internet and have found absolutely nothing that satifies all of these requirements. There's plenty of powerful battery packs, even powerful battery packs that allow passthrough charging, but none of them do it without blipping the power or requiring a button push to resume. There are some boards for the Raspberry Pi that allow multiple power inputs, which I think would work for autonomous recharging. That's yet more money to spend on this though, and makes things even more complicated, so I'm holding off on that for now.

Eventually I tore apart the previous prototype and started on a new gearbox assembly. I considered building the gearbox bit vertically, but eventually decided to go horizontal again for the sake of simplicity. I increased the length of the gearbox axles by one, which allows me to connect to the gear-shifting axle on both sides rather than on just one side, so there's no issues any more with the axle shifting from too much pushing or pulling.

Instead of using two actuators this version can do the shifting with just one actuator, which controls the two shifting arms connected to the gearboxes. I'm using a clutch gear directly on the M-motor used for shifting (not pictured in the picture above but it connects directly to the small gear on the top right). Some bits of the shifting arm have some tolerance, so that combined with the clutch gear seems to result in quite satisfying gear shifts.

Above is a picture of the latest gearbox core in yet another prototype shell. It ended up still being quite wide because I wanted to keep it modular, so I can take apart both sidewall tracks quite easily to access the gearbox core. In the end I just piled up all the non-Lego components on top in order to test it out. There's still plenty of space inside so my goal of having a flippable robot that willwork on both sides is quite attainable.

I found out that in the current setup the highest gear doesn't really work for turning, most likely because there's still a fair bit of contact area. I think I can gear it down by 1.5x/1.67x and it'll be perfect. I also need to buy a new USB battery pack, so the final design will depend a lot on the dimensions of that. I haven't decided yet which one. More to come much later because I'm off cycling from next week!

Still to do:

  • Fix the gearing.
  • Make it lower.
  • Get better USB battery that allows for more amps.
  • Buy UPS circuit so I can build a charging station.
  • Hook up the Raspberry Pi camera, camera motor and lights.
  • Decrease track contact surface with ground if possible.
  • Build internal compartments for the electronics and the battery.

Posted in Tech | Tagged , , ,

Raspberry Pi controlled Lego car part 2

Not many pictures this time, because unlike last time I'll rant a bit this time about getting the software on the Pi working. To start off: I did something rather stupid: I updated Raspbian. It took ages to update the OS and all the packages. The Pi isn't very fast for that. I should've just downloaded a new image. Here's how I lost a lot of time.

After updating the OS my wifi stopped working. I'm using a small TP-link USB wifi, since my Raspberry Pi B+ doesn't come with on-board wifi. I did a lot of searching on why this would suddenly stop working, and found that, only in some cases, the B+ is incapable of providing enough power to the USB ports to make my particular model of wifi adapter work. The wifi did in fact work for just a split second after booting, and I was able to ping the Pi from another PC, but it almost immediately disappeared again. This I thought was a good indication that it was indeed a power issue.

I bought a USB cable from Amazon that combines two USB plugs, one for data, one for power, into one output, for the wifi plug. I was fairly confident that this would solve my problem. First I plugged both inputs into the Pi's USB ports, but no luck. Then I tried plugging the USB power input directly into my USB battery pack, but that didn't work either. It did have a weird side effect, in that if I disconnect the Pi's regular micro-USB power connector, it miraculously stays powered through the USB wifi plug. Weird, but not useful.

So I did some more digging and eventually found out that for every Pi kernel you need to manually (re)compile your wifi plug's driver. Ugh. I got started on doing that but it took ages. I eventually managed to find a site that offered precompiled drivers and simple installation instructions. Not exactly open-source but I'm definitely not going to wait hours for the bloody thing to compile.

With the wifi fixed and the motors super-easy to control via the Python GPIO library, I got to work on getting the Pi's camera feed to work. The Pi supposedly does full-HD video capture at decent framerates so I had high hopes of getting a nice stream going. Unrealistically high hopes, it turned out. Recording decent quality video is one thing, but streaming it in real-time with little enough delay to control a moving vehicle, that's quite another. I had to turn down the resolution all the way back to 640x480 to get <500ms delay, but after that it's quite usable. The uv4l raspicam package comes with a built-in server to stream video, which is actually pretty nice when playing around with it on the local network, but since my final goal is to open it up to the internet I'll have to find something a lot more secure than that. I'll likely set up a separate Python server to forward the video feed, or stream it from the device directly. I hope it won't introduce too much extra delay..

On the hardware front I'm playing around with some of Sariel's gearboxes. I bought a set of various Lego gears on ebay since my aging Lego Technic did not have many useful parts. I built this three-speed gearbox and then figured I might as well buy the Lego Servo motor as well to play around with.

Turns out that controlling a servo motor from the Pi is a lot more difficult than controlling a regular motor. To get the servo motor to go to a pre-set position you need to use pulse width modulation with a very specific duty cycle for each position. If you get the duty cycle slightly wrong the servo will jitter around the position and move back and forth a bit. The same happens when using the Python GPIO default module, which comes PWM functionality built-in, but just can't be real-time enough to generate a stable signal. There's loads of jitter if you try it that way. I ended up going with RPIO, which uses Direct Memory Access to get the timings right. I played with it for hours but in the end still could only get about half out of the supposed 14 positions to select correctly. I think that's more of a problem on my side though, and I'm probably using the wrong duty cycles or frequencies. That said, I'm totally indulging at this point because the gearbox only needed the off position and full negative and positive duty cycles, so I didn't even need to use pulse width modulation at all. It was an interesting side track though.

Once I got the three-speed gearbox working with the servo I slapped an XL motor on to it and immediately realized that this gearbox design will never work for my tracked vehicle. As soon as I applied only a little pressure on the output wheel the servo axle would fail and start rotating. It really doesn't stand up very well to any decent amount of torque. Time for another design. I ended with a super-simple custom design for a 2-speed gearbox that I got off the internet, but all the simple designs, the designs that I actually have the parts for to build, don't seem to be meant to be controlled with the servo motor. I played around with this for quite some time last Sunday and eventually managed to rig up some kind of controlling arm to push and pull the middle axle of the gearbox so it can shift gears. I haven't tested this with load, though, so I'm not sure if it'll hold up very well in the final vehicle. But I'm a bit more confident about it than I was about the three-speed servo gearbox.

The next challenge will be to duplicate the gearbox and make a design that allows the servo to change gears in both gearboxes simultaneously. Since I'm making a vehicle with independently-controlled caterpillar tracks (but only have one servo motor) I'll need to have one gearbox for each track.

Lastly, I got one more thing wrong in the last post, about getting power to the motors. I had bought a USB-to-9V cable, which I thought didn't work in my USB battery pack because the battery pack was smart enough to disable the port if it detected that no power was being drawn. That assumption turned out to be completely wrong. Instead, what happened was that the cable had a very shitty USB connector and after I let go of the connector it would drop a bit and disconnect. I duct-taped it into place and it works perfectly, so I can get away with using just one USB battery pack (with two USB ports) for my vehicle. Yay!

Posted in Tech | Tagged , , ,

Raspberry Pi controlled Lego car part 1

So, I have a fair bit of Lego lying around from my childhood days. Not a lot of technical parts, but enough to have some fun with. I also have a Raspberry Pi lying around after a failed experiment where I tried to use it as a security camera. Why not combine the two? I figured I could build a Lego car that I can control remotely via a little server on the Raspberry Pi, which would also stream its camera feed. It seemed easy enough, especially after discovering a page that explained exactly how to make the hardware part of it work. Never did I imagine it would take this much work to get it up and running..

This post will detail the hardware iterations and setbacks I faced. The next post will go into detail about the software side of things.

So, before starting on this project, here is the list of things I thought I'd need to make this work:

  • Bunch of Lego: wheels, gears, other technic parts and some generic bricks to connect it all up. (already owned)
  • Raspberry Pi plus camera module. (already owned)
  • A USB battery pack (already owned)
  • Two Lego power functions motors.
  • A 9 volt battery.
  • A motor controller.
  • Some Dupont wires to connect it all up.

Version 1

I bought the M motor starter kit and a separate M motor for my first iteration. I built a very nifty motor assembly and a very strong shell structure to house the components. Here's how it looked like:

v1.0

It is thus that I found out that I should never overengineer before testing. While building the thing I discovered that I didn't have the parts required to drive all six wheels, so I chose to just drive the middle wheels instead. I figured that by gearing down a bit it should be fine. Much nope. The M motors were way too weak to power the construction, which was already quite heavy from the USB battery pack, but weighed down even more because of its overengineered sturdiness. Having just the center wheels powered was also a terrible decision. Fail.

Version 2

v2.0

I built this is a test version to experiment with gear ratios and to see if in a lighter version the M motors would have enough power to drive the car. Answer: not really. I got it to go forward and backward pretty decently, but I still didn't have the parts required to power all the wheels, so the motors were not strong enough to turn the whole thing without a steering assembly. Fail again.

So I had two options at this point. Option one was to build a rack-and-pinion steering assembly, for which I had the parts available and did end up experiment with, but in the end I wasn't happy with its turning radius and how I'd either have to buy a servo motor or have an 'unclean' solution with a clutch gear to handle the stopping at the end of the wheel turning axis.

Instead, I went with option two: throw more money at it. I bought two XL motors and a crapload of caterpillar tracks. That'll give me the power and the grip I need to build something really nice.

Version 3

..or not. It does look impressive though. Here's a test build with the power functions battery box instead of the external 9 volt battery.

v3.0-test

At this point I was still powering the motors via a separate 9 volt battery. I figured that, since my USB battery had two USB connectors, I could use it to power the motors as well, so I ordered a USB-to-9-volt cable from Amazon. That should help me save some weight by not having to put in two batteries. Sadly, this did not go well.

USB batteries are pretty smart. So smart in fact, that they only output power if they think something's plugged in. The USB-to-9-volt cable worked fine on a powered usb hub, but every time I'd try to hook it up between the battery and the motor controller it would simply not turn on. Crap.

I found another USB battery, which is actually a battery used for starting cars that happens to have a USB port on it. This one did always keep the power on if I plugged in the USB-to-9V cable. Good! Except it only had one USB port, so I couldn't also power the Raspberry Pi from it. So I ended up with two USB batteries and over double the original weight..

v3.0-final

The big green thing is the car-charging battery. Even without the second battery the 3:1 gearing wasn't quite powerful enough to rotate this monstrosity when on certain surfaces, such as medium-thick carpet. Once again, fail. And once again, I spent way too much time overengineering the construction without testing it first with its full weight.

Version 3.5

I figured I'd try to keep the next version as small and light as possible and worry about motor powering and recharging issues later. I managed to build a pretty small prototype.

v3.5-test

Now, I had one option left to avoid the use of two batteries. The big green car charger battery did, in addition to its one USB port, come with a 12V output. It's not the 9 volts that the Lego motors need, but I did find at least one link claiming that the motors should run fine on 12 volts as well. I had previously done this as a child when connecting an old technic 9V motor to my 12V Lego train controller, which gave it quite a nice speed boost as well. I figured this would be an acceptable trick. I butchered an old power supply, cut off it's circular connector and used it to connect up the green battery's 12V port up to the motor connector.

To avoid any more gearing issues I added another axis, bringing the final ratio down to 9:1. The build ended up much larger than I had intended, but still smaller than v3.0. With better gear ratios and a higher voltage to the motors.

v3.5-final

You may notice the second battery sticking out at the end of this bulky thing, despite the fact that the green battery has a free USB port thanks to the makeshift 12V connector. This is because the stupid battery doesn't let you use both outputs at once. It just turns off one or the other. Not ideal!

I'm still annoyed at this but don't have an immediate solution. The reason I spent so much effort trying to get everything onto one battery was because I intended to build a little wall charging station, so I can drive the robot into the charging station, which will connect the charging port of the USB battery onto a USB wall socket. I gave this a try with the double-ported battery while the Raspberry Pi was connected, and sadly it resets the Pi as soon as the charging connector is plugged in. Crap times two. I haven't tried this trick with the green battery, but that's pointless anyway since it only lets you use one device at a time. Looks like I won't be able to charge the thing remotely while it's running.

V3.5 still has a whole bunch of issues. It works great in terms of motor and track performance though. It moves and turns fantastically. even loaded with two bulky batteries. The motor placement isn't great though; they're way too close to the ground. I need to fix that in the next version. It's also longer and wider than it needs to be. Once I get a solution to the two-batteries issue I'll decide on how large the next version will be. I'm also thinking about buying the servo motor and using it to power a small gearbox, but I'd also need to buy more technic gears and axles for that, and I've kind of already spent way more on this project than I thought I would spend..

For now though, I'll stick with this hardware design and focus on getting the software up and running. More on that next time.

 

Posted in Tech | Tagged ,

New hobby project

Turns out it's really easy to control Lego power functions motors via a Raspberry Pi. I found myself a new hobby project :)

2017-01-08 20.24.33

Posted in Tech | Tagged ,

London Overground's biggest problem

Nearly every working day I take the London Overground to work. I am quite lucky: my working hours are flexible so I can avoid rush hour. The stations I get on and off are near the first stop and the very last stop on the line, so I am pretty much guaranteed a seat every time. The trains are airconditioned in summer and nicely heated in winter, which is a fantastic improvement on the Bakerloo line, whose trains may be the draftiest place in the UK. There's just one thing that bothers me a lot about the overground, and it's not even the delays. But I can't talk about my gripe with the overground without talking about the delays.

There's always been delays on the overground, ever since I came here 3-4 years ago. Sometimes there's this sign in the carriage telling you that x% of the overground trains ran on time in the last quarter. I've occasionally snapped pictures of those signs because I never once got the impression that things were getting better. TFL is pretty good in providing statistics on their website about their service, and I've done the math once to check if it actually was getting worse. Turns out I was wrong on that one. But things aren't getting much better either, and I can see those numbers just as easily go down again in the near future. There's nothing that inspired confidence in me to believe that there's an ever-decreasing amount of delays.

This leads me to the reason I hate the overground: the utter lack of accurate real-time reporting. The most common occurrence is a delay of under ten minutes. TFL's strategy of dealing with this is by not dealing with this. Every TFL employee just stays absolutely silent and hopes nobody notices. They certainly won't be updating the arrival times on the signs until well after it's too late. This is not a hard problem! Unless the staff are utterly and disastrously incompetent they would be immediately aware of the delay. They've got a website that everyone in London uses to check the delays which they could update immediately, but TFL deliberately chooses to take no action whatsoever whenever this happens, I guess in the hopes that the problem will magically go away?

Small delays don't always stay small delays, though. Sometimes a train needs to be taken out of service, or is delayed even further to even out gaps in the service, or any other reason really. That's perfectly fine. Once something's bad happened it of course make sense to return to normal service by whatever means necessary. But you need to report that to your customers, dammit! If I'm standing there at the bloody station for a train that's already ten minutes delayed without receiving any information at all about the state of the service, of course I am going to be even more annoyed if I suddenly hear that the next train is cancelled and I have to wait the better part of an hour for my next service. Whereas if TFL had reported immediately on the initial delay I would have stayed home just a little longer, checked the situation from their website and would have been much better off in the end. I wouldn't even have thought worse on TFL in that case, but if they make me walk to the station and make me wait in the winter cold when they could have told me already that there were delays, that's what really pisses me off. The problem is not the delays, it's TFL's lack of reporting on it which causes annoyance.

I realize that this is not a world-ending issue. No one will die from this problem, nor does it seriously affect the days of anyone involved. I can work from home, others may take taxis or busses, and in the end everything ends up just fine. But what really bothers me about this is that it's completely preventable. There is absolutely zero need for me or any other passengers to get annoyed at TFL for the delays if they just improved their reporting. There's staff at every station on my overground line, which is great, but they're all doing fuck-all whenever there's a delay when in fact they could be reporting the delay immediately so the TFL site can update. Not reporting on a delay until X minutes have passed is a terrible idea because it's not at all uncommon for smaller delays to snowball and become something worse.

Rant over. I am working from home today.

Posted in Daily Life , UK | Tagged , , ,

Kata Tjuta

img_1713ps

 

img_1756ps

Uluru was beautiful, but Kata Tjuta truly amazed me.

Posted in Photography , Travel | Tagged ,

Year-end-cap

Observations:

  • I got married!
  • I question whether this blog adds value to my real life any more.
  • Compared to 2015 I am cycling more and am fitter.
  • Being fitter has helped me keep my peace of mind during stressful situations at work.
  • Schelling points and fences are fascinating.
  • Next year I wish to speak my mind more freely among my friends.
  • I increasingly want to be part of a community again.
  • I actually typed a really long post for the end-of-year event but decided not to post it.
Prep work is done. Time to make a move.

Posted in Thoughts

Going home

Changing the country you live in has introduced a very particular anxiety inside me; an anxiety that I feel I've finally overcome. I've moved countries twice now, and both times I've had a strong sense of loss associated with the country I was leaving. I was afraid that everything I knew in there would disappear, and that it would no longer be 'mine'. Every time I'd go back to those countries I'd revisit all the places I had my best memories at, trying to document as much as I could of how I wanted to remember everything.

Years pass, and hardly a year goes by where I don't at least make a quick visit to either Japan or the Netherlands. The first going-back trips were only mildly memorable, with the memory of how I used to live in that country still fresh in my mind, and my mind uncertain about where I would be staying. But as I started to accept that, first, I wouldn't be returning to the Netherlands to live, and then, that I wouldn't be coming back to Japan any time soon, those trips became more nostalgic. Melancholic, even. Not overtly. Not obviously. But the feeling was always there at the back of my mind.

I've finally out-nostalgia'd myself. I've gone back to the Netherlands and to Japan so many times now that the going-back trip has become a steady, recurring, theme that I can rely on to keep occurring. No mad catastrophic event will suddenly wipe either country off the planet. Life moves on in all places. Nostalgia has been a warm and cozy side effect whenever I went back, but lately I am focusing more and more on the new things, on the way forward. Rather than seeing my experiences as a past that is over, I am starting to see it as a stable foundation that I can build something new on. It expands my options. The more I think about it this way, the more I am able to come to terms with my nostalgia. And finally, after ten years, I think I am at peace with having lived in multiple countries.

The past is dealt with. The future is being built.

Posted in Thoughts | Tagged