Skip to content
Fabien Rohrer edited this page Oct 10, 2018 · 3 revisions

Goal

Develop a web-based robot studio where a user can graphically construct a new robot from building blocks and export the resulting robot to XML and Webots formats. The building block components are inspired from:

The editor could be inspired from:

Official

  • Cyberbotics contribution: 24 PMs (person month).
  • Task [2591]: SGA2-C10.4.4.3 NRP Robot Designer. From the official document:

This task will develop a robot designer component (module) for the NRP web front-end, running fully in the web browser (3D models, logic). The graphical user interface of the modular robot designer will rely on a socket and slot mechanism combined with a library of robotics shells, sensors and actuators. Basically, a robotics shell will feature a number of extension slots, into which it will be possible to plug devices via their connection socket. Devices could be sensors, actuators or passive components. Some devices will also feature a number of slots into which it will be possible to connect more devices and hence build chains of devices. A typical chain of devices could be, for example, a multi-joint robotic arm, equipped with a gripper and sensors inside the gripper. The graphical user interface will display the extension slots and corresponding device sockets using special colours and a snap mechanism will facilitate the connection of a device's socket into a slot. Each robot shell and device will feature a number of open parameters (e.g., mass, maximum torque of a motor, range of a distance sensor, etc.) which could be easily edited by the user. Support for adding robot controllers in form of a Gazebo plugin source file will be supplied. The robot designer will generate robot definition files in the open SDF format (http://sdformat.org/) that will enable both the direct loading into the Neurorobotics Platform as well as the re-loading and editing into the Robot Designer. The Robot Designer will also be able to import robot parts, defined in SDF and a meta-information file. The module will be a bower component imported by the NRP Web Cockpit, like the Brain Visualizer. Its look & feel will follow the Web Cockpit look & feel and guidelines of the Neurorobotics Platform. To keep the dependencies on external code minimal, the component will rely on common NRP Web cockpit libraries, such as ThreeJS, Angular, and Bootstrap. In particular, the WebGL framework will be common to the NRP Web Cockpit to ensure graphical consistency, reusability, and maintenance economy.

Notes

Cyberbotics will not produce any Gazebo-related interface or file format, e.g., we will not develop any SDF exporter or importer. Instead we will develop a simple XML exporter / importer that could be used by others to convert to the SDF format. We will validate it with the Webots PROTO format.

Clone this wiki locally