The repository for ARM project ARM-21-02-F-19-ROBOT-MOTION-PROGRAM
The GUI include the whole process of generating and optimizing the motion program, including.
- Solving Redundancy Resolution (left). Determining the curve pose/robot2 base pose (for the dual robot case), and the joint space trajectory.
- Motion Program Generation (mid). From the curve pose/robot2 base pose, and the joint space trajectory, generate a robot motion program.
- Motion Program Update (right). Update motion program to further optimized it to satisfied requirements.
For the single arm GUI, click here for detail instruction.
For the dual arm GUI, click here for detail instruction.
Please note that the GUI is an ongoing developed feature. Contact the authors for further questions or requests.
The GUI currently only support FANUC and ABB robot.
Before using Tesseract Visualization, you should set the environment variable GAZEBO_MODEL_PATH
to (path_to_repo)/config/urdf
.
For windows, follow this step to set the variables.
Once the GUI is running, on the browser type in localhost:8000
, the Tesseract environment will be shown. The selected robot will be moved to the center of the simulation.
In motion program update stage, once the solution file and the command file is selected, you can click Run Visualization
. The robot will move as the ideal (i.e. if there's no joint constraints) command.
Robot drivers are python interface with robot controller. Follow instruction on github to install
- PyQt
- Scipy
- qpsolvers
- Robot Definitions: Each robot is stored as a .yml file under
/config/<robot_name>_robot_default_config.yml
. If additional robots are needed, simply configure a new yaml file accordingly. - Robot Acceleration Limit: Robot joint acceleration limits are usually configuration dependant, and those values are determined through simulation environment (RobotStudio, RoboGuide) and stored under
/config/<robot_name>_acc.pickle
.
Curve_dense.csv
: 5DOF points in curve frameCurve_in_base_frame.csv
: 5DOF points in robot base frameCurve_js.csv
: 6DOF joint space points in robot base frame
- Tool Center Point (TCP): For single robot case, this is the tool transformation (e.g.
config/paintgun.csv
) curve_pose.csv
: Transformation of curve frame in robot base framebase.csv
: Transformation of second robot base frame to first robot base frame- Part Holding Pose: Transformation of the part pose to second robot flange frame
command.csv
, [breakpoints, primitives, p_bp(breakpoint xyz), q_bp(breakpoint joint angle)]profile.csv
, dynamic blending zone and segment velocity
FANUC Multi-Peak Max Gradient Descent Link