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:beginner:assigning_actions_2 [2019/07/03 11:58] – [Setting up fact groups to select a process module] tlippstutorials:beginner:assigning_actions_2 [2022/02/25 23:19] (current) – [Automatically choosing a process module for a motion] schimpf
Line 6: Line 6:
 **Previous Tutorial:** [[tutorials:beginner:process_modules_2|Creating process modules]]\\ **Previous Tutorial:** [[tutorials:beginner:process_modules_2|Creating process modules]]\\
 **Next Tutorial:** [[tutorials:beginner:location_designators_2|Using location designators with the TurtleSim]]\\ **Next Tutorial:** [[tutorials:beginner:location_designators_2|Using location designators with the TurtleSim]]\\
 +
 +
 +To run the code in the tutuorial the roscore and the turtlesim need to be started over the terminal. Each in their own tab.
 +<code bash>
 +$ roscore
 +</code>
 +<code bash>
 +$ rosrun turtlesim turtlesim_node
 +</code>
 +
 +And in the REPL the following commands should be executed:
 +<code lisp>
 +CL-USER>(ros-load:load-system "cram_my_beginner_tutorial" :cram-my-beginner-tutorial)
 +...
 +CL-USER>(in-package :tut)
 +...
 +TUT>(start-ros-node "turtle1")
 +...
 +TUT>(init-ros-turtle "turtle1")
 +</code>
  
 ===== Setting up fact groups to select a process module ===== ===== Setting up fact groups to select a process module =====
Line 14: Line 34:
 (defsystem cram-my-beginner-tutorial (defsystem cram-my-beginner-tutorial
   :depends-on (cram-language roslisp turtlesim-msg geometry_msgs-msg cl-transforms   :depends-on (cram-language roslisp turtlesim-msg geometry_msgs-msg cl-transforms
-                             cram-designators cram-prolog+                             cram-designators cram-prolog turtlesim-srv
                              cram-process-modules cram-language-designator-support                              cram-process-modules cram-language-designator-support
                              cram-executive)                              cram-executive)
Line 24: Line 44:
              (:file "simple-plans" :depends-on ("package" "control-turtlesim"))              (:file "simple-plans" :depends-on ("package" "control-turtlesim"))
              (:file "motion-designators" :depends-on ("package"))              (:file "motion-designators" :depends-on ("package"))
-             (:file "turtle-action-client" :depends-on ("package")) 
              (:file "process-modules" :depends-on ("package"              (:file "process-modules" :depends-on ("package"
                                                    "control-turtlesim"                                                    "control-turtlesim"
                                                    "simple-plans"                                                    "simple-plans"
-                                                   "motion-designators+                                                   "motion-designators"))
-                                                   "turtle-action-client"))+
              (:file "selecting-process-modules" :depends-on ("package"              (:file "selecting-process-modules" :depends-on ("package"
                                                              "motion-designators"                                                              "motion-designators"
Line 75: Line 93:
  
 <code lisp> <code lisp>
-TUT> (defparameter fast-circle (desig:a motion (type driving) (speed 10) (angle 7))) +TUT> (defparameter *fast-circle(desig:a motion (type driving) (speed 10) (angle 7))) 
-FAST-CIRCLE +*FAST-CIRCLE* 
-TUT> (defparameter goal (desig:a motion (type moving) (goal (1 9 0)))) +TUT> (defparameter *goal(desig:a motion (type moving) (goal (1 9 0)))) 
-GOAL +*GOAL* 
-TUT> (defparameter pen-off (desig:a motion (type setting-pen) (off 1))) +TUT> (defparameter *pen-off(desig:a motion (type setting-pen) (off 1))) 
-PEN-OFF+*PEN-OFF*
 </code> </code>
  
Line 86: Line 104:
  
 <code lisp> <code lisp>
-TUT> (perform-some-motion fast-circle)+TUT> (perform-some-motion *fast-circle*)
 [(TURTLE-PROCESS-MODULES) INFO] 1501142699.638: TurtleSim navigation invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE [(TURTLE-PROCESS-MODULES) INFO] 1501142699.638: TurtleSim navigation invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE
                                                                            DRIVING)                                                                            DRIVING)
Line 101: Line 119:
  
 <code lisp> <code lisp>
-(perform-some-motion goal)+(perform-some-motion *goal*)
 [(TURTLE-PROCESS-MODULES) INFO] 1501142702.867: TurtleSim navigation invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE [(TURTLE-PROCESS-MODULES) INFO] 1501142702.867: TurtleSim navigation invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE
                                                                            MOVING)                                                                            MOVING)
Line 110: Line 128:
 </code> </code>
  
-You can also perform ''pen-off'' and then one of the others to see that the turtle doesn't leave a trace anymore.+You can also perform ''*pen-off*'' and then one of the others to see that the turtle doesn't leave a trace anymore.
  
 <code lisp> <code lisp>
- (perform-some-motion pen-off)+ (perform-some-motion *pen-off*)
 [(TURTLE-PROCESS-MODULES) INFO] 1504786623.566: TurtleSim pen control invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE [(TURTLE-PROCESS-MODULES) INFO] 1504786623.566: TurtleSim pen control invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE
                                                                             SETTING-PEN)                                                                             SETTING-PEN)
Line 119: Line 137:
                                                                             1)) {1002BB26A3}>'.                                                                             1)) {1002BB26A3}>'.
 [TURTLESIM-SRV:SETPEN-RESPONSE] [TURTLESIM-SRV:SETPEN-RESPONSE]
-TUT> (perform-some-motion fast-circle)+TUT> (perform-some-motion *fast-circle*)
 [(TURTLE-PROCESS-MODULES) INFO] 1504786630.845: TurtleSim navigation invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE [(TURTLE-PROCESS-MODULES) INFO] 1504786630.845: TurtleSim navigation invoked with motion designator `#<MOTION-DESIGNATOR ((TYPE
                                                                            DRIVING)                                                                            DRIVING)