-
Notifications
You must be signed in to change notification settings - Fork 1.6k
does not accept usb-port from configs.py #1094
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I encountered the same issue on a Linux system. Although I'm sure there's alternative solutions, I fixed it by creating my own configuration file robot:
type: so100
cameras: {}
follower_arms:
main:
mock: false
motors:
elbow_flex: [3, "sts3215"]
gripper: [6, "sts3215"]
shoulder_lift: [2, "sts3215"]
shoulder_pan: [1, "sts3215"]
wrist_flex: [4, "sts3215"]
wrist_roll: [5, "sts3215"]
port: /dev/ttyACM1
type: feetech # Added missing type field
leader_arms:
main:
mock: false
motors:
elbow_flex: [3, "sts3215"]
gripper: [6, "sts3215"]
shoulder_lift: [2, "sts3215"]
shoulder_pan: [1, "sts3215"]
wrist_flex: [4, "sts3215"]
wrist_roll: [5, "sts3215"]
port: /dev/ttyACM0
type: feetech # Added missing type field
control:
type: calibrate
arms: ["main_follower"] Try inserting your appropriate port names into this and running |
If you get the same error when trying to teleoperate, change the last part of the file to control:
type: teleoperate deleting the |
Hi @mukral ! Could you check if the port you want to use is correctly reported in the configuration displayed when the script is launched ? With the unmodified default
If your modifications were correctly taken into account, the output should be modified accordingly. Best, Caroline. |
When running control_robot.py, maybe the program defaults to loading modules from the site-packages directory in the virtual environment, rather than from the current working directory. To resolve this, add the following code at the beginning of the control_robot.py script to insert the current working directory at the front of sys.path, ensuring that modules from the current directory are loaded first:
With this change, Python will prioritize loading modules from the current_working_directory over those in site-packages |
Hello,
script
find_motors_bus_port.py
found COM3 and COM4 (windows environment).
script
python lerobot/scripts.py --port COM4 --brand feetech --model sts3215 --baudrate 1000000 --ID 1
works and the motor moves.
But when I try to calibrate and run
python lerobot/scripts/control_robot.py --robot.type=so101 --control.type=calibrate
I receive an error
serial.serialutil.SerialException: could not open port '/dev/tty.usbmodem585A0076891'
which is the default one from original file.
although port in config.py is set to COM4 and COM3:
...
@RobotConfig.register_subclass("so101")
@DataClass
class So101RobotConfig(ManipulatorRobotConfig):
calibration_dir: str = ".cache/calibration/so101"
#
max_relative_target
limits the magnitude of the relative positional target vector for safety purposes.# Set this to a positive scalar to have the same value for all motors, or a list that is the same length as
# the number of motors in your follower arms.
max_relative_target: int | None = None
...
Cache also should be deleted , because I've booted the system (several) times.
Any idea?
short other question: does anybody know how to replace the ' " ' in
--control.arms='["main_follower"]'?
windows seems to have problems with it and throws an error
The given value='[main_follower]' is not of a valid input for a list type
Thanks a lot,
Markus
The text was updated successfully, but these errors were encountered: