Difference between revisions of "Tilting Hokuyo"

From Healthcare Robotics Wiki
Jump to: navigation, search
(Power)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Author ==
 
== Author ==
Advait Jain (http://www.cc.gatech.edu/~advait)
+
Advait Jain (http://www.cc.gatech.edu/~advait), Advisor: Prof. Charlie Kemp
  
 
== What this does ==
 
== What this does ==
Line 28: Line 28:
 
[[Image:utm-servo-bracket.jpg|thumb| Image of the solidworks part for the bracket to mount the UTM on to the servo.]]
 
[[Image:utm-servo-bracket.jpg|thumb| Image of the solidworks part for the bracket to mount the UTM on to the servo.]]
 
This is the hardware setup that we use:
 
This is the hardware setup that we use:
* Tilting servo: Robotis Servo (typically we use RX-28) http://www.crustcrawler.com/motors/RX28/index.php?prod=66
+
* Tilting servo: Robotis Servo (typically we use RX-28) [http://www.crustcrawler.com/motors/RX28/index.php?prod=66 CrustCrawler]
* This gives a serial interface to control the servo: http://www.crustcrawler.com/electronics/USB2Dynamixel/index.php?prod=65
+
* This gives a serial interface to control the servo: [http://www.crustcrawler.com/electronics/USB2Dynamixel/index.php?prod=65 CrustCrawler]
 
* Hokuyo UTM. (http://www.acroname.com/robotics/parts/R314-HOKUYO-LASER4.html)
 
* Hokuyo UTM. (http://www.acroname.com/robotics/parts/R314-HOKUYO-LASER4.html)
 
* Bracket to mount the Hokuyo on to the servo.
 
* Bracket to mount the Hokuyo on to the servo.
 
** This is a custom part that we have designed.
 
** This is a custom part that we have designed.
** The solidworks CAD file ([[Media:utm-servo-bracket.sldprt|utm-servo-bracket.sldprt]]). This requires Solidworks 2009.
+
** The solidworks CAD file ([[Media:utm-servo-bracket.sldprt|utm-servo-bracket.sldprt]], [[Media:utm-servo-bracket.igs|utm-servo-bracket.igs]]). This requires Solidworks 2009.
 
** We have taken two routes for making the bracket
 
** We have taken two routes for making the bracket
 
**# buy Aluminium channels from http://mcmastercarr.com and drill the appropriate holes.
 
**# buy Aluminium channels from http://mcmastercarr.com and drill the appropriate holes.
Line 46: Line 46:
 
[[Image:robotis-servo-power.jpg|thumb| Image showing how we power the Robotis servos and connect to the USB2Dynamixel converter.]]
 
[[Image:robotis-servo-power.jpg|thumb| Image showing how we power the Robotis servos and connect to the USB2Dynamixel converter.]]
 
The image on the right shows how we power the Robotis servos and connect to the USB2Dynamixel converter.
 
The image on the right shows how we power the Robotis servos and connect to the USB2Dynamixel converter.
* The block labeled 12V is a power supply that takes unregulated 24V as input and gives 12V regulated as output. Regulated power is not required for the servos but we also use the same power supply for Hokuyos and so find it convenient. RX28 servos can take between 12V and 16V (I think. Please read the manual to confirm).
+
* The block labeled 12V is a power supply that takes unregulated 24V as input (red and white cables ending in a connector) and gives 12V regulated as output. Regulated power is not required for the servos but we also use the same power supply for Hokuyos and so find it convenient. RX28 servos can take between 12V and 16V (I think. Please read the manual to confirm).
 
* The output of this power block in the image is are the green (GND) and red (12V) wires.
 
* The output of this power block in the image is are the green (GND) and red (12V) wires.
 
* GND goes to both the USB2Dynamixel and the Robotis servo.
 
* GND goes to both the USB2Dynamixel and the Robotis servo.
 
* 12V goes to the servo only. Notice that a cable on the USB2Dynamixel is clipped. This is intentional and is the one that is labeled N/C on the USB2Dynamixel. Connecting 12V to that causes the USB2Dynamixel to burn.
 
* 12V goes to the servo only. Notice that a cable on the USB2Dynamixel is clipped. This is intentional and is the one that is labeled N/C on the USB2Dynamixel. Connecting 12V to that causes the USB2Dynamixel to burn.
 
* The rest of the wiring from the USB2Dynamixel is simply straight connections for the RS485 communication.
 
* The rest of the wiring from the USB2Dynamixel is simply straight connections for the RS485 communication.
 +
 +
==== Troubleshooting ====
 +
 +
* The RX28's communicate using RS485 protocol. Ensure that the USB2Dynamixel toggle switch is set to RS485.
  
 
== Code ==
 
== Code ==

Latest revision as of 19:38, 20 January 2012

Author

Advait Jain (http://www.cc.gatech.edu/~advait), Advisor: Prof. Charlie Kemp

What this does

Tilting the Hokuyo using a servo and reading back the servo encoder position while getting scans from the Hokuyo allows us to generate a 3D point cloud of the world in front of the robot. We have used this 3D point cloud for object segmentation, door handle detection etc.

We first used this sensor in this paper: EL-E: An Assistive Mobile Manipulator that Autonomously Fetches Objects from Flat Surfaces. Advait Jain and Charles C. Kemp. Autonomous Robots, 2009. This paper and others can be downloaded from the Heathcare Robotics Lab website (http://www.healthcare-robotics.com)


Pictures of the Setup

Hardware

Image of the solidworks part for the bracket to mount the UTM on to the servo.

This is the hardware setup that we use:

  • Tilting servo: Robotis Servo (typically we use RX-28) CrustCrawler
  • This gives a serial interface to control the servo: CrustCrawler
  • Hokuyo UTM. (http://www.acroname.com/robotics/parts/R314-HOKUYO-LASER4.html)
  • Bracket to mount the Hokuyo on to the servo.
    • This is a custom part that we have designed.
    • The solidworks CAD file (utm-servo-bracket.sldprt, utm-servo-bracket.igs). This requires Solidworks 2009.
    • We have taken two routes for making the bracket
      1. buy Aluminium channels from http://mcmastercarr.com and drill the appropriate holes.
      2. use http://www.mfg.com to get the part manufactured from the CAD file. Will take between a week to 10 days.
    • We thank Abhishek Bhatkhande for making the CAD model from the bracket design.
  • Screws:
    • Four M2x4 (2mm diameter, 4mm length) to connect the servo to the bracket.
    • Two M3x6 or M3x8 to connect the UTM to the bracket.
    • Longer screws will require washers.

Power

Image showing how we power the Robotis servos and connect to the USB2Dynamixel converter.

The image on the right shows how we power the Robotis servos and connect to the USB2Dynamixel converter.

  • The block labeled 12V is a power supply that takes unregulated 24V as input (red and white cables ending in a connector) and gives 12V regulated as output. Regulated power is not required for the servos but we also use the same power supply for Hokuyos and so find it convenient. RX28 servos can take between 12V and 16V (I think. Please read the manual to confirm).
  • The output of this power block in the image is are the green (GND) and red (12V) wires.
  • GND goes to both the USB2Dynamixel and the Robotis servo.
  • 12V goes to the servo only. Notice that a cable on the USB2Dynamixel is clipped. This is intentional and is the one that is labeled N/C on the USB2Dynamixel. Connecting 12V to that causes the USB2Dynamixel to burn.
  • The rest of the wiring from the USB2Dynamixel is simply straight connections for the RS485 communication.

Troubleshooting

  • The RX28's communicate using RS485 protocol. Ensure that the USB2Dynamixel toggle switch is set to RS485.

Code