Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorials [2019/02/07 19:46] – [Intermediate tutorials] gkazhoyatutorials [2023/11/22 17:53] (current) arthur
Line 2: Line 2:
  
 You can find the source code to most of the CRAM tutorials on [[https://github.com/cram2/cram/tree/master/cram_tutorials|GitHub]]. You can find the source code to most of the CRAM tutorials on [[https://github.com/cram2/cram/tree/master/cram_tutorials|GitHub]].
 +
 +**Please pay attention at the version tag next to the tutorials. The current CRAM version on the master branch and in the installation instructions is v0.7.0. The development branch is v0.8.0, use only if you are an expert in CRAM. The tutorials that have an older version tag that are not maintained will probably not work with v0.7.0.**
 +
 +===== EU Robotics Week 2023 =====
 +
 +Hands-on Robot Control in CRAM
 +
 +[[https://binder.intel4coro.de/v2/gh/artnie/pycram.git/binder|Enter the cloud!]] Find {{ :tutorial:iros_cram_tutorial.pdf |the presentation slides here}}.
 +
 +===== IROS 2023 Tutorial =====
 +
 +**Everyday Activity Robot Manipulation in an Interactive Learning Environment** - Hands-on Robot Control in CRAM
 +
 +At IROS 2023 in Detroit we are presenting the Plan Executive CRAM in our interactive learning environment.
 +
 +[[https://binder.intel4coro.de/v2/gh/artnie/pycram.git/binder|Enter the cloud!]] Find {{ :tutorial:iros_cram_tutorial.pdf |the presentation slides here}}.
 +
 +===== Fall School 2023 =====
 +
 +The Fall School 2023 Monday will introduce the CRAM plan executive with the recent re-implementation in PyCRAM. {{ ::fallschool23_pycram.pdf |Here}} is the presentation of the CRAM plan executive.
 +
 +[[https://binder.intel4coro.de/v2/gh/IntEL4CoRo/pycram.git/fallschool2023|Enter the JupyterHub here]]. Then download [[https://github.com/artnie/pycram/blob/fall-school-tutorial/examples/fs_pick_and_place.ipynb|the lecture file.]]
 +
 +In the JupyterHub, navigate to src/pycram/examples, upload the downloaded file and open it.
 +
 +You will be led through multiple examples on how to work with PyCRAM, in order to control a robot from a high-level perspective. Enjoy the lectures!
 +===== Fall School 2021 =====
 +
 +This tutorial category contains short demonstrations of some things that one can do with CRAM,
 +which assumes no prior knowledge of Ubuntu, ROS, Emacs, Lisp or robotics.
 +If after going through these tutorials, you find out that the system is cool and you'd like to learn more about it,
 +you can go ahead and start with Beginner Tutorials (see below) if you have ROS experience, or roslisp tutorials (see under External tutorials section below) if you do not.
 +
 +  * [[tutorials:demo:fetch_and_place|Jump-Start tutorial via VM: Simple fetch and place (for EASE Fall School)]] (v0.7.0)
 +
 ===== Beginner tutorials ===== ===== Beginner tutorials =====
-(tested with v0.7.0) +(tested with v0.8.0)
-<html><!-- One of the existing tutorials (controlling_turtlesim_2) was not in this contents list despite being linked as 'next tutorial' from "Creating a CRAM package". If this omission is intended, it should be explained in this comment so that future editors of the wiki will not add the (controlling_turtlesim_2) tutorial to the contents list. Since such an explanation did not appear at the time of this edit however, said tutorial is reinstated in the contents list. --></html> +
-<html><!--  * [[doc:beginner:creating_a_cram_package|Creating a CRAM package]] +
-  * [[doc:beginner:controlling_turtlesim|Controlling turtlesim from Lisp]] --></html> +
- +
-<html><!-- The old tutorials (v0.2.0): +
-  * [[tutorials:beginner:package_for_turtlesim|Creating a CRAM package]] +
-  * [[tutorials:beginner:controlling_turtlesim_2|Controlling turtlesim from CRAM]] +
-  * [[tutorials:beginner:simple_plans|Implementing simple plans to move a turtle]] +
-  * [[tutorials:beginner:designators|Creating action designators for the turtlesim ]] +
-  * [[tutorials:beginner:process_modules|Creating process modules ]] +
-  * [[tutorials:beginner:location_designators|Using location designators with the turtlesim ]] +
-  * [[tutorials:beginner:assigning_actions|Automatically choosing a process module for an action ]] --></html>+
  
   * [[tutorials:beginner:package_for_turtlesim|Creating a CRAM package]]   * [[tutorials:beginner:package_for_turtlesim|Creating a CRAM package]]
   * [[tutorials:beginner:controlling_turtlesim_2|Controlling turtlesim from CRAM]]   * [[tutorials:beginner:controlling_turtlesim_2|Controlling turtlesim from CRAM]]
   * [[tutorials:beginner:simple_plans|Implementing simple plans to move a turtle]]   * [[tutorials:beginner:simple_plans|Implementing simple plans to move a turtle]]
 +  * [[tutorials:beginner:cram_prolog|Using Prolog for reasoning]]
   * [[tutorials:beginner:motion_designators|Creating motion designators for the TurtleSim ]]   * [[tutorials:beginner:motion_designators|Creating motion designators for the TurtleSim ]]
   * [[tutorials:beginner:process_modules_2|Creating process modules ]]   * [[tutorials:beginner:process_modules_2|Creating process modules ]]
Line 26: Line 50:
   * [[tutorials:beginner:high_level_plans|Writing plans for the TurtleSim]]   * [[tutorials:beginner:high_level_plans|Writing plans for the TurtleSim]]
   * [[tutorials:beginner:failure_handling|Implementing failure handling for the TurtleSim]]   * [[tutorials:beginner:failure_handling|Implementing failure handling for the TurtleSim]]
-  * [[tutorials:beginner:cram_prolog|Using Prolog for reasoning]]+  * [[tutorials:beginner:testing|Writing tests]]
  
 ===== Intermediate tutorials ===== ===== Intermediate tutorials =====
  
-  * [[tutorials:intermediate:costmaps|Location costmaps]] (v0.6.0) +(tested with v0.8.0) 
-  * [[tutorials:intermediate:semantic_environment_map|Semantic environment maps in CRAM]] (v0.6.0) + 
-  * [[tutorials:intermediate:performing_plans|Performing Action Designators]] (v0.6.0) +  * [[tutorials:intermediate:performing_plans|Performing Action Designators]] (v0.8.0) 
-  * [[tutorials:intermediate:events|Triggering and handling (custom) events]] (v0.7.0) +  * [[tutorials:intermediate:events|Triggering and handling (custom) events]] (v0.8.0) 
-  * [[tutorials:intermediate:bullet_world|Bullet world demonstration: using specialized inference mechanisms and projection]] (v0.6.0) +  * [[tutorials:intermediate:costmaps|Location costmaps]] (v0.8.0) 
-  * [[tutorials:intermediate:json_prolog|Using JSON Prolog to communicate with KnowRob]] (v0.7.0) +  * [[tutorials:intermediate:bullet_world|Bullet world demonstration: using specialized inference mechanisms and projection]] (v0.8.0) 
-  * [[tutorials:intermediate:simple_mobile_manipulation_plan|How to write a simple mobile manipulation plan]] (v0.7.0) +  * [[tutorials:intermediate:simple_mobile_manipulation_plan|How to write a simple mobile manipulation plan (with PR2 robot)]] (v0.8.0) 
-  * [[tutorials:intermediate:fetch_deliver_plans|How fetch and deliver plans are implemented]] (v0.6.0) +  * [[tutorials:advanced:cram-rigid-body|Adding a new rigid-body]] (v0.8.0) (in construction
-  * [[tutorials:intermediate:new_actions|Implementing new types of actions]] (in construction) (v0.6.0)+  * [[tutorials:advanced:cram-writing-designators Adding new designators]] (v0.8.0) (in construction) 
 + 
  
 ===== Advanced tutorials ===== ===== Advanced tutorials =====
 +<html><!-- * [[tutorials:intermediate:hsr_actions|Executing simple actions with HSR robot]] (v0.8.0) --></html>
 +  * [[tutorials:intermediate:pepper_shopping|Pepper robot shopping assistant]] (v0.8.0)  
 +  * [[tutorials:intermediate:json_prolog|Using JSON Prolog to communicate with KnowRob]] (v0.7.0)
 +  * [[tutorials:advanced:unreal|Using data acquired in VR on the robot]] (v0.8.0) (in construction)
 +  * [[tutorials:intermediate:fetch_deliver_plans|How fetch and deliver plans are implemented]] (v0.7.0)
 +  * [[tutorials:advanced:new-robot|Introducing a new robot to CRAM]] (v0.7.0)
 +  * [[tutorials:advanced:unreal-engine|Using CRAM in Unreal Engine]] (v0.8.0)(in construction)
 +  * [[/tutorials/advanced/jupyter|Setting up Jupyter to work with ROSLisp and CRAM]] (v0.8.0)
 + 
  
-  * [[tutorials:advanced:new-robot|Introducing a new robot to CRAM]] +===== Outdated tutorials ===== 
-  * [[tutorials:intermediate:moveit|Using MoveIt! from CRAM]] + 
-  * [[tutorials:intermediate:collisions_and_constraints|Collisions and Constraints in MoveIt!]] +  * [[tutorials:intermediate:new_actions|Implementing new types of actions]] (in construction) (v0.6.0) 
-  * [[tutorials/advanced:plans|Writing plans with policies]] +  * [[tutorials:intermediate:semantic_environment_map|Semantic environment maps in CRAM]] (v0.6.0) 
-  * [[tutorials:advanced:task_trees|Plan transformations: task trees, code replacement, and serialization]]+  * [[tutorials:intermediate:moveit|Using MoveIt! from CRAM]] (v0.2.0) 
 +  * [[tutorials:intermediate:collisions_and_constraints|Collisions and Constraints in MoveIt!]] (v0.2.0) 
 +  * [[tutorials/advanced:plans|Writing plans with policies]] (v0.1.0) 
 +  * [[tutorials:advanced:task_trees|Plan transformations: task trees, code replacement, and serialization]] (v0.2.0)
  
 ===== External tutorials ===== ===== External tutorials =====
Line 55: Line 93:
   * [[http://wiki.ros.org/catkin/Tutorials|Catkin Tutorials]]   * [[http://wiki.ros.org/catkin/Tutorials|Catkin Tutorials]]
  
 +===== Robocup  =====
  
 +  * [[tutorials:robocup:robocup|Add new Giskard constraints]] (v0.8.0) 
 +  * [[tutorials:robocup:robocup-cml|CML]] (v0.8.0)
 +  * [[tutorials:robocup:robocup-cleanup|CLEANUP]] (v0.8.0)
 +  * [[tutorials:robocup:robocup-serve|SERVE BREAKFAST]] (v0.8.0)
 +  * [[tutorials:robocup:robocup-store|STORING GROCERIES]] (v0.8.0)
 +  * [[tutorials:robocup:robocup-context|Generate context]] (v0.8.0)