Robotics lab resources: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
Line 17: Line 17:
; rob3_read_joints(sp): reads the angular position of all joints, returning a vector [71, position_1, ..., position_6, 3]
; rob3_read_joints(sp): reads the angular position of all joints, returning a vector [71, position_1, ..., position_6, 3]


Functions '''rob3_move_joint_with_speed''' and '''rob3_move_joints_with_sp'''eed are similar to the ones above without the '''_with_speed''' part, except that these take an extra argument corresponding to the speed(s) of the joints.
Functions '''rob3_move_joint_with_speed''' and '''rob3_move_joints_with_speed''' are similar to the ones above without the '''_with_speed''' part, except that these take an extra argument corresponding to the speed(s) of the joints.


=== Hardware repair ===
=== Hardware repair ===

Revision as of 12:47, 9 April 2008

This page contains information regarding the lab classes of the undergrad course Robotics at Instituto Superior Técnico. This is NOT the course official page (which can be found here looking up for Robótica).

ROB3/TR5 robotic arm

Interface with MATLAB

The latest version of the software (developed in house) can be found here: matlab_rob3_tr5.zip

API descripton:

serial_port_start()
initializes the serial port, returning an object referencing it

In the following functions, the argument sp corresponds to this serial port object.

rob3_init(sp)
initializes the arm, returning a (meaningless) integer
rob3_move_joint(sp,n,x)
moves joint n to angular position x
rob3_move_joints(sp,v)
moves all 6 joints to the positions defined by the vector v (1x6)
rob3_read_joint(sp,n)
reads the angular position of joint n, returning a vector [64+joint-1, position, 3]
rob3_read_joints(sp)
reads the angular position of all joints, returning a vector [71, position_1, ..., position_6, 3]

Functions rob3_move_joint_with_speed and rob3_move_joints_with_speed are similar to the ones above without the _with_speed part, except that these take an extra argument corresponding to the speed(s) of the joints.

Hardware repair

There are two common hardware problems with these arms, which can easly be repaired (by the lab technical staff only!). The MATLAB function rob3_selftest facilitates diagnosics by moving all joints in sequence.

One concerns the failure of the power drivers, an H-bridge with a small heatsink glued on top of it. The arm has three of these chips, which model is L293 (datasheet). To diagnose this problem, switch the connectors of two joints to locate the problematic chip.

Another one concerns the failure of a voltage inverter, responsible for providing a negative voltage for the RS232 drivers. The chip is the 7660 (datasheet). To diagnose this problem check whether the voltage at pin 5 is negative: in normal operation pin 8 reads about 8V, while pin 5 reads about -8V.

Pioneer III DXe mobile robot

LEGO Mindstorm mobile robot

Bioloid humanoid kit