Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"permissions": {
"allow": [
"WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:github.com)",
"WebSearch",
"WebFetch(domain:api.github.com)"
]
}
}
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ test-req.txt

sterowanie.py
tts/
=======

sterowanie.py
tts/
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49


examples/xlerobot_controler.py
examples/xlerobot_controller.py
7 changes: 7 additions & 0 deletions =2.6.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pygame
Downloading pygame-2.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (12 kB)
Downloading pygame-2.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.6/13.6 MB 4.4 MB/s eta 0:00:00
Installing collected packages: pygame
Successfully installed pygame-2.6.1
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "robocrew"
version = "0.2.0"
version = "0.2.1-beta1"
authors = [
{ name="Grigorij Dudnik", email="dudnikgrv@gmail.com" },
{ name="Konrad Suchodolski", email="konrad.suchodolski50@gmail.com" },
Expand Down
3 changes: 1 addition & 2 deletions src/robocrew/core/LLMAgent.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,6 @@ def go(self):
finally:
if self.servo_controler:
print("Disconnecting servo controller...")
=======
from os import getenv
from robocrew.core.tools import create_say, remember_thing, recall_thing
from dotenv import find_dotenv, load_dotenv
Expand Down Expand Up @@ -508,5 +507,5 @@ def go(self):
finally:
if self.servo_controler:
print("Disconnecting servo controller...")
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49

self.servo_controler.disconnect()
40 changes: 14 additions & 26 deletions src/robocrew/robots/XLeRobot/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,14 +216,14 @@ def create_vla_single_arm_manipulation(
robot_config.type = "so101_follower"

robot_config.id="robot_arm"
=======

robot_config.id="right_arm"
# Ensure attribute exists; None keeps LeRobot's default calibration lookup path.
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49
=======


robot_config.id="right_arm"
# Ensure attribute exists; None keeps LeRobot's default calibration lookup path.
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49

robot_config.calibration_dir = None

cfg = RobotClientConfig(
Expand All @@ -240,10 +240,7 @@ def create_vla_single_arm_manipulation(


preloaded_client = None
=======
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49
=======
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49

if load_on_startup:
print(f" Loading Policy for {tool_name}...")
# release main camera from agent
Expand All @@ -253,16 +250,15 @@ def create_vla_single_arm_manipulation(
preloaded_client = RobotClient(cfg)
preloaded_client.robot.disconnect()

=======

# Warm up once at startup so server loads policy weights before first real execution.
warmup_client = RobotClient(cfg)
warmup_client.robot.disconnect()
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49
=======

# Warm up once at startup so server loads policy weights before first real execution.
warmup_client = RobotClient(cfg)
warmup_client.robot.disconnect()
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49

#assign main camera back to agent
time.sleep(0.5)
main_camera_object.reopen()
Expand All @@ -273,10 +269,9 @@ def tool_name_to_override() -> str:
print("Manipulation tool activated")

servo_controler.set_saved_position("cobra", arm_side=arm_side)
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49
=======

servo_controler.set_saved_position("cobra", arm_side=arm_side)
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49

servo_controler.turn_head_to_vla_position()
# release main camera from agent, so arm policy can use it
main_camera_object.release()
Expand All @@ -290,14 +285,12 @@ def tool_name_to_override() -> str:
else:
client = preloaded_client
client.robot.connect()
=======
# Use a fresh RobotClient per invocation so worker threads can be stopped cleanly.
client = RobotClient(cfg)
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49
=======

# Use a fresh RobotClient per invocation so worker threads can be stopped cleanly.
client = RobotClient(cfg)
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49

if not client.start():
return "Failed to connect to robot server."

Expand All @@ -318,9 +311,7 @@ def tool_name_to_override() -> str:
main_camera_object.reopen()
# set head back to precize mode
servo_controler.turn_head_to_vla_position(50)
=======
=======
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49

if client:
try:
client.stop()
Expand Down Expand Up @@ -556,7 +547,4 @@ def _shutdown_robot_client(client: "RobotClient") -> None:
hardware disconnection, preventing race conditions.
"""
client.stop()
=======
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49
=======
>>>>>>> a677287499bdf3751f32d69f3349af86602c1c49