i have faced issues with only being able to command each part of the robot once. e.g. after a push command to move robot.arm, i cannot push another command to move robot.arm again unless i recalibrate the robot in the terminal by calling stretch_robot_home.py.
Greeting @Hung-Te_Wu. As a first step, could you try upgrading the Stretch Body and Tools to the latest version if it is not yet upgraded and retry pushing multiple motion commands?
pip3 install -U hello-robot-stretch-body
pip3 install -U hello-robot-stretch-body-tools
Further if the issue still exists, could perform the following debug steps:
- Try jogging the arm/lift/base individually using the CLI tools:
stretch_arm_jog.py
/stretch_lift_jog.py
/stretch_base_jog.py
- Does the individual joints move?
- If possible, could you attach the outputs of these commands
- Send us the output of
stretch_robot_system_check.py
- Send us a script to reproduce the issue you are facing
Hi @Mohamed_Fazil, thanks for the reply.
pip3 installing did not solve the problem. Jogging the arm individually also did not move the parts.
The output of stretch_arm_jog.py is the following:
howard-gesture@stretch-re1-1041:~$ stretch_arm_jog.py
For use with S T R E T C H (R) RESEARCH EDITION from Hello Robot Inc.
m: menu
i / o : small in out
I / O : large in out
f: stiffness float
s: stiffness soft
h: stiffness hard
1: rate slow
2: rate default
3: rate fast
4: rate max
q: quit
Input?
----- Arm ------
Pos (m): 0.07999671566647522
Vel (m/s): -0.0004468031605360779
Soft motion limits (m) [0.0, 0.5181478787417008]
Timestamp PC (s): 1696359447.2533283
Mode MODE_SAFETY
x_des (rad) 0 (deg) 0.0
v_des (rad) 25 (deg) 1432.3944878270581
a_des (rad) 15 (deg) 859.4366926962349
Stiffness 1
Feedforward 0
Pos (rad) 11.662919044494629 (deg) 668.236038052293
Vel (rad/s) -0.06514053791761398 (deg) -3.7322778978911897
Effort (Ticks) 1.1210387714598537e-44
Effort (Pct) 4.533612678697937e-45
Current (A) 1.45075605718334e-46
Error (deg) 0.0
Debug 0.0
Guarded Events: 6
Diag 00000000000000000000000100000001
Position Calibrated: True
Runstop on: False
Near Pos Setpoint: False
Near Vel Setpoint: False
Is Moving: False
Is Moving Filtered: 0
At Current Limit: False
Is MG Accelerating: False
Is MG Moving: False
Encoder Calibration in Flash: True
In Guarded Event: False
In Safety Event: False
Waiting on Sync: False
Timestamp (s) 1696359447.2531343
Board variant: Stepper.Guthrie.V1
Firmware version: Stepper.v0.0.1p0
m: menu
i / o : small in out
I / O : large in out
f: stiffness float
s: stiffness soft
h: stiffness hard
1: rate slow
2: rate default
3: rate fast
4: rate max
q: quit
Input?
The output of stretch_robot_system_check.py is the following:
howard-gesture@stretch-re1-1041:~$ stretch_robot_system_check.py
For use with S T R E T C H (R) RESEARCH EDITION from Hello Robot Inc.
[WARNING] [robot]: Not able to use asyncio for transport communications. Defaulting to sync.
---- Checking Devices ----
[Pass] : hello-wacc
[Pass] : hello-motor-left-wheel
[Pass] : hello-pimu
[Pass] : hello-lrf
[Pass] : hello-dynamixel-head
[Pass] : hello-dynamixel-wrist
[Pass] : hello-motor-arm
[Pass] : hello-motor-right-wheel
[Pass] : hello-motor-lift
[Pass] : hello-respeaker
---- Checking Pimu ----
[Pass] Voltage = 13.23493480682373
[Pass] Current = 1.6320662244277844
[Pass] Temperature = 35.70894293296031
[Pass] Cliff-0 = 2.296875
[Pass] Cliff-1 = 6.44403076171875
[Pass] Cliff-2 = 1.694122314453125
[Pass] Cliff-3 = -5.9464111328125
[Pass] IMU AZ = -9.764451026916504
[Pass] IMU Pitch = -2.18147087097168
[Pass] IMU Roll = 1.6483917236328127
---- Checking EndOfArm ----
[Pass] Ping of: stretch_gripper
[Pass] Calibrated: stretch_gripper
[Pass] Ping of: wrist_pitch
[Pass] Ping of: wrist_roll
[Pass] Ping of: wrist_yaw
[Pass] Calibrated: wrist_yaw
---- Checking Head ----
[Pass] Ping of: head_pan
[Pass] Ping of: head_tilt
---- Checking Wacc ----
[Pass] AX = 10.682317733764648
---- Checking hello-motor-left-wheel ----
[Pass] Position = 11.884260177612305
---- Checking hello-motor-right-wheel ----
[Pass] Position = 12.056734085083008
---- Checking hello-motor-arm ----
[Pass] Position = 11.664052963256836
[Pass] Position Calibrated = True
---- Checking hello-motor-lift ----
[Pass] Position = 62.842681884765625
[Pass] Position Calibrated = True
---- Checking for Intel D435i ----
Bus 002 Device 002: ID 8086:0b3a Intel Corp. Intel(R) RealSense™ Depth Camera 435i
[Pass] : Device found
---- Checking Software ----
[Warn] Ubuntu 20.04 not ready (ros-noetic-librealsense2 not set-up correctly)
[Warn] Firmware not up-to-date (try REx_firmware_updater.py --recommended)
hello-pimu = v0.0.1p0
hello-wacc = v0.1.0p1
hello-motor-arm = v0.0.1p0
hello-motor-lift = v0.0.1p0
hello-motor-left-wheel = v0.0.1p0
hello-motor-right-wheel = v0.0.1p0
[Pass] Python pkgs are up-to-date
Stretch Body = 0.5.7
Stretch Body Tools = 0.5.2
Stretch Tool Share = 0.2.8
Stretch Factory = 0.4.10
Stretch Diagnostics = 0.0.14
[Warn] ROS Noetic not ready (stretch_core missing)
I didn’t run a script, it was just simply type in the following command in the terminal to control the Stretch RE1:
$ pkill -f stretch_xbox*
$ stretch_robot_home.py
$ ipython
robot.arm.move_to(0.1)
robot.push_command() # this command works and the arm moved
robot.arm.move_to(0.1)
robot.push_command() # this command doesn’t work
The same thing happened when I ran $ stretch_xbox_controller_teleop.py in the terminal, the arm and life only responded for the first time when I moved the joy stick, and didn’t have any respond after that; however, the DexWrist does work perfectly fine.
@Hung-Te_Wu As you can see from the software section of the Stretch Sytem Check’s output, all of your robot’s devices’ firmware seems to be outdated(~ v0.1).
Our newest software is compatible with firmware v0.5.0 and above. As the next step, I recommend you update all the device’s Firmware to the latest. You can update all the device’s firmware to the latest using the command:
REx_firmware_updater.py --install
Ensure your lift is clamped underneath before starting the firmware update. Contact support@hello-robot.com if you get into any trouble while updating the firmware.
Let us know if updating the firmware resolved your issue.
Hi @Mohamed_Fazil thanks for the suggestion. The problem was fixed!
@Hung-Te_Wu Glad you were able to fix the issue!