Observed since 20 Oct, 15:36 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A Python library for controlling AlphaDog robotic dogs
A comprehensive Python SDK for AlphaDog robotic dog control, providing intuitive programming interfaces for robot motion control, parameter adjustment, and real-time interaction.
⚠️ Important: This SDK requires Python 3.9 specifically
First, ensure you have Python 3.9 installed:
# Check Python version
python --version # Should show Python 3.9.x
# If you don't have Python 3.9, install it from python.org
# Quick version check using our tool
python check_python_version.py
# Install from PyPI
pip install 3robotics
# Or install from source
git clone https://github.com/3robotics/3robotics.git
cd 3robotics
pip install -e .
from 3robotics import Dog
import time
# Connect to the robot dog
with Dog() as dog:
print("Connected to 3robotics!")
# Adjust standing height
dog.body_height = 0.25
time.sleep(2)
# Move forward slowly
dog.vx = 0.2
time.sleep(3)
# Stop movement
dog.vx = 0.0
# Restore default height
dog.set_parameters({'body_height': 0.23})
from 3robotics import Dog
# Connect with custom IP
dog = Dog(host="192.168.1.100")
# Connect with custom port
dog = Dog(host="10.10.10.10", port=9090)
# Use context manager for automatic cleanup
with Dog(host="10.10.10.10") as dog:
# Your robot control code here
pass
The SDK provides comprehensive parameter control capabilities:
dog.vx = 0.2 # Forward velocity (-1.0 to 1.0)
dog.vy = 0.1 # Lateral velocity (-1.0 to 1.0)
dog.wz = 0.1 # Rotational velocity (-1.0 to 1.0)
dog.roll = 0.1 # Roll angle (-0.5 to 0.5)
dog.pitch = 0.1 # Pitch angle (-0.5 to 0.5)
dog.yaw = 0.1 # Yaw angle (-0.5 to 0.5)
dog.body_height = 0.25 # Body height (0.1 to 0.35)
dog.foot_height = 0.08 # Foot lift height (0.0 to 0.15)
dog.swing_duration = 0.3 # Swing period (0.1 to 1.0)
dog.friction = 0.6 # Friction coefficient (0.1 to 1.0)
Combined parameter settings:
# Set gait parameters
dog.set_gait_params(
friction=0.6, # Friction coefficient
scale_x=1.2, # Support surface X scaling
scale_y=1.0 # Support surface Y scaling
)
# Set motion parameters
dog.set_motion_params(
swaying_duration=2.0, # Swaying period
jump_distance=0.3, # Jump distance
jump_angle=0.1 # Jump rotation angle
)
# Set control parameters
dog.set_control_params(
velocity_decay=0.8, # Velocity decay
collision_protect=1, # Collision protection
decelerate_time=2.0, # Deceleration delay
decelerate_duration=1.0 # Deceleration duration
)
The examples directory contains comprehensive demonstrations:
demo_basic_movement.py - Basic motion control and posture adjustmentdemo_advanced_movement.py - Advanced motion parameters and gait controldemo_modes.py - User mode switching and state managementkeyboard_control.py - Real-time keyboard control interfacetest.py - System testing and validation# Navigate to the examples directory
cd examples
# Run basic movement demo
python demo_basic_movement.py
# Run keyboard control (requires pynput)
pip install pynput
python keyboard_control.py
# Run advanced movement demo
python demo_advanced_movement.py
The keyboard control example provides real-time control:
Dog: Main robot control interfaceUserMode: Robot operation modes (IDLE, TROT, etc.)DogController: Low-level parameter controlROSClient: ROS communication handler# Robot connection
dog = Dog(host="10.10.10.10", port=9090)
dog.connect()
dog.disconnect()
# Parameter control
dog.set_parameters(params_dict)
dog.set_gait_params(friction=0.6, scale_x=1.2)
dog.set_motion_params(jump_distance=0.3)
dog.set_control_params(velocity_decay=0.8)
# State queries
current_state = dog.get_state()
position = (dog.x, dog.y, dog.z)
Connection Failed
Python Version Error
Import Errors
pip install -r requirements.txtpip install pynputPerformance Issues
Enable debug logging for troubleshooting:
import logging
logging.basicConfig(level=logging.DEBUG)
from 3robotics import Dog
# Debug information will be printed
Issues and pull requests are welcome. For major changes, please open an issue first to discuss proposed changes.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or suggestions:
pypistats · 52 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-18 – 2026-10-18 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-17 – 2026-10-17 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-15 – 2026-10-15 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-14 – 2026-10-14 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-13 – 2026-10-13 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-08 – 2026-10-08 | 4 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-07 – 2026-10-07 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-06 – 2026-10-06 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-04 – 2026-10-04 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-10-03 – 2026-10-03 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-30 – 2026-09-30 | 3 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-27 – 2026-09-27 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-26 – 2026-09-26 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-25 – 2026-09-25 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-24 – 2026-09-24 | 4 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-21 – 2026-09-21 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-19 – 2026-09-19 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-18 – 2026-09-18 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-16 – 2026-09-16 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-15 – 2026-09-15 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-12 – 2026-09-12 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-10 – 2026-09-10 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-09 – 2026-09-09 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-08 – 2026-09-08 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-07 – 2026-09-07 | 3 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-05 – 2026-09-05 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-03 – 2026-09-03 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-09-01 – 2026-09-01 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-31 – 2026-08-31 | 3 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-28 – 2026-08-28 | 5 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-24 – 2026-08-24 | 8 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-23 – 2026-08-23 | 4 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-21 – 2026-08-21 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-20 – 2026-08-20 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-18 – 2026-08-18 | 18 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-17 – 2026-08-17 | 4 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-16 – 2026-08-16 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-15 – 2026-08-15 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-14 – 2026-08-14 | 4 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-09 – 2026-08-09 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-08 – 2026-08-08 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-06 – 2026-08-06 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-04 – 2026-08-04 | 3 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-03 – 2026-08-03 | 6 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-02 – 2026-08-02 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-08-01 – 2026-08-01 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-07-30 – 2026-07-30 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-07-29 – 2026-07-29 | 14 | 2026-10-20T20:40:24.1832374Z |
| 2026-07-27 – 2026-07-27 | 2 | 2026-10-20T20:40:24.1832374Z |
| 2026-07-24 – 2026-07-24 | 1 | 2026-10-20T20:40:24.1832374Z |
| 2026-07-23 – 2026-07-23 | 4 | 2026-10-20T20:40:24.1832374Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.0.1 | 28 Jul 2025 | 10 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 15:36 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:235c61788ed5c9e026c85f65dc5e6d470b47bfe0d8d8aac496bd84b56111ebeb