Difference between revisions of "Reddy Update"

From IntRoLab
(CAN command format for RS-232 communication)
(CAN command format for RS-232 communication)
Line 89: Line 89:
  
 
== CAN command format for RS-232 communication ==
 
== CAN command format for RS-232 communication ==
 +
<center>
 +
 
{|
 
{|
 
|-
 
|-
Line 110: Line 112:
  
 
|}
 
|}
 +
</center>
  
 
= Future Improvements =  
 
= Future Improvements =  

Revision as of 14:28, 28 July 2009

Schedule

Week 31, July 27 - August 1
  • Ordered new coupling for shoulder
  • Fab. + installation of head mechanism for gravity assist (previous one had interference problems with other head parts)
  • Assembly and installation of 1 motor PCB for neck
  • Assembly and installation of the speaker PCB + support
  • Final tuning of motor controllers
  • Documentation (protocol)
Week 32, August 3 - August 9
  • Final tests & tuning
Week 33, August 10 - August 15
  • Schedule a meeting for robot exchange

Arm Improvements

To have better control of the arm (and neck) motors, we did the following :

  • Change the Motor PCB to support
    • Temperature detector. A signal will be sent to the motor controller if the motor temperature is higher than 60 degrees celcius. Analog temperature value is also available.
    • Potentiometer feedback.
    • Motor power connection.
  • Design a new PCB with support to 4 motors
  • Communicate with the CAN bus already available on Reddy
  • Allow position feedback from the RS-232 interface
  • Create a tuning GUI for easier setup of the robot controllers

Motor PCB

Motor Controllers

ReddyMotorControllers.jpg

  • A new motor drive that can connect up to 4 motors have been designed.
  • A new adjustable bracket for fixing the drive to the side of the robot have been designed.
  • We installed two motor controllers (one on each side) to allow the modification of 8 motors. Motors modified are :
    • Arm-elbow (x2)
    • Arm-shoulder (x2)
    • Arm-updown (x2)
    • Neck-YES (x1)
    • Neck-NO (x1)

Cabling Improvements

ReddyArmCables.jpg

  • Cables are now better organized
  • Added connectors inside the arm to disconnect motors easily for repairs
  • Signals are color coded as follow (TODO ADD DOCUMENTATION)
    • Red
    • Green
    • Black
    • Yellow
    • Purple
    • Gray
    • White
    • Blue

Head Improvements

File:ReddyGravityCompensation.jpg


Motor controllers for head movement (YES-NO)

  • Same motor controllers were used for the neck to add overheating protection and better feedback / control
  • Internal servo potentiometers were used for position control.

Tuning the motor controller

A GUI was created to facilitate motor tuning.



RS-232 protocol enhancements

  • We added a CAN command to the RS-232 robot interface to allow direct communication with the motor controllers. The RS-232 robot interface now acts as a RS-232 to CAN bridge and bidirectional communication is now possible. This will allow feedback from the motor controllers (current, position, speed, etc.)
(RS-232 CAN COMMAND) <------------------------> (MOTOR DRIVE CAN INTERFACE)


CAN command format for RS-232 communication

HEADER CAN_PRIORITY CAN_MSG_TYPE CAN_MSG_BOOT_RTR_LENGTH CAN_MSG_CMD CAN_MSG_DEST CAN_MSG_DATA
(3 bytes) (1 byte) (1 byte) (1 byte) (1 byte) (1 byte) (8 bytes)

Future Improvements

  • Single 12V power supply could be useful for direct connection to Pioneer robots. A 12V-->8.5V DC-DC (100W) converter is required for this operation. This item can be ordered at Vicor. 8.5V batteries would then be useless.

Additional Notes

Documents

File:MotorControllerTuningWin32.zip