Skip to main content

Inovopy

Static Badge Static Badge Static Badge

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.

  1. Download latest release of iva.isq
  2. Import the project to inovo robot psu
  3. look for the socket connect block and change the target ip to robot control server's ip address
  4. use inovopy.robot.InovoRobot to control the robot

example

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)

Metadata

Release files for inovopy 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for inovopy 1.0.1
File Size Uploaded Provenance
inovopy-1.0.1.tar.gz 20.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for inovopy 1.0.1
File Interpreter ABI Platform
inovopy-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 42.8 kB

Release files / inovopy-1.0.1.tar.gz

Download URL inovopy-1.0.1.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
00554c2bf9ef2ea29b7d7902e0e4eacf34678fa958414ef21d19f979f504b718
BLAKE2b-256 checksum
How to use checksums
e17b684bd8c5034927089db167f33a668251f2dd54b66ab990b2ffab455d2db6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2025.

Transparency log

Release files / inovopy-1.0.1-py3-none-any.whl

Download URL inovopy-1.0.1-py3-none-any.whl
Size 22.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cbe2f9f93424966d638ae2ed1ffa0a37bc22cfa757d96e7b44bf144625a87caf
BLAKE2b-256 checksum
How to use checksums
8bbba0efe069dcbe23b301ea022640a0901687321421f687da754c77631aaacf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2025.

Transparency log

Security for inovopy 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for inovopy-1.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page