Download MarXbot User Manual Version 1.1 - MOBOTS

Transcript
Figure 6.2: The boundaries of the lifting and tilting motors.
3. The robot will tilt its gripper around itself (beyond the boundaries) to detect the ground and to be
able to set the tilting motor to its zero. Once done, the gripper returns to its new zero position.
4. The lifting arms will go down again to adjust the ground detection. When it detected the ground,
this time through the IR sensors, the robot is stopped and the three motors are calibrated to their
respective 0.
The robot should lie on a flat, obstacle-less, white surface during the calibration.
If during the phase 2 the robot doesn’t stop lifting itself after a few second, you
should press on the dsPic Reset to stop the calibration process, set the arms to a
position included in the boundaries and restart the calibration process. The lifting
and tilting motors must be in a position included in the boundaries before initiating
the calibration process. If at the end of the phase 3 the gripper is not at its 0 position,
the calibration process must be stopped (dsPic Reset) and restarted.
This calibration process can be ineffective on a few robots (it depends on the IR
values and the motor current feedback which can change from one robot to another). If you prefer, you can place the robot at the desired position yourself and
the launch the three functions call mot lift.enc.reset(), call mot rot.enc.reset() and
call mot tilt.enc.reset() which will set the motors encoders to 0 (the ”zero” position is when the turret is aligned with the treels and when the gripper lies on the
floor with the magnetic gripper at 0◦ as on 6.2). The three motors are reversible,
which means that you can move them by hand. But be careful, sometimes, the
mechanical links between the motor and the part you want to move can be a bit stiff.
The easiest method to place the motor where you want by hand is to set the variables mot lift.pid.enable, mot tilt.pid.enable and mot rot.pid.enable to
1 and then to set mot lift.pid.target current, mot tilt.pid.target current
and mot rot.pid.target current to 0. This means that the motors aimed current
is 0. When you will try to move one of these motors, it will generate a current.
Then, the motor will try to cancel this induced current by powering the motor in the
direction you are pushing. In the end, the motor will help you move itself and the
possible stiffness will disappear.
50