Mike's 6-Axis Articulated Robot

macardoso

H-M Supporter - Silver Member
H-M Supporter - Silver Member
Joined
Mar 26, 2018
Messages
2,724
Hi All,

I'm very excited to share that after nearly 5 years of searching high and low, I have finally found a 6 axis robot that was affordable enough and the right size/shape for me to justify purchasing.

image001.jpg

This robot is a 1999 Denso VS-6354CM 6 axis vertically articulated robot. These are the most flexible of all the robot types and can move around in 3D space, plus position the tool in any orientation (given that the workspace constraints allow it). This unit would typically be used for high speed, high accuracy, low payload applications. The previous owner had a air actuated dispensing tool on the end of the arm for spraying some sort of dark grey enamel or paint. There is a fair bit of overspray on the robot which I hope to find a solvent to remove, otherwise both the robot and controller are remarkably clean.

This was purchased from HGR.com, an industrial surplus supplier in Cleveland for less than $400. New robots of this size can run from $20k and up depending on options and software. I have never seen one sell this inexpensively so I had to jump on it. I plan to do a lot of research into this unit and hopefully get it running again. The robot did come with a matching controller and a teach pendant, however these are only 2 parts of the system needed to run the robot as the manufacturer intended. Many are currently available on eBay, however they total to more than the cost of the robot.

I plan to keep this thread formatted much like the project log for the other robot I own, a 4 axis SCARA robot. If you haven't seen that thread, check it out here: https://www.hobby-machinist.com/threads/mikes-scara-robot.84001/

General:
  • Manufacturer: Denso Robotics (Headquartered in Japan)
  • Model: VS-6354CM
  • Software Version: 9.57
  • Date Mfg.: December 6,1999
  • No. of Axes/Degrees Of Freedom: 6
  • Weight: 28kg (62lbs)
  • Payload: Up to 5kg (11lbs) with reduced dynamics. Rated dynamics at 1kg.
System Part Numbers:
  • Operation Station:
  • Teach Pendant Cable:
  • Robot Motor Cable:
  • Robot Encoder Cable:
  • Controller Power Cable:
  • IO Output 1 Cable:
  • IO Output 2 Cable:
  • IO Input Cable:
  • IO Valve Cable:
  • Floppy Drive:
  • Floppy Drive Cable:
  • Calibration Data File (Floppy Disk):
  • WinCAPS Robot File (Floppy Disk):
  • Parameter File (Floppy Disk):
Kinematic Constants (Base Coordinates: X, Y, Z):
  • Base/J1 Offset: (100mm, 0mm, 335mm)
  • J2/J3 Link Length: 255mm
  • J3/Wrist Center "P" Length: 285mm
  • Wrist Center "P"/Tool Flange Face: R75mm
  • Spherical Wrist
Positioning:
  • Positioning Repeatability: +/-0.0008" or +/-0.02mm
  • Positioning Accuracy: Not stated - determined by calibration, movement accuracy, joint length accuracy, etc. Usually within 0.005"
  • Max Reach at wrist center from center of base: 25.66" (652mm)
  • Min Reach at wrist center from center of base: 10.43" (265mm)
  • J1 Range: +/- 140 degrees (nominal)
  • J2 Range: +100/-55 degrees (nominal)
  • J3 Range: +73/-103 degrees (nominal) - this needs a double check
  • J4 Range: +/- 168 degrees (nominal)
  • J5 Range: +/- 120 degrees (nominal)
  • J6 Range: Continuous Rotary
  • J1/J2 Max Angular Speed (1kg payload): 176 degrees/s - Note 1
  • J3/J4/J5 Max Angular Speed (1kg pyload): 209 degrees/s - Note 1
  • J6 Max Angular Speed (1kg payload): 290 degrees/s - Note 1
  • XY Max Cartesian Speed (1kg payload): 857mm/s or 2024 inch/min or 1.9 mph - Note 1
  • J1 Calibration Position: 142.867
  • J2 Calibration Position: -57.6772
  • J3 Calibration Position: 164.806
  • J4 Calibration Position: 171.339
  • J5 Calibration Position: 126.247
  • J6 Calibration Position: 92.0430
Note 1: These speeds are not exact and are calculated from positioning time charts. Actual max speed would be somewhat higher since these figures include acceleration and deceleration.

