Hi fellow Robonauts,
The Xamla dev team is proud to announce the first official public beta version v0.7.12 of ROSVITA - a ROS based in-browser robot programming IDE!
The ROSVITA IDE allows to develop adaptive sensor based ROS robot programs for industrial actuators and sensors. It significantly simplifies the setup of MoveIt! based industrial manipulator systems (including end effectors and sensors) and also strengthen the reliability of a ROS for industrial use cases. Rosvita comes in a complete ready-to use docker container with a user-friendly browser-based UI for configuration, world-view visualization, monitoring, visual programming, file & project management etc. For supported actuators and sensors it is possible to configure and start robot setups up to the point where you can realtime jog them within 1-2 minutes completely within the GUI without requiring to manually edit launch or YAML files.
- For an overview check out the Rosvita website.
- Preliminary documentation is available at docs.xamla.com/rosvita, details how to pull and install the Rosvita docker image can be found on our Getting Started page.
- Some introduction videos can be found in our youtube channel.
- License: Parts of Rosvita are open-source under GPL with a dual-license scheme. The core IDE will be released with a license that allows free use in non-commercial settings (e.g. public research, hacker spaces, private users) and is will be offered via a commercial license model for professional production use (including support).
- For any questions get in touch with us (email@example.com) or discuss with the Xamla dev team in our forum.
Why we started Rosvita?
In the future industrial robot programs will in many applications incorporate sensor processing, AI and machine learning. In contrast to the classic robot programmer which carries around a ‘big calculator’ (teach pendant) we think that the future job description of a robot programmer more and more shifts to that of a data scientists who uses a robot to interact with the physical world. Innovative solutions incorporate 2D/3D computer vision, ML, deep reinforcement-learing etc. The main interesting space for us is to tap into the world of solutions that are outside reach of classic manual programming, e.g. generic gripping strategies for unknown objects, highly redundant actuators etc. Rosvita is our tool to simplify moving into this direction. We want to make core ROS functionality as quickly and easily accessible as possible and allow to use any available software technology in a robotic application.
ROS is a wonderful platform for adaptive robot programming but in its native form it is “90% shell” and has a very steep learning curve. If you are starting to use ROS without any contact to experienced users it will take you a significant amount of time (at least 1-2 weeks) until you really can control your industrial robot arm with MoveIt! and ROS. We want to lower the barrier for ROS use since this excludes and scares a high number of potential users.
ROS is heavily used in research and perfectly suited to tweak everything and get your 1-2 minutes youtube demo video ready - but many open-source drivers are often not mature enough for 24/7 industrial use - e.g. if you want to use them in a professional production situation you need the resources to fix and improve them within your team which makes this process incalculable and expensive. Probably this situation will improve in the future when vendors release their own drivers but with Rosvita we already provide this today: All drivers that officially ship with Rosvita are fully supported by Xamla.
What is the difference of Rosvita and a classic robot controller?
Rosvita normally “augments” a realtime-controller that comes with a robot and acts as kind of a set-top-box. It provides all the tools to use a ROS PC as the “higher-level brain” that does sensor data processing and dynamic trajectory planning for the robot.
Main features of ROSVITA beta:
- Configuration, 3D visualization and file editing in an browser-based IDE (can be deployed on a cloud server)
- Sophisticated realtime jogging functions (e.g. live mouse/keyboard based setpoint jogging, also available via API e.g. for visual servoing)
- Supervised motion features
- Monitoring of ROS node outputs split by node, quickly starting and stopping of individual nodes or the whole system
- Motion programming APIs for .NET, Python and Lua to compute adaptive trajectories or interact with the Rosvita World View
- Heartbeat based system monitoring to detect failure of individual components
- Cartesian path and trajectory planning
- XGraph Workflow editor: An easily extensible visual programming system based on .Net
- Setup of ROS/MoveIt! configurations for supported robots within a matter of seconds
- built-in XACRO/URDF editor with instant 3D visualization of modifications
- Time re-parameterization of MoveIt! trajectories (smooth motion)
- plug-ins for industrial components like Gripper-Control or robot controller features
Open-Source parts of ROSVITA
- ur_driver driver for the the UR Series
- meca500_driver for Mecademic Meca500
- Major driver development in our motoman fork
- Modifications (nearly rewrites) of the WSG-50 driver
- camera_aravis - also nearly rewrite / significant perf and stability improvements
- ximea_camera package
- Significant trajectory-planning & realtime-control development has been done in xamlamoveit
- System monitoring system xamla_sysmon might also be relevant for ROS-I / ROS1 users
- Client API for xamla_motion for Python
- Significantly improved fork of ROS.net to interact with ROS form .Net Core
All these components and some more (like auto_calibration for external/onboard mono and stereo camera systems for calculating hand-eye matrices etc.) are part of Rosvita.
We are looking for partners and beta testers
If you are developer of ROS compatible hardware or you are frequently working with Robotic arms and you think Rosvita could be a fit for your application please get in touch with us. It is relitively simple to add new components to the Rosvita component catalog and thereby to add support for other drivers etc.
If you are actively programming robotic arm motions with ROS/MoveIt! and you want to use Rosvita for you applications we would be happy to discuss the applicability of Rosvita in person, please contact me via PM.
Feedback requested, next steps
As you probably can imagine providing a complete fully featured ROS based programming IDE which covers everything from control to AI is a major undertaking that takes many man-years of work. Xamla itself is currently actively using Rosvita to develop complex adaptive robot projects and we internally feed back our experience into the Rosvita product development cycle. But we are now approaching a point where we think it makes sense to introduce the software to a wider audience and to collect more exetrnal feedback. If you have any questions, ideas or comments please do not hesitate to ask.
The next public bits you will see from us are examples and demos how to use and extend Rosvita. The heart of Rosvita is of course our motion programming API wich extends the capabilities of MoveIt! and this piece needs more documentation to be easily understood by users. A first version of our Python documentation can be found at docs.xamla.com/xamla_motion. We hope to soon provide a level of documentation that gently explains our robotic type system and the basic path and trajectory planning functionality…
Any feedback is appreciated!
Founder of Xamla