Monday, March 1, 2010

Under the Hood: The Secrets of Hokuyo URG-04LX-UG01 Laser Rangefinder


Now that I have a cleanroom to work in, lets get started.

Today, we are going to open the Hokuyo URG-04LX-UG01 Laser Rangefinder to uncover its secrets. Hopefully we can figure out a way to make it lighter, stronger and/or faster.


The laser diode is mounted on the lid and it looks like the optics are the only parts that spin, which should remove the need for a slip ring.


Here you can see the lens for the laser detector.


More photos.


The mirror and lens assembly is mounted on top of a rotating motor.


This photo shows clearly where the encoder is located. This is used to synchronize the laser pulses with the position of the mirror/lens.


Now lets check out its bottom.


Here are the power electronics for driving the laser.


A stack of circuit boards is connected to the brushless motor.


It looks like a harddrive or cdrom drive motor. I can tell from the wires and having taken apart a few harddrives.


Here is another photo.


Now it is time to reassemble the laser.


Here it is reassembled and working.

The laser itself without any cables weighs 139 grams according to my uncalibrated scale. The cable weighs almost as much, coming in at 101 grams. Re-making the cable seems like an easier solution than trying to make any changes to the laser rangerfinder.


The cable has two USB Type A connectors to provide enough power for the laser without violating the USB specifications, only one of them is used communications however.

Now I just need to convince someone that it is a good idea to let me take apart a SwissRanger.

Update:

18 comments:

beambot said...

I'll have to add this one to the collection. I've been too timid to actually disassemble one of my lab's URG's, so thanks! Don't suppose you happen to have a UTM laying around (again, too timid on my end)...?

FYI, I've already got disassemblies of a SICK LMS291, Velodyne HDL-64E, and Omron OS3100.

I Heart Robotics said...

That is a great collection of disassemblies.

I don't have UTM available, but I'd be happy to take one apart.

I really want to take apart the SwissRanger to find out if there is any reason it is so heavy.

I Heart Robotics said...

I also added Hizook to the blogroll.

cyrozap said...

"It looks like a harddrive or cdrom drive motor. I can tell from the wires and having taken apart a few harddrives."

Just so you know, that hard drive motor is called a stepper motor. It uses alternating coils of magnets (that's why there are a bunch of wires coming out of it) to turn the magnetic core. They're also used in some CNC machines, the RepRap 3D printer, and other places that need reliable open-loop speed/rotation control.

Keep up the good work!

I Heart Robotics said...

The hard drive spindle motor looks more like a brushless DC motor than a stepper motor. Though the two are related.

Here is a driver circuit for the motors
http://letsmakerobots.com/node/2898

I am pretty sure the center wires goto an IR sensor so that leaves four wires to control the motor. Those should be phases A,B,C and ground.

cyrozap said...

Whoops! That means I've been trying to use my HDD motor all wrong! :P

Thanks for the info!

jason said...

I'm thinking about getting one of these for doing 3D scans on a robot, actuated by an AX-12... since you took it apart, do you have an idea how one might add a sync signal to the system (like the regular 04LX has)? Perhaps there's room for a small IR sensor or some such within the case, to output an analog signal one could pick up with a microcontroller... Thanks, and cool blog!

beambot said...

@Jason,

Our lab previously combined a hokuyo laser rangefinder with Robotis servo to build a "tilting hokuyo system" that produces large 3D point clouds. You can find more information here.

If you're hooking your system up to a PC, a more recent (modern?) improvement is to use the Robot Operating System (ROS), which has built-in URG drivers and some Robotis Dynamixel Servo Drivers that I wrote. When you publish coordinate transforms of the angles, ROS's tf (transforms library) will automatically interpolate the transforms over time (linear interpolation in angle) and give very accurate 3D pointclouds. If you have any questions, ping me at Hizook.com.

Paul said...

Hi, I have a Hokuyo URG and had a little accident that danified the circuit that connects to the usb connector (female). Is the any chance to get the circuit layout with its components? While soldering I damaged a component that I'm not sure what it is. Is one of the three little components right after the usb connector (I believe it's a condenser). If so could you please tell me it's capacity or help me in any way?

I Heart Robotics said...

I don't have any additional photos handy but if you can post a photo somewhere maybe we can figure it out.

Paul said...

Hi,

this is the only photo I could get in such shot notice:
http://dl.dropbox.com/u/3184657/Fotografia0317_1.JPG
It's the last pcb board (the responsible for the USB communication)
Is the any chance you could get me the list of components of the marked spot? or do you know if and where they sell the boards separated?

thanks for the help

Paul said...

Does anyone know where i can find a used or damaged laser?

I Heart Robotics said...

Is the component connected directly to the USB connector? If so which pin on the usb connector is it attached to?

Paul said...

Hi,
it's the 2nd pin (http://goo.gl/BDUSi), the one after the 0v pin.

Paul said...

Hi, could you please post photos oh the last board (both sides), please.
It could help me very much

I Heart Robotics said...

I added a photo. It looks to me like they are ESD protection diodes.

If that is the only part that looks damaged you may want to send the laser in for repairs since the problem will likely require some understanding of the inner workings.

Paul said...

thanks for the help, i managed to fix it. once again thanks for the help

Paul said...

hi, paul one again....
does anybody know the reference of the usb comunication chip??
the component I referred to early is a condenser, i think, to filter noise......
can anyone discover the value of each one?
please,....