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
Post a Comment