A software framework for developing applications in robotics and computer vision

JdeRobot is a software development suite for robotics, computer vision and home-automation 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++ and Python, 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 several tools: robot teleoperators, a tuner for color filters, a tool for visual creation of automata (Finite State Machine) that control robot behavior, etc. The web browsers also may be used to directly connect to the robots, their sensors and actuators.

Includes a framework for teaching robotics [ http://jderobot.org/Teaching_robotics_with_JdeRobot ]. Several exercises have been developed: for visual control of a Formula1, autonomous navigation of a taxi inside a city, drone rescue missions, computer vision, etc.

lightbulb_outline View ideas list


  • python
  • c/c++
  • ros
  • gazebo


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

JdeRobot - Universidad Rey Juan Carlos 2017 Projects

  • Nigel Fernandez
    Deep Learning to Detect Objects in Images from RGB-D Input
    I aim to solve the problem of detecting and recognizing objects in videos by using RGB and depth data as input. The deep learning algorithm used...
  • Sepehr
    DeepRL in Robotics
    Creating an OpenAI gym environment as a wrapper for Gazebo robots simulator, so that the environment would be a bridge to connect an agent as a...
  • Okan Aşık
    JdeRobot GSOC'17 Application for Visual HFSM Project
    I propose to improve the visual HFSM tool by refactoring for Qt5, improving the user experience by developing more capable schema viewer and code...
  • Raúl Pérula-Martínez
    Teaching Robotics: Translation of a Scratch program to ROS python components
    JdeRobot is a software development suite for robotics, home-automation and computer vision applications. These domains include sensors (for instance,...