How to Install Stretch Core

I have a Stretch2, that I have done software updates to bring it to Stretch3 software (have not made the hardware upgrades although we received them today). I was trying to get the “grasp object” demo to work, when I encountered an error with the realsense2 camera. I found a post of this forum that suggested updating the workspace ( Updating your ROS Workspace - Stretch Docs ) and tried to do that but I had forgotten my password so it failed (or maybe it failed for another reason), but by it failing halfway through it seems that my workspace was wiped? So I went through the troubleshooting and eventually had success with getting the workspace updated. At least I thought so until I tried to run the basic teleop and it seems that stretch_core is not installed. Is there a simple command I can run to get it installed? Wasn’t it supposed to be reinstalled when the workspace update worked? I tried running the new workspace command but that doesn’t work because that has to be from a fresh ubuntu install.

I’m definitely new here, so any suggestions would be appreciated, it feels like I’m taking 3 steps backward and 1 step forward.

A snip from the terminal output:

-— Checking Software ----
[Pass] Ubuntu 22.04 is ready
[Pass] All APT pkgs are setup correctly
[Pass] Firmware is up-to-date
[Pass] Python pkgs are up-to-date
[Warn] ROS2 Humble not ready (stretch_core should be installed)

Hey @tbmeier, I’m sorry you’re running into this, it’s definitely frustrating. I’m guessing one of two things happened:

  1. The workspace half finished. The upgrade script, stretch_update_ros_workspace.sh, should explicitly report “ROS WORKSPACE SET UP SUCCESSFULLY” when it finishes and tell you if it failed.
  2. The system check depends on certain environmental variables to be set, and the terminal doesn’t have them or lost track of them.

Would you try opening a new terminal and running another system check? See if it reports the same warning.

Thank you for your quick response @bshah! I tried it out this morning and the keyboard teleop appears to be working. It was likely one of the issues you sent.

I’m running into some other issues running the grasp_object demo and the handover_object demo. For both demos, when I launch the keyboard teleop with “ros2 run stretch_core keyboard_teleop –ros-args -p grasp_object_on:=true” the keyboard teleop menu does not appear. All that happens is it sends the message [INFO] [1756469326.578140718] [keyboard_teleop]: Grasp object demo enabled. So I first used the standard keyboard teleop launch and menu to position the robot’s workspace as prescribed, and then tried again, hoping that after launching the command with grasp_object_on:=true and receiving the message that it was enabled, i could just press ’/’ and have the robot grasp the object. However nothing happened? Similarly when trying the handover_object demo. So I just terminated the process with crtl c.

hello-robot@stretch-re2-2015:~$ ros2 run stretch_core keyboard_teleop --ros-args -p grasp_object_on:=true
[INFO] [1756469326.578140718] [keyboard_teleop]: Grasp object demo enabled.
[INFO] [1756469765.446706277] [keyboard_teleop]: interrupt received, so shutting down
Failed to publish log message to rosout: publisher’s context is invalid, at ./src/rcl/publisher.c:389

I also attached a snip of the terminal output when launching the handover_demo in the original terminal. (RViz does get launched and I can see the camera output) but it gives this error (full error below):

[realsense2_camera_node-1] [WARN] [1756469874.369554185] [camera]: XXX Hardware Notification:Motion Module failure,1.75647e+12,Error,Hardware Error
[realsense2_camera_node-1] [WARN] [1756469874.369656774] [camera]: Hardware Notification:Motion Module failure,1.75647e+12,Error,Hardware Error

Error output copied from start of realsense2camera node initialization.

[realsense2_camera_node-1] [INFO] [1756469872.881603947] [camera]: Device with serial number 112322077853 was found.
[realsense2_camera_node-1]
[realsense2_camera_node-1] [INFO] [1756469872.881649072] [camera]: Device with physical ID /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1:1.0/video4linux/video0 was found.
[realsense2_camera_node-1] [INFO] [1756469872.881660835] [camera]: Device with name Intel RealSense D435I was found.
[realsense2_camera_node-1] [INFO] [1756469872.881861364] [camera]: Device with port number 4-1 was found.
[realsense2_camera_node-1] [INFO] [1756469872.881885594] [camera]: Device USB type: 3.2
[realsense2_camera_node-1] [INFO] [1756469872.881960339] [camera]: getParameters…
[realsense2_camera_node-1] [INFO] [1756469873.212054118] [camera]: JSON file is loaded! (/home/hello-robot/ament_ws/install/stretch_core/share/stretch_core/config/HighAccuracyPreset.json)
[realsense2_camera_node-1] [INFO] [1756469873.212121696] [camera]: Device Name: Intel RealSense D435I
[realsense2_camera_node-1] [INFO] [1756469873.212142414] [camera]: Device Serial No: 112322077853
[realsense2_camera_node-1] [INFO] [1756469873.212159739] [camera]: Device physical port: /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1:1.0/video4linux/video0
[realsense2_camera_node-1] [INFO] [1756469873.212176660] [camera]: Device FW version: 5.14.0
[realsense2_camera_node-1] [INFO] [1756469873.212192721] [camera]: Device Product ID: 0x0B3A
[realsense2_camera_node-1] [INFO] [1756469873.212207682] [camera]: Sync Mode: On
[realsense2_camera_node-1] [WARN] [1756469873.331350091] [camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [WARN] [1756469873.332035846] [camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [WARN] [1756469873.338729344] [camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [INFO] [1756469873.349717565] [camera]: Stopping Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1756469873.349889989] [camera]: Stopping Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1756469873.349932038] [camera]: Stopping Sensor: Motion Module
[realsense2_camera_node-1] [INFO] [1756469873.369044692] [camera]: Starting Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1756469873.372249062] [camera]: Open profile: stream_type: Depth(0), Format: Z16, Width: 1280, Height: 720, FPS: 15
[realsense2_camera_node-1] [INFO] [1756469873.380459391] [camera]: Starting Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1756469873.383321101] [camera]: Open profile: stream_type: Color(0), Format: RGB8, Width: 1280, Height: 720, FPS: 15
[realsense2_camera_node-1] [INFO] [1756469873.416547353] [camera]: Starting Sensor: Motion Module
[realsense2_camera_node-1] [INFO] [1756469873.418708995] [camera]: Open profile: stream_type: Accel(0)Format: MOTION_XYZ32F, FPS: 63
[realsense2_camera_node-1] [INFO] [1756469873.418780847] [camera]: Open profile: stream_type: Gyro(0)Format: MOTION_XYZ32F, FPS: 200
[realsense2_camera_node-1] [INFO] [1756469873.421348911] [camera]: RealSense Node Is Up!
[funmap-6] [INFO] [1756469874.272466091] [funmap]: Node funmap received first point cloud, so continuing.
[funmap-6] [INFO] [1756469874.308903837] [stretch_funmap]: MoveBase init: self.debug_directory =
[realsense2_camera_node-1] [WARN] [1756469874.369554185] [camera]: XXX Hardware Notification:Motion Module failure,1.75647e+12,Error,Hardware Error
[realsense2_camera_node-1] [WARN] [1756469874.369656774] [camera]: Hardware Notification:Motion Module failure,1.75647e+12,Error,Hardware Error