Inovo Robot Arm API
Project description
Inovopy
Introduction
A package that provide a simple python socket based api for controlling inovo robot arms.
Installation
pip install inovopy
Documentation
Usage
see examples
Ros
inovopy provide ros based api to interact with inovo robot arm.
Example
from inovopy.rosbridge import InovoRos
ros = InovoRos("192.168.1.122", "Test")
All fields are sync to the live robot state through RosBridge
class InovoRos(inovopy.util.Loggable):
# Ros
ros: roslibpy.Ros
# Tcp Speed
tcp_speed_lin: float = 0
tcp_speed_ang: float = 0
# Tcp Pose
tcp_pose_vec: tuple[float, float, float] = (0, 0, 0)
tcp_pose_quat: tuple[float, float, float, float] = (0, 0, 0, 0)
# Joint State
joint_pos: list[float] = []
joint_vel: list[float] = []
joint_eff: list[float] = []
# Power Status
voltage: float = 0
current: float = 0
power_status: str = 0
# Robot Status
driver_state: str = ""
drive_powered: bool = False
# EStop Status
estop_active: bool = False
estop_circuit: bool = False
# Safe Stop Status
safe_stop_active: bool = False
safe_stop_circuit: bool = False
# Runtime State
active_blocks: list[str] = []
current_block_progress: float = 0
runtime_status: RuntimeState = 0
variables: list[Variable] = []
# Arm State
enable: bool = False
state: int = 0
joint_states: list[JointState] = []
APIs:
ros.safe_stop_reset()
ros.estop_reset()
ros.power_on()
ros.robot_enable()
ros.runtime_start()
ros.runtime_pause()
ros.runtime_step()
ros.runtime_continue()
ros.runtime_get_var("a")
ros.runtime_set_var("a", 32)
ros.runtime_stop()
ros.runtime_start("do something")
ros.robot_disable()
ros.power_off()
iva
To enact more precise and dynmaic control of robot, you can use iva, a message framework design to interact with inovo robot arms.
- Download latest release of iva.isq
- Import the project to inovo robot psu
- look for the socket connect block and change the target ip to robot control server's ip address
- use
inovopy.robot.InovoRobotto control the robot
from inovopy.robot import InovoRobot
from inovopy.iva import RobotCommand, MotionMode
from inovopy.geometry.transform import Transform
bot = InovoRobot.default_iva("<PSU IP address>", "iva example")
# Get Current
print(bot.get_current_joint())
print(bot.get_current_transform())
# Motion
bot.linear_relative(Transform.from_z(10.0))
bot.joint(bot.get_current_joint().then_j1(10.0))
# Set Motion Parameter
bot.set_param(speed=10.0, accel=50.0, blend_linear=100.0, blend_angular=30.0)
# Digital IO
print(bot.get_io_beckhoff(0))
print(bot.set_io_beckhoff(0, True))
# Sequence
seq = [
RobotCommand.motion(MotionMode.LINEAR_RELATIVE, Transform.from_z(10.0)),
RobotCommand.sleep(10),
RobotCommand.set_parameter(speed=20.0, accel=5.0),
]
bot.sequence(seq)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inovopy-1.0.1.tar.gz.
File metadata
- Download URL: inovopy-1.0.1.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00554c2bf9ef2ea29b7d7902e0e4eacf34678fa958414ef21d19f979f504b718
|
|
| MD5 |
d679eefb3e4d34222edcb12e030d07ac
|
|
| BLAKE2b-256 |
e17b684bd8c5034927089db167f33a668251f2dd54b66ab990b2ffab455d2db6
|
Provenance
The following attestation bundles were made for inovopy-1.0.1.tar.gz:
Publisher:
pypi_workflows.yml on dizzyi/inovopy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
inovopy-1.0.1.tar.gz -
Subject digest:
00554c2bf9ef2ea29b7d7902e0e4eacf34678fa958414ef21d19f979f504b718 - Sigstore transparency entry: 262535003
- Sigstore integration time:
-
Permalink:
dizzyi/inovopy@4746c80826c30260b8cdba85b19e6f57238b9f51 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/dizzyi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi_workflows.yml@4746c80826c30260b8cdba85b19e6f57238b9f51 -
Trigger Event:
release
-
Statement type:
File details
Details for the file inovopy-1.0.1-py3-none-any.whl.
File metadata
- Download URL: inovopy-1.0.1-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbe2f9f93424966d638ae2ed1ffa0a37bc22cfa757d96e7b44bf144625a87caf
|
|
| MD5 |
15752758fa0b87367f9f730ec8a30703
|
|
| BLAKE2b-256 |
8bbba0efe069dcbe23b301ea022640a0901687321421f687da754c77631aaacf
|
Provenance
The following attestation bundles were made for inovopy-1.0.1-py3-none-any.whl:
Publisher:
pypi_workflows.yml on dizzyi/inovopy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
inovopy-1.0.1-py3-none-any.whl -
Subject digest:
cbe2f9f93424966d638ae2ed1ffa0a37bc22cfa757d96e7b44bf144625a87caf - Sigstore transparency entry: 262535004
- Sigstore integration time:
-
Permalink:
dizzyi/inovopy@4746c80826c30260b8cdba85b19e6f57238b9f51 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/dizzyi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi_workflows.yml@4746c80826c30260b8cdba85b19e6f57238b9f51 -
Trigger Event:
release
-
Statement type: