vulp


Namevulp JSON
Version 2.5.1 PyPI version JSON
download
home_pageNone
SummaryRobot/simulation switch for the mjbots stack.
upload_time2024-08-09 11:40:53
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords motion control real time robotics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Vulp – Robot/simulation switch

> [!IMPORTANT]\
> Vulp has been merged into the [Upkie wheeled biped software](https://github.com/upkie/upkie) and is not developed as a standalone library any more. If you need similar features for your own robot, we recommend you rather start from the latest [moteus](https://pypi.org/project/moteus/) C++ bindings.

Vulp provides an action-observation loop to control robots from a standalone "agent" process, like this:

<p align="center">
<img src="https://raw.githubusercontent.com/upkie/vulp/main/docs/figures/action-observation-loop-full.svg" alt="Action-observation loop with Vulp" class="center"/>
</p>

Vulp is designed for robots built with the mjbots stack ([moteus](https://github.com/mjbots/moteus/) servo controllers and [pi3hat](https://github.com/mjbots/pi3hat/) communication board). It provides a robot/simulation switch to train or test agents in [Bullet](https://github.com/bulletphysics/bullet3) before running them on the real system. Vulp supports Linux and macOS for development, and Raspberry Pi OS for robot deployment.

## See also

* [moteus](https://pypi.org/project/moteus/): bindings for moteus brushless controllers.
* [odri_control_interface](https://github.com/open-dynamic-robot-initiative/odri_control_interface): interface to control robots built with the [ODRI](https://github.com/open-dynamic-robot-initiative) Master Board.
* [kodlab_mjbots_sdk](https://github.com/KodlabPenn/kodlab_mjbots_sdk): C++-only framework integrated with [LCM](https://lcm-proj.github.io/lcm/) for logging and remote I/O.
* [mc\_rtc](https://github.com/jrl-umi3218/mc_rtc/): C++ real-time control framework with QP-based whole-body control.
* [robot\_interfaces](https://github.com/open-dynamic-robot-initiative/robot_interfaces): IPC between non-realtime Python and real-time C++ processes with Python bindings.
* [ros2_control](https://github.com/ros-controls/ros2_control): C++ framework for real-time control using ROS2 (still a work in progress).

## Why the name "Vulp"?

[Vulp](https://en.wiktionary.org/wiki/vulp#Noun_2) means "fox" in Romansh, a language spoken in the Swiss canton of the Grisons. Foxes are arguably quite reliable in their reaction times 🦊

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vulp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
    "keywords": "motion control, real time, robotics",
    "author": null,
    "author_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
    "download_url": "https://files.pythonhosted.org/packages/da/4c/2473f43c918eeff2caa289f04d78d52f449eb892fbaad351a16541380ec3/vulp-2.5.1.tar.gz",
    "platform": null,
    "description": "# Vulp \u2013 Robot/simulation switch\n\n> [!IMPORTANT]\\\n> Vulp has been merged into the [Upkie wheeled biped software](https://github.com/upkie/upkie) and is not developed as a standalone library any more. If you need similar features for your own robot, we recommend you rather start from the latest [moteus](https://pypi.org/project/moteus/) C++ bindings.\n\nVulp provides an action-observation loop to control robots from a standalone \"agent\" process, like this:\n\n<p align=\"center\">\n<img src=\"https://raw.githubusercontent.com/upkie/vulp/main/docs/figures/action-observation-loop-full.svg\" alt=\"Action-observation loop with Vulp\" class=\"center\"/>\n</p>\n\nVulp is designed for robots built with the mjbots stack ([moteus](https://github.com/mjbots/moteus/) servo controllers and [pi3hat](https://github.com/mjbots/pi3hat/) communication board). It provides a robot/simulation switch to train or test agents in [Bullet](https://github.com/bulletphysics/bullet3) before running them on the real system. Vulp supports Linux and macOS for development, and Raspberry Pi OS for robot deployment.\n\n## See also\n\n* [moteus](https://pypi.org/project/moteus/): bindings for moteus brushless controllers.\n* [odri_control_interface](https://github.com/open-dynamic-robot-initiative/odri_control_interface): interface to control robots built with the [ODRI](https://github.com/open-dynamic-robot-initiative) Master Board.\n* [kodlab_mjbots_sdk](https://github.com/KodlabPenn/kodlab_mjbots_sdk): C++-only framework integrated with [LCM](https://lcm-proj.github.io/lcm/) for logging and remote I/O.\n* [mc\\_rtc](https://github.com/jrl-umi3218/mc_rtc/): C++ real-time control framework with QP-based whole-body control.\n* [robot\\_interfaces](https://github.com/open-dynamic-robot-initiative/robot_interfaces): IPC between non-realtime Python and real-time C++ processes with Python bindings.\n* [ros2_control](https://github.com/ros-controls/ros2_control): C++ framework for real-time control using ROS2 (still a work in progress).\n\n## Why the name \"Vulp\"?\n\n[Vulp](https://en.wiktionary.org/wiki/vulp#Noun_2) means \"fox\" in Romansh, a language spoken in the Swiss canton of the Grisons. Foxes are arguably quite reliable in their reaction times \ud83e\udd8a\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Robot/simulation switch for the mjbots stack.",
    "version": "2.5.1",
    "project_urls": {
        "Changelog": "https://github.com/upkie/vulp/blob/main/CHANGELOG.md",
        "Documentation": "https://upkie.github.io/vulp/",
        "Source": "https://github.com/upkie/vulp"
    },
    "split_keywords": [
        "motion control",
        " real time",
        " robotics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84557a8ad81a49c697a1c2608adca029b91bfc0d46d76f502be6bfc76c8fc730",
                "md5": "b26052066db63fb996d0b797bfa69d5e",
                "sha256": "ac26ce0011d2cead9b3beac8acda2c596c1285d12337587f80ffb4cf4b45faf9"
            },
            "downloads": -1,
            "filename": "vulp-2.5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b26052066db63fb996d0b797bfa69d5e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 11340,
            "upload_time": "2024-08-09T11:40:51",
            "upload_time_iso_8601": "2024-08-09T11:40:51.562585Z",
            "url": "https://files.pythonhosted.org/packages/84/55/7a8ad81a49c697a1c2608adca029b91bfc0d46d76f502be6bfc76c8fc730/vulp-2.5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da4c2473f43c918eeff2caa289f04d78d52f449eb892fbaad351a16541380ec3",
                "md5": "0c7dcb2122dcab81a2f910d9ad7caadb",
                "sha256": "856261a54a51d19bad9c5c09f2c6d5a51f04834b6d15a4fb974b39953e2b3679"
            },
            "downloads": -1,
            "filename": "vulp-2.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0c7dcb2122dcab81a2f910d9ad7caadb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 11944,
            "upload_time": "2024-08-09T11:40:53",
            "upload_time_iso_8601": "2024-08-09T11:40:53.317002Z",
            "url": "https://files.pythonhosted.org/packages/da/4c/2473f43c918eeff2caa289f04d78d52f449eb892fbaad351a16541380ec3/vulp-2.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-09 11:40:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "upkie",
    "github_project": "vulp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "vulp"
}
        
Elapsed time: 0.44932s