/automaton_parser

A parser is developed to search through the automaton generated from gr1c and control the real robot.

Primary LanguagePostScript

automaton_parser

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.

Prerequisites

Hardware

  1. Universal Robot UR10
  2. Robotiq 140mm Adaptive parallel-jaw gripper
  3. Logitech HD 1080p camera
  4. AprilTag

Software

  1. ROS Kinetic
  2. Python library to control a robot from 'Universal Robots'
  3. Universal Robot package for ROS Kinetic
  4. Robotiq ROS package
  5. gr1c
  6. usb_cam
  7. apriltags_ros

Get started

Please do the following steps for executing the automaton by GR(1) synthesis on UR10 robot.

  1. Follow the tutorial in Universal Robot package for ROS Kinetic and Robotiq ROS package to set up hardware properly.
  2. Download the repository to /ROS_WORK_SPACE/src, and build the package. Enter into the workspace
cd /ROS_WORK_SPACE/src
  1. Open roscore and run Logitech HD 1080p camera in ROS.
roslaunch apriltags_ros apriltags_ros.launch
  1. Specify the task in an .spc file. Please refer to https://tulip-control.github.io/gr1c/ for the correct format. /automaton_parser/src/example.spc is an example.
  2. Run the python file python /automaton_parser/src/Parser_aut_ctl.
  3. Type in the .spc file name. You can see an automaton has emerged in the folder /automaton_parser/src.
  4. Open a new terminal and run the python file python /automaton_parser/src/Executer.
  5. If "Pub complete" emerges in the terminal where Executer runs, type Yes in the terminal where Parser_aut_ctl runs.
  6. If "Pub complete" emerges in the terminal where Parser_aut_ctl runs, type Yes in the terminal where Executer runs.
  7. If "Robot action callback" emerges in the terminal where Executer runs, type Yes in the terminal where Parser_aut_ctl runs. Observe the action of the robot.