A parser is developed to search through the automaton generated from gr1c and control the real robot.
This file is to execute the automaton generated by gr1c (http://scottman.net/2012/gr1c) on real robot platform UR10. gr1c is a collection of tools for GR(1) synthesis and related activities. In our example, an automaton are synthesized automatically to accomplish the task specified by the user, e.g. "pick up the object and put down". The robot actions are based on currently sensed environment. All the environment variables are sensed by AprilTag.
- Universal Robot UR10
- Robotiq 140mm Adaptive parallel-jaw gripper
- Logitech HD 1080p camera
- AprilTag
- ROS Kinetic
- Python library to control a robot from 'Universal Robots'
- Universal Robot package for ROS Kinetic
- Robotiq ROS package
- gr1c
- usb_cam
- apriltags_ros
Please do the following steps for executing the automaton by GR(1) synthesis on UR10 robot.
- Follow the tutorial in Universal Robot package for ROS Kinetic and Robotiq ROS package to set up hardware properly.
- Download the repository to /ROS_WORK_SPACE/src, and build the package. Enter into the workspace
cd /ROS_WORK_SPACE/src
- Open
roscoreand run Logitech HD 1080p camera in ROS.
roslaunch apriltags_ros apriltags_ros.launch
- Specify the task in an .spc file. Please refer to https://tulip-control.github.io/gr1c/ for the correct format.
/automaton_parser/src/example.spcis an example. - Run the python file
python /automaton_parser/src/Parser_aut_ctl. - Type in the .spc file name. You can see an automaton has emerged in the folder
/automaton_parser/src. - Open a new terminal and run the python file
python /automaton_parser/src/Executer. - If "Pub complete" emerges in the terminal where
Executerruns, typeYesin the terminal whereParser_aut_ctlruns. - If "Pub complete" emerges in the terminal where
Parser_aut_ctlruns, typeYesin the terminal whereExecuterruns. - If "Robot action callback" emerges in the terminal where
Executerruns, typeYesin the terminal whereParser_aut_ctlruns. Observe the action of the robot.