A software framework for developing applications in robotics and computer vision

JdeRobot is a software development framework for robotics and computer vision applications. These domains include sensors, actuators, and intelligent software in between. It has been designed to help in programming such intelligent software. It is written in C++, Python and JavaScript, and provides a distributed component-based programming environment where the robotic application is made up of a collection of several concurrent asynchronous components. Each component may run in different computers and they are connected using ICE communication middleware or ROS. JdeRobot is based on ROS and uses ROS drivers.

Real robots like TurtleBot, drones (ArDrone, 3DR solo) and real sensors like color cameras, RGBD cameras (Kinect1, Kinect2, Xtion), RPLidar, laser are supported. And their corresponding ones in Gazebo simulator, including also a Formula1 and autonomous cars.

Getting sensor measurements is as simple as calling a local function, and ordering motor commands as easy as calling another local function. The platform attaches those calls to the remote invocation on the components connected to the sensor or the actuator devices. Those local functions build the Hardware Abstraction Layer API. The robotic application gets the sensor readings and orders the actuator commands using such HAL to unfold its behavior.

JdeRobot include many tools: (a) JdeRobot-Academy, a suite for teaching robotics and computer vision, with 20 motivating exercises; (b) VisualStates, for visual creation of automata that control robot behavior; (c) Scratch2JdeRobot, for programming advanced robots with a full visual language; (d) robot teleoperators, even with web technologies; (e) a tuner for color filters, etc.

lightbulb_outline View ideas list


  • ros
  • python
  • c++
  • gazebo
  • opencv


  • Other
  • robotics
  • computer vision
  • robot simulator
  • teaching
email Mailing list
mail_outline Contact email

JdeRobot - Universidad Rey Juan Carlos 2018 Projects

  • Jianxiong Cai
    Create realistic 3D maps from SLAM algorithms
    This project (proposal) aims at implementing a complete system for creating realistic 3D maps from SLAM algorithms. In my proposed approach, it's...
  • Vinay Sharma
    Improving DetectionSuite to support more datasets and Frameworks with Segmentation Tools
    JdeRobot's DetectionSuite is primarily used for fair comparision of different Deep learning models on any framework or dataset preferred. This...
  • Pushkal Katara
    Improving VisualStates Tool
    The project focuses on improving VisualStates tool which is used for visualizing behaviors as Hierarchical Finite State Machines on a graphical...
  • Hanqing Xie
    Personal for GSoC 2018 - JdeRobot-Academy: robot navigation using Open Motion Planning Library
    This project aims to build a ROS gazebo simulation framework to display robot navigation using OMPL. The framework include OMPL GUI, navigation node,...
  • Sergio Paniego Blanco
    Running a Python application on an educational robot with an Arduino microprocessor built-in
    The main purpose of the project is to program an educational robot that uses an Arduino microprocessor with Python. It will support the main Python...