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:intermediate:pepper_shopping [2020/08/19 15:52] – [VM Set Up] derricktutorials:intermediate:pepper_shopping [2022/02/08 14:11] (current) – [Creating an ASDF system for the cram_pepper_demo] sarthou
Line 1: Line 1:
-====== Pepper robot shopping assistant (tutorial in construction) ======+====== Pepper Robot Shopping Assistant ======
  
 ===== Setting Up The Workspace ===== ===== Setting Up The Workspace =====
Line 30: Line 30:
 </code> </code>
  
-At this point, we need an older version of CRAM. We a specific branch of the CRAM architecture. Therefore, if you have some work done in the current version of CRAM, please make copy and place it in a different directory for safekeeping or commit your current branch.+At this point, we need an older version of CRAM. We need a specific branch of the CRAM architecture. Therefore, if you have some work done in the current version of CRAM, please create backup or commit your current branch before you proceed.
  
 Run the following in your terminal. Run the following in your terminal.
Line 45: Line 45:
 ==== Native Set Up ==== ==== Native Set Up ====
  
-If you did a native installation of ROS and CRAM, you would most likely install all the necessary components. However, you have to go through the setup process for the VM to be sure everything is setup. Otherwise, skip to the part where you change the branch, then you are set to go.+If you did a native installation of ROS and CRAM, you would most likely install all the necessary components. However, you have to go through the setup process for the VM to be sure everything is setup. Otherwise, skip to the part where you update the repository and change the branch, then you are set to go.
  
 Now let's begin. Now let's begin.
Line 907: Line 907:
  
   )   )
-<code>+</code>
  
 This function creates the bullet-world, extracts the necessary information about the robot and the shelves from the ros-parameter server, spawns a static floor (plane), generates the shelves, and spawns the robot. This function creates the bullet-world, extracts the necessary information about the robot and the shelves from the ros-parameter server, spawns a static floor (plane), generates the shelves, and spawns the robot.
Line 1823: Line 1823:
  
  ((cram-common-failures:ptu-goal-not-reached (e)  ((cram-common-failures:ptu-goal-not-reached (e)
-        ; (print e) 
  
         (roslisp:ros-warn (perception-failure) "~a~%Looking at product went wrong...repositioning" e)         (roslisp:ros-warn (perception-failure) "~a~%Looking at product went wrong...repositioning" e)
Line 1870: Line 1869:
  ?location-pose  ?location-pose
  (cram-tf:robot-current-pose)))  (cram-tf:robot-current-pose)))
 +</code>
  
 This function also contains another helper function. Let’s add it. This function also contains another helper function. Let’s add it.
 +
 +<code lisp>
 ;;"Given a `look-pose-stamped' and a `robot-pose-stamped' (both in fixed frame), ;;"Given a `look-pose-stamped' and a `robot-pose-stamped' (both in fixed frame),
 ;; calculate the new robot-pose-stamped, which is rotated with an angle to point towards ;; calculate the new robot-pose-stamped, which is rotated with an angle to point towards
Line 2030: Line 2032:
  
 Congratulations!!! You just created a shopping assistant using the Pepper robot.  Congratulations!!! You just created a shopping assistant using the Pepper robot. 
 +
 +You can access the entire project from [[https://github.com/danricky/cram-pepper|here]]