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