Name | vulp JSON |
Version |
2.5.1
JSON |
| download |
home_page | None |
Summary | Robot/simulation switch for the mjbots stack. |
upload_time | 2024-08-09 11:40:53 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | None |
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"
}