Post 3 – Heads Up!


It's been a couple of weeks since my last post, so it's time for an update on what I've been up to. Things have been pretty hectic here at Phoenix Labs. I'm attending a business development programme a couple of days a week, and we've also had the Whit Bank Holiday, when I spent time with my family, so my actual working time has been reduced. Never the less, progress has been made!

Firstly, the LIDAR Laser Scanner unit I ordered from the USA has arrived, along with the controller board, see the photo below. I haven't tried it out yet as it will take me a while to figure out how to interface to it in both hardware and software, and I didn't want to break off from the project I started while I was waiting for it. Also, I ordered a bunch of components, including various connectors, so that I can build a stripboard version of the mobile platform controller, and I want to build this before I go further with it. This is partly because it will look better & be able to be mounted securely, but also so I don't get plagued with wires coming out of the breadboard I'm using, causing time to be spent fault finding instead of developing!



LIDAR Laser Scanner & its Controller Board


LIDAR units are the main device used in mobile robots in many applications. They give very accurate ranging information on objects around the robot, and also a large number of samples in a 360 degree scan. The drawback is that they are generally expensive, from several hundred pounds to many thousands of pounds. The main purpose for me getting the LIDAR unit is to trial it in my application. I can then do a cost / benefit analysis between it and using several ultrasonic modules, which cost around one pound each. I intend to run the mapping with both, and I'll present my findings on here when I've done that.


Now, moving on to what I've been doing in the lab for the last couple of weeks. I decided to make a start on the next subsystem I need for my robots – the vision system. This is to explore the use of cameras and image processing which I want to use for my robots to be able to move around effectively and to recognise objects and their surroundings. Part of the goal is to be able to perform the mapping (constructing a map of where you've been) and localisation (identifying where you are within the map you've constructed) using visual cues rather than relying on the data from the sensors (ultrasonic, LIDAR, etc). This will make the robots much more flexible in their abilities, and hence in the tasks they can perform.

Now, I reckoned that if you are going to have cameras on a robot for it to see, then they needed to be mounted in a head – so I set about making a prototype. Here's a video of the first trial of the head.

Trial of Head control - standalone

There are no cameras in this, I was just checking out the range of the movement to see if it looked right. I think that I got the ranges about right in both the horizontal and vertical movement, although I think that the depth of the head, from the face to the pivot, is too much, but I'll correct that in the next version. After all, that's what prototyping is all about!

Having got the head built and working as a stand-alone unit, I went on the develop some code on the PC to let me send commands to it via a USB port. This is necessary because the controller I'm using to drive the head doesn't have enough processing power to handle a camera and perform image processing, so I'm using a PC to do this part. Once I have it working I'll look to porting the code across to a Raspberry Pi so that it can be fitted into the overall robot.

Here's a short clip of driving the head from the PC.

Giving it a position from the keyboard


The next step for this part of the robot development is to interface a USB camera with the PC and then to use that to get images and process them. I'm aiming to have something to show on this next time.

On the whole, I have to say that I'm pretty happy with the results I've achieved so far, and I'm looking forward to the further developments I have planned. If you have any comments or feedback on this, please either post a comment on here, or send via an email to steve@phoenix-labs.uk Put “Blog” in the subject line so that it stands out in my inbox.

In order to fund my on-going development of the robots, I'm thinking of making kits of parts available to hobbyists and schools to allow them to build some of the projects I'm developing. These would be at a much lower cost than the currently available offerings with similar capabilities, with mine having the advantage that they can be combined to produce a very sophisticated humanoid style robot, where the users can expand on the basic programs it comes with. I'd be interested in people's thoughts on this, before I spend lots of money getting things set up.

Please feel free to share.

Steve
Phoenix Labs Ltd



Comments

Popular posts from this blog

Post 4 - Oh, I see!

Post 2 - Mobile Platform Prototype

Post 5 - Arms Race! - Part 1