Motors:
  • Motor Type: Panasonic Minas-A Series (I think). Licensed to DENSO with DENSO-only part numbers. Panasonic Part Numbers in bold.
  • Encoder Type: Tamagawa TS5643N151 98 17-bit absolute multiturn battery-backed serial encoders. This may differ between motors.
  • --------------------
  • J1 Part #: 410622-0491 (S/N: 11U15) MSM022Q6U
  • J1 Encoder Part #: ?
  • --------------------
  • J2 Part #: 410622-0501 (S/N: 11U15) MSM042Q6V (Motor has 24VDC electromagnetic holding brake)
  • J2 Encoder Part #: ?
  • --------------------
  • J3 Part #: 410622-0511 (S/N: 11U16) MSM022Q6V (Motor has 24VDC electromagnetic holding brake)
  • J3 Encoder Part #: ?
  • --------------------
  • J4 Part #: 410622-0551 (S/N: 11U16) MSM5AZQ6Q
  • J4 Encoder Part #: TS5643N151
  • --------------------
  • J5 Part #: 410622-0561 (S/N: 11U16) MSM5AZQ6Q
  • J5 Encoder Part #: TS5643N151
  • --------------------
  • J6 Part #: 410622-0571 (S/N: 11U16) MSM5AZQ6Q
  • Replacement J6 Part #: 410622-0631 (S/N: 01I10) MSM5AZQ6Q
  • J6 Encoder Part #: TS5643N151 98 (S/N: B32803E)
Mechanical:
  • J1 Gearing arrangement: Direct Drive to Harmonic Gearset
  • J1 Harmonic Gearset Ratio/Part #: 100:1 (calculated), P/N unknown
  • --------------------
  • J2 Gearing arrangement: Direct Drive to Harmonic Gearset
  • J2 Harmonic Gearset Ratio/Part #: 100:1, Harmonic Drive P/N: 25-100-921494-17
  • --------------------
  • J3 Gearing arrangement: Direct Drive to Harmonic Gearset
  • J3 Harmonic Gearset Ratio/Part #: 80:1, Harmonic Drive P/N: 20-80-921496-12
  • --------------------
  • J4 Gearing arrangement: Belt Drive to Harmonic Gearset
  • J4 Belt Ratio/Tooth Count/Part #: 1:1, 28T (driving) to 28T (driven), Belt: MBL S3M219
  • J4 Harmonic Gearset Ratio/Part #: 80:1, Harmonic Drive P/N: HS14-80-921773-14
  • J4 Total Gear Ratio: 80:1
  • --------------------
  • J5 Gearing arrangement: Belt Drive to Harmonic Gearset
  • J5 Belt Ratio/Tooth Count/Part #: 1:1, 28T (driving) to 28T (driven), Belt: ???
  • J5 Harmonic Gearset Ratio/Part #: 80:1, Harmonic Drive P/N: HS14-80-921773-5
  • J5 Total Gear Ratio: 80:1
  • --------------------
  • J6 Gearing arrangement: Belt Drive to Bevel gearset to Harmonic Gearset
  • J6 Belt Ratio/Tooth Count/Part #: Ratio: 1:1, 28T (driving) to 28T (driven), Belt: MBL S3M267
  • J6 Bevel Gearset Ratio/Tooth Count: Ratio: 1:1, 20T (driving) to 20T (driven)
  • J6 Harmonic Gearset Ratio/Part #: Ratio: 50:1, Harmonic Drive P/N: SF14-50-921826-4
  • J6 Total Pre-J5 Coupling Ratio: 1:1
  • J6 Total Post-J5 Coupling Ratio: 50:1
Maintenance:
  • Torque mounting bolts and gearbox bolts to spec (in Chapter 6 of manual) every 3 months (~250-500 hours of operation)
  • Clean controller fan filters every 3 months (~250-500 hours of operation)
  • Drain grease and pump new grease into each joint every 4000 hours of operation (1-2 years depending on duty cycle).
  • Apply grease to inside of plastic covers where wire bundles slide every 4000 hours of operation (1-2 years depending on duty cycle).
  • Replace encoder backup battery every 2 years.
  • Replace controller memory backup battery every 2 years.
  • Grease: Kyodo Yushi, MULTEMP AC-N high performance lithium grease made from synthetic hydrocarbon oil and synthetic ester oil.
