-
Notifications
You must be signed in to change notification settings - Fork 0
arm_calibration
Calibration files:
-
Arm first joint position on body:
mbot_description/xacro/mbot_with_left_ist_arm.urdf.xacro -
Joint offsets:
mbot_drivers/cyton_gamma_1500_driver/ros/launch/dynamixel_joint_state_republisher.launch
Procedure:
-
rosrun mbot_rqt mbot_rqtto point the head camera to the arm and visually adjust (looking at the pointcloud and the robot model in rviz) map the offsets inmbot_with_left_ist_arm.urdf.xacro. The head camera must be well calibrated. -
Accurately move the arm so that each joint is in its zero position, and set to zero each
joint_offsetparam indynamixel_joint_state_republisher.launch. Keep the arm with all joints in zero position until the calibration is finished. -
execute (or re-execute)
bringup_mbot,moveit, androsrun moveit_commander moveit_commander_cmdline.py -
in the
moveit_commander_cmdline.pycommand line, execute these commands:
use left_arm
currentThe command current prints the current angle of each joint (starting from joint 0).
- set the
joint_offsetparam to the opposite value printed bycurrentfor each joint indynamixel_joint_state_republisher.launch.
E.g.: if the current joint 2 angle is 0.012, set
<param name="joint_offset" value="-0.012"/>
...
<param name="motor_id" type="int" value="2"/>- re-launch
bringup_mbotto update the offset parameters, and check again the current joint angles. If the calibration is correct, every angle measured with commandcurrentshould be very close to zero if the arm is positioned in its zero configuration.