Robotics 2016 Project: Incision
Application of Robot Arm in 2D Incision
Cao Yuchen Zhang Shuai Shan Zeyong
We'd like to apply the 6-axes robot arm in traditional 3-axes or 5-axes CNC machine. Traditional 3-axes or 5-axes CNC machine has many limits: 1) Most of traditional CNC machine is in a enclosed box. 2) The milling head just can move in 3-axes and the milling range is limited. 3) The robot arm can move around the object thus the object can be very large, such as a sculpture. The robot arm based CNC machine we build will be capable of doing these job.
Keywords: Moveit! Path Planning 2D Incision Driller
The Robotic Arm is a programmable mechanical arm, which is mimicing the movement of human arms. The robot arm usually consists of joints and links, the number of different arms may be different. It's common to see a 5 or 6 joints robotic arm. And the links that connect joints make it possible to actuate rotation and translation. And the links are considered as kinematic chain. So we can calculate the speed and pose through different frames relative to base frame. For this project.
Driller and Model Calibration
Generate the Coordinates for Carving
In this window, we can generate any shape of model as we want, it provides the reserved shape and also allow us to draw it by ourselves. Here we choose a simple pentaon as the goal path points. And we can get the raw datas and then we write a reading data program by C++. During compiling, the data type convertion and the loop time is important factor to consider. First time, we choose to generate a bag and let main program to listen to this topic, but it takes extra time, so we finally combine the reading program with main program together to save effort. With the help of this program, we input the data into program and make complicated path planning available.
Move the Arm by Moveit!
Cartesian motions are frequently needed to be slower for actions such as approach and retreat grasp motions. Here we demonstrate how to reduce the speed of the robot arm via a scaling factor of the maxiumum speed of each joint. Note this is not the speed of the end effector point. We want the cartesian path to be interpolated at a resolution of 1 mm which is why we will specify 0.001 as the max step in cartesian translation. We will specify the jump threshold as 0.0, effectively disabling it. Warning - disabling the jump threshold while operating real hardware can cause large unpredictable motions of redundant joints and could be a safety issue. And the function will automatically visualize the plan in Rviz. If the visualize is in our expectation, we can execute the plan.
Experiment and Result
Our system is maily aimed to build a robot-arm based 5 or 6 axes CNC machine. It consists of 3 parts:
Here is a video for our project:
In conclusion, our team firstly focused on 2D incision, and the main problem was to build a mathematical model, which contains relationship between different frames. Then based on each servo motors' rotating ability, we applied the model and motion planning method into program, then we kept repeating test till it works well. In those processes, we three students learned the knowledge about ROS system, Robot Arm and how to program to manage path planning. Also, we develop the ability of team work.