Electrical/Pneumatic:
  • 10 conductors for robot tool passthrough. Available on back of wrist.
  • 1 air/process gas inlet. Internal solenoid valves. (3) double acting valves. (6) output ports available on back of wrist.
  • CN10 (Control Motor Power): JAE 24-28S
  • CN11 (Control Power Input): DDK 18-10 CE05 JAPAN
  • CN13 (Robot Motor Power): JAE 24-B28PC
  • CN20 (Robot Tool Input): JAE 25-24PC
J1 Axis Motor Data:
  • Rated Power (W): 200
  • Torque Constant (N*m/A_rms): ???
  • Rated Torque (N*m): ???
  • Peak Torque (N*m): ???
  • Inertia (Kg*m^2): ???
  • Poles Per Revolution (n): ???
  • Winding Resistance (Ohms): ???
  • Winding Inductance (H): ???
  • Inductive Time Constant (ms): ???
  • Rated Voltage (Volts): 200
  • Rated Speed (RPM): 3000
  • Maximum Speed (RPM): 5000
  • Continuous Current (A): ???
  • Peak Current (A): ???
  • Damping Coefficient (N*m/(Rad/s)): ???
  • Voltage Constant (V_rms/k_RPM): ???
  • Overload Limit (%): ???
  • Acceleration (Rev/s^2): ???
  • Thermal Model Parameters:
    • Rth-we (C/W): ???
    • Cth-we (W*s/C): ???
    • Rth-wa (C/W): ???
    • Cth-wa (W*s/C): ???
  • Flux Saturation Curve (% Nominal Inductance): Use 1.0 for all values
  • Brake: None
J2 Axis Motor Data:
  • Rated Power (W): 400
  • Torque Constant (N*m/A_rms): ???
  • Rated Torque (N*m): ???
  • Peak Torque (N*m): ???
  • Inertia (Kg*m^2): ???
  • Poles Per Revolution (n): ???
  • Winding Resistance (Ohms): ???
  • Winding Inductance (H): ???
  • Inductive Time Constant (ms): ???
  • Rated Voltage (Volts): 200
  • Rated Speed (RPM): 3000
  • Maximum Speed (RPM): 5000
  • Continuous Current (A): ???
  • Peak Current (A): ???
  • Damping Coefficient (N*m/(Rad/s)): ???
  • Voltage Constant (V_rms/k_RPM): ???
  • Overload Limit (%): ???
  • Acceleration (Rev/s^2): ???
  • Thermal Model Parameters:
    • Rth-we (C/W): ???
    • Cth-we (W*s/C): ???
    • Rth-wa (C/W): ???
    • Cth-wa (W*s/C): ???
  • Flux Saturation Curve (% Nominal Inductance): Use 1.0 for all values
  • Brake: 24VDC, power to release
J3 Axis Motor Data:
  • Rated Power (W): 200
  • Torque Constant (N*m/A_rms): ???
  • Rated Torque (N*m): ???
  • Peak Torque (N*m): ???
  • Inertia (Kg*m^2): ???
  • Poles Per Revolution (n): ???
  • Winding Resistance (Ohms): ???
  • Winding Inductance (H): ???
  • Inductive Time Constant (ms): ???
  • Rated Voltage (Volts): 200
  • Rated Speed (RPM): 3000
  • Maximum Speed (RPM): 5000
  • Continuous Current (A): ???
  • Peak Current (A): ???
  • Damping Coefficient (N*m/(Rad/s)): ???
  • Voltage Constant (V_rms/k_RPM): ???
  • Overload Limit (%): ???
  • Acceleration (Rev/s^2): ???
  • Thermal Model Parameters:
    • Rth-we (C/W): ???
    • Cth-we (W*s/C): ???
    • Rth-wa (C/W): ???
    • Cth-wa (W*s/C): ???
  • Flux Saturation Curve (% Nominal Inductance): Use 1.0 for all values
  • Brake: 24VDC, power to release
J4/J5/J6 Axis Motor Data:
  • Rated Power (W): 50
  • Torque Constant (N*m/A_rms): ???
  • Rated Torque (N*m): ???
  • Peak Torque (N*m): ???
  • Inertia (Kg*m^2): ???
  • Poles Per Revolution (n): ???
  • Winding Resistance (Ohms): ???
  • Winding Inductance (H): ???
  • Inductive Time Constant (ms): ???
  • Rated Voltage (Volts): 100/200
  • Rated Speed (RPM): 3000
  • Maximum Speed (RPM): 5000
  • Continuous Current (A): ???
  • Peak Current (A): ???
  • Damping Coefficient (N*m/(Rad/s)): ???
  • Voltage Constant (V_rms/k_RPM): ???
  • Overload Limit (%): ???
  • Acceleration (Rev/s^2): ???
  • Thermal Model Parameters:
    • Rth-we (C/W): ???
    • Cth-we (W*s/C): ???
    • Rth-wa (C/W): ???
    • Cth-wa (W*s/C): ???
  • Flux Saturation Curve (% Nominal Inductance): Use 1.0 for all values
  • Brake: None

image002.jpg

image015.jpg

Again, not much of a machining project, but I enjoy this community and hope you will follow along!

-Mike

I think this is the last robot my wife will let me bring home :oops:

EDIT 1/31/2022: Added data from manuals. Added some motor data.
EDIT 2/3/2022: Added missing motor part numbers. Added some motor data.
EDIT 2/8/2022: Added info about replacement J6 motor and mechanics information on J4, J5, J6.
EDIT 2/10/2022: Added mechanics information on J1, J2, J3
EDIT 2/14/2022: Corrected gearbox ratio
EDIT 3/3/2022: Confirmed J3 gear ratio, added J3 gearbox part number
 
Last edited:
Couldn't resist taking some of the covers off the robot right away. Some beautiful mechanics under the hood. They get complicated in some places since the cables need to be routed around in a way that they don't snag or bend too sharply as the robot contorts into various positions.

image007.jpg

image008.jpg

image009.jpg

image011.jpg

One motor for the Joint 6 rotation is removed in the image below.

image014.jpg

And the inside of the controller:

image004.jpg

Look at that pair of Intel i386 DX/387 DX! I got a big smile seeing those!

image005.jpg

A screen shot of 1 of the 6 servo amplifiers inside this box.

image006.png
 
Any idea what you will use it for?
 
Any idea what you will use it for?
Right now, it will be very much about the journey, rather than the destination. I love reverse engineering old stuff and getting it working. My last robot took me well over a year to get it fully operational, so I expect this will fall into that same level of difficulty.

Things I could do with it:
  • Load tools into my CNC mill
  • Load parts into my CNC mill
  • Both at the same time :)
  • Attach a small router/milling cutter and generate full 5 axis machining motion
  • Silly assembly/workcell tasks
  • Take it to the nearest high school or First robotics team to get kids interested in STEM.
 
Awesome score. I really enjoyed your 4-axis robot recovery/restore so I am eagerly looking forward to following you on this one.
 
Right now, it will be very much about the journey, rather than the destination. I love reverse engineering old stuff and getting it working. My last robot took me well over a year to get it fully operational, so I expect this will fall into that same level of difficulty.

Things I could do with it:
  • Load tools into my CNC mill
  • Load parts into my CNC mill
  • Both at the same time :)
  • Attach a small router/milling cutter and generate full 5 axis machining motion
  • Silly assembly/workcell tasks
  • Take it to the nearest high school or First robotics team to get kids interested in STEM.
No tool needs a justification, so ‘the journey’ is a great reason. I’m watching this thread with fascination. I remember building gcc as a cross compiler, cobbling together a memory mapped interface to a Sun 3 workstation, and writing a bare-bones SCSI i/o routines to load programs and save data from a 386/387. We were building parallel simulation machines.
 
The robot is pretty good shape, but there a few problems that I already know of:
  • The Joint 6 motor (the smallest one) is binding up. Could be bad bearings, corrosion, or a bent shaft. The encoder looks good and the phases check out without shorts or opens. I might be able to repair it, but replacements, even if available could be $200-300.
  • The robot is covered in overspray from whatever dispensing process it was doing before. I haven't found a solvent yet that cleans it up. This is purely cosmetic, but I want this thing to shine!
  • The motors have Tamagawa serial encoders in them. This limits my options significantly to select a replacement servo drive to run them. The encoders are absolute multiturn (good) but need a battery backup in them or the data is reset to 0 (bad). The battery was last changed in 2011, so I can pretty much guarantee it is dead.
  • The robot has no homing switches. Thanks to the absolute encoders, no homing is needed. However if the encoders zero out, the calibration is lost and the robot has no idea where it is. (EDIT: See Note below)
  • The calibration is stored in the robot controller, and I don't have any way to read it without buying all the pieces I am currently missing. This data too is likely stored is battery backed memory. I expect this battery to also be dead and all robot parameters and program data to be lost.
  • The J2 motor/gearbox is incredibly stiff and I've barely budged it. I hope this is not related to a damaged motor and gearbox and is more a function of how large of a motor/gear ratio there is at that joint and how much friction exists to backdrive it.
  • The J3 motor is moderately stiff. I hope this is not related to a damaged motor and gearbox and is more a function of how large of a motor/gear ratio there is at that joint and how much friction exists to backdrive it. This one is a lot better than the J2 which makes sense since it takes less load in operation.
  • This robot is out of support from DENSO for over 15 years. They were kind enough to give me the manuals, however I was told there would be no more support. I think I can only call in once or twice more before they cut me off, so I need to carefully pick which questions I want to ask.
  • The motors have DENSO branded labels on them, but I'm 95% sure they are Panasonic servos. Depending on how amenable Panasonic is to helping me, it might be VERY difficult to get the data I need on the motors to get them running on 3rd party drives. Sometimes these specially branded components come with contracts that prevent companies like Panasonic from supporting me. Age is on my side as many of these products are fully discontinued and everyone understands there is essentially no commercial reason to keep things secret anymore.
  • The manual for this robot omits any data about the motors, gearboxes, or pinouts for the various cable harnesses.
EDIT: J6 motor is toast. The permanent magnet rotor fragmented and cannot be repaired. I have to replace this unit.

EDIT: If I had actually read the manual, I would have known that the J2 motor and J3 motor have 24VDC holding brakes on them. I really shouldn't have been trying to force them around by hand with the brake engaged. On the plus side, I feel it less likely that there is gearbox or motor damage on those axes. The "brake" option was a different model robot and I assumed that because I didn't have it, my robot had no brakes whatsoever.

NOTE: There is a sticker on the robot which has all of the angular offsets at the CALSET position (basically hardstops on all axes). I should be able to use these numbers to calibrate the robot for the kinematics. My last robot did NOT have these numbers and it was a pain to measure them. Not even sure how I would do that with this one. It was very nice that DENSO included them. Additionally, the manual entails a procedure to zero out the encoders when powered to store their position at CALSET. Assuming the robot has never been crashed, this should be good. I am missing the J6 calibration fixture, so that axis' CALSET number will not be any good, but it is also the easiest to measure and is somewhat arbitrary. The rest are very important for the kinematics.

From the manual:

1643645466910.png

1643645506016.png
 
Last edited:
No tool needs a justification, so ‘the journey’ is a great reason. I’m watching this thread with fascination. I remember building gcc as a cross compiler, cobbling together a memory mapped interface to a Sun 3 workstation, and writing a bare-bones SCSI i/o routines to load programs and save data from a 386/387. We were building parallel simulation machines.
I pride myself in a wide swatch of knowledge, but I have absolutely no clue what half of what you said means :)
 
I pride myself in a wide swatch of knowledge, but I have absolutely no clue what half of what you said means :)
University project, we were building a special purpose computer to provide real-time simulation of ballistic missiles and missile interceptors. Reagan era star wars. Idea was a test bed for potential “brains” for those interceptors. It used 32 cpus. Couldn’t run a regular operating system on the processors due to real-time constraints. I was working on a 2nd gen machine, upgrading from 286 to 386. Hardware, software, and disk storage …
 
University project, we were building a special purpose computer to provide real-time simulation of ballistic missiles and missile interceptors. Reagan era star wars. Idea was a test bed for potential “brains” for those interceptors. It used 32 cpus. Couldn’t run a regular operating system on the processors due to real-time constraints. I was working on a 2nd gen machine, upgrading from 286 to 386. Hardware, software, and disk storage …
Wow, that is an awesome application. It's amazing that a lot of that stuff is likely still running on 80's hardware.
 
Back
Top