Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add mobile so100 #724

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open

Conversation

pkooij
Copy link
Member

@pkooij pkooij commented Feb 13, 2025

What this does

Adds the tutorial and code for the mobile so100 (LeKiwi)

  • Add zmq as dependency
  • Adds code for tele operating and running the MobileSO100 over the wifi.
  • Adds the tutorial on how to get started with the MobileSO100 with LeRobot

How it was tested

All commands where tested on the robot itself.

@pkooij pkooij added 📝 Documentation Improvements or additions to documentation ✨ Enhancement New feature or request 🌍 Real world Real-world robotics & controls labels Feb 17, 2025

import cv2
import torch
import zmq
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discuss new dependency!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uv add zmq or something

@@ -0,0 +1,463 @@
# Using the Mobile SO100: [LeKiwi](https://github.com/SIGRobotics-UIUC/LeKiwi) with LeRobot
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before release/merge: build another mobileso100 and do full tutorial including LeKiwi hardware tutorial

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we directly call it lekiwi not mobileso100?

@Cadene Cadene self-requested a review February 17, 2025 17:03
@Cadene Cadene self-assigned this Feb 17, 2025
Copy link
Collaborator

@Cadene Cadene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! Very promising

I think we just need to iterate a bit.

For instance we should probably :

  • remove mobileso100.py and move its logic elsewhere.
  • remove run_mobile_so100.py and create new functionalities in control_robot.py

What do you think?

@@ -416,4 +416,4 @@ As you can see, it's almost the same command as previously used to record your t
Follow this [previous tutorial](https://github.com/huggingface/lerobot/blob/main/examples/7_get_started_with_real_robot.md#4-train-a-policy-on-your-data) for a more in-depth tutorial on controlling real robots with LeRobot.

> [!TIP]
> If you have any questions or need help, please reach out on Discord in the channel [`#so100-arm`](https://discord.com/channels/1216765309076115607/1237741463832363039).
> If you have any questions or need help, please reach out on Discord in the channel [`#lerobot`](https://discord.com/invite/s3KuuzsPFb).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think? or make it obvious to clock on invite discord link if not already on our discord?

Suggested change
> If you have any questions or need help, please reach out on Discord in the channel [`#lerobot`](https://discord.com/invite/s3KuuzsPFb).
> If you have any questions or need help, please reach out on [Discord](https://discord.com/invite/s3KuuzsPFb) in the channel [`#so100-arm`](https://discord.com/channels/1216765309076115607/1237741463832363039).

@@ -0,0 +1,463 @@
# Using the Mobile SO100: [LeKiwi](https://github.com/SIGRobotics-UIUC/LeKiwi) with LeRobot
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we directly call it lekiwi not mobileso100?

Comment on lines 534 to 535
"mobile": OpenCVCameraConfig(camera_index="/dev/video0", fps=30, width=640, height=480),
"mobile2": OpenCVCameraConfig(camera_index="/dev/video2", fps=30, width=640, height=480),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think?

Suggested change
"mobile": OpenCVCameraConfig(camera_index="/dev/video0", fps=30, width=640, height=480),
"mobile2": OpenCVCameraConfig(camera_index="/dev/video2", fps=30, width=640, height=480),
"front": OpenCVCameraConfig(camera_index="/dev/video0", fps=30, width=640, height=480),
"wrist": OpenCVCameraConfig(camera_index="/dev/video2", fps=30, width=640, height=480),

Comment on lines 570 to 572
"wheel_1": (7, "sts3215"),
"wheel_2": (8, "sts3215"),
"wheel_3": (9, "sts3215"),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think?

Suggested change
"wheel_1": (7, "sts3215"),
"wheel_2": (8, "sts3215"),
"wheel_3": (9, "sts3215"),
"left_wheel": (7, "sts3215"),
"right_wheel": (8, "sts3215"),
"back_wheel": (9, "sts3215"),

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
📝 Documentation Improvements or additions to documentation ✨ Enhancement New feature or request 🌍 Real world Real-world robotics & controls
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants