The last few updates have added some much needed core functionality that makes this code work well for basic driving at events. Future versions will improve on this and add extra modules for more fancy items.
With this release, the following functionality is working, having been tested at a number of events over the last few months.
Sounds – 486 MP3 tracks installed, and easy to add more.
Servo control – Can add Adafruit 16 channel PWM controllers and control many servos for opening doors, etc.
Web control – Built in web interface to do basic controls and testing
PS3 controller – The PS3 controller is working well, interfacing with the r2_control API to trigger sounds, servos, scripts, etc. It also interfaces directly to the motor controllers for movement.
There is also some WIP functionality that I don’t class as core.
Monitoring – got a POC of system monitoring (voltages, currents, etc.)
Telegram – Communication and control over instant messenger
I’ve many plans for future expansion of r2_control for version 2.0, which I will hopefully get time to do in the coming months. These are just some of them:
Refactor of PWM code using updated Adafruit I2C libraries
Add modules for rseries logics and flthy HP systems.
Finish the monitoring system
Switch the dome control to packet serial rather than PWM servo control
Move dome control into core r2_control, rather than direct from PS3 controller
Auto dome (auto center, turn, etc.)
For now, there are too many events coming up to be able to risk taking R2 out of commission, so most of the work will be on tweaking the actual droid and tidying things up.
As mentioned in my previous post, R2’s current main upgrade is to the center foot. The main parts to improve are the wheel, the shell, and the ankle attachment to the body. Improving all these should give a much smoother ride.
Originally, the center foot had one large castor that swivelled on a mount. The main problem with this is that a) it has to swivel to change direction, and b) because of that the wheel needs to be smaller to allow the change of direction and not hit the foot shell.
With the new Omni wheels from Vex Robotics, there is no need to have any swivel built in as the wheels can roll in any direction smoothly. This also allows the use of much bigger wheels which gives a smoother ride and makes it easier to get over obstacles. The wheels were mounted into a custom chassis that I made from sheet and square tube aluminium which gave a very solid ride. (See this blog post for more info) This also mounted directly to the ankle to make the whole system more rigid.
The foot shell I had in place was one I received near the start of my build, and was never particularly happy with. Recently a member of the UK Builders Club, Mark Leigh, started making some new steel foot shells for members and I decided to fork out for a set. I’m very glad I did as they are excellent quality and up to club spec.
There are a number of benefits to the new shells. For one, the side panels come off which allows for easy access to the main ankle bolt which was a major limitation of the previous one. Also, all bolts could be tightened up with allen keys or screwdrivers whereas before a lot of them could only be done to hand tight, and even then it was very awkward.
Lastly, the new foot shell is no longer structural, with the shell, ankle, and wheel chassis all being mounted via the same bolt. Previously the castor was attached to the shell, which was then attached to the ankle. When I removed the old foot, there was a lot of wear and potential failures waiting to happen.
This improvement should never really have been needed if I’d done the job properly in the first place. The ankle is bolted to a plate which bolts through the body into the skirt. When I initially did this, I didn’t make sure the plate was a consistent level, and didn’t have all the bolts done up properly. This led to a lot of wobble and eventual failure of one of them, and then a temporary fix.
This time however, I made some decent spacers all the same length, and bolted everything through them to R2’s skirt (a new aluminium one, but that doesn’t really make a difference, would work fine with the old fibreglass one).
After all this, R2 was feeling rock solid, at least as far as the center foot is concerned.
This weekend R2 was at NWCC Bolton which was going to be his first big test on the new foot. The night before the event, the organisers posted a picture of the hall where everything was taking place and it got me a bit worried. It was a fully carpeted venue. The only part that looked like a hard floor was a little bit infront of the bar where they had the arcade games lined up.
With the old foot, this would have been pretty much a show stopper. However, I got there and unloaded R2 into the hall and turned him on for a test.
Wow, what a difference. At his last event at new year, R2 had great issues being on carpet and I had to push him a fair bit. This time however, not a problem at all. I even got brave and tried going over the transition from hard floor to carpet, and he didn’t miss a beat or slow down. Even going over door thresholds with barely a judder.
This has got to be one of the best upgrades I’ve given R2 since I got him working. I’m so pleased with it all and would heartily recommend Omni wheels for any astromech. Infact, I’m currently wondering if I should replace the castors on the main drive too.
Of course, it wasn’t just the Omni wheels that made the difference, a combination of all three improvements contributed, but I do feel that the wheels made the majority of it.