Main Page

From jderobot
Revision as of 09:51, 5 February 2018 by Jmplaza (talk | contribs) (News)
Jump to: navigation, search

JdeRobot robotics and computer vision technology that rocks and matters!

JdeRobot is software framework for developing applications in robotics and computer vision. Also in home automation and scenarios with sensors, actuators and intelligent software in between.


Follow us on Twitter

  • The last stable release, JdeRobot 5.6.2 has been released (2017/12/22): full compatible with ROS Kinetic and new VisualStates tool.
  • 2nd edition of Drone Programming Challenge (Spanish) was celebrated inside the National Robotics Workshop (2017/06/09). Follow this video for the summary, a drone (cat) searches and pursues a moving target (mouse).
  • JdeRobot has been accepted as a mentoring organization for Google Summer of Code 2017!. Check our candidate application process if interested in participating.
  • A new framework for teaching robotics to children is being used in two courses: JdeRobot kids. It is based on Arduino (mbot robot) and Python.
  • The registration is open for the 2nd edition of (online or in-person) Robot Programming course (autonomous cars) (Spanish). It will start on March 3rd, 2017.

Videos of the month

Follow our YouTube Channel

A (Windows/Mac/Linux) desktop application to control drones (more) Drone behavior example using VisualStates tool for automata, (more)

(more videos)


JdeRobot is a software suite for developing robotics and computer vision applications. These domains include sensors (for instance, cameras), actuators, and intelligent software in between. It is mostly written in C++ and Python languages and provides a distributed component-based programming environment where the application program is made up of a collection of several concurrent asynchronous components. They may run in different computers and are connected using ICE communication middleware or ROS messages. Components interoperate through explicit interfaces. Each one may have its own independent Graphical User Interface or none at all.

ROS friendly (full compatible with ROS-Kinetic)
C++, Python, JavaScript
VisualStates tool for robot programming with automata
Scratch2JdeRobot tool for visual robot programming
JdeRobot-Academy for teaching robotics
Open source
Easy installation from debian packages

JdeRobot simplifies the access to hardware devices from the application program. Getting sensor measurements or ordering motor commands are done calling local functions. The platform attaches those calls to driver components which are connected to sensor or actuator devices (real or simulated ones, remote or local). Those functions build the API for the Hardware Abstraction Layer. Currently supported robots and devices:

  • RGBD sensors: Kinect and Kinect2 from Microsoft, Asus Xtion
  • Wheeled robots: TurtleBot from Yujin Robot and Pioneer from MobileRobotics Inc.
  • ArDrone quadrotor from Parrot
  • Laser Scanners: LMS from SICK, URG from Hokuyo and RPLidar
  • Gazebo simulator
  • Firewire cameras, USB cameras, video files (mpeg, avi...), IP cameras (like Axis)

JdeRobot includes several robot programming tools and libraries:

  • teleoperators for several robots, viewing their sensors and commanding their motors. Some of them are web-based and run on smartphones.
  • VisualStates tool for programming robot behavior using hierarchical Finite State Machines
  • Scratch2JdeRobot tool for programming robots (including drones) with the standard graphical language
  • a camera calibrator
  • a tool for tunning color filters
  • a library to develop fuzzy controllers, a library for projective geometry and computer vision processing.

JdeRobot is open-source software, licensed as GPL and LGPL. It also uses third-party software like Gazebo simulator, ROS, OpenGL, GTK, Qt, Player, Stage, GSL, OpenCV, PCL, Eigen, Ogre. It is ROS compatible!.


The last stable release is 5.6.2

We are working on:

  • Using reconfigurable hardware (FPGAs) in robotics, with new third party open tools like IceStudio
  • New tools: VisualStates: it allows visual programming of the robot intelligence with Finite State Machines. It creates a C++ or a Python component from the visual description of the automata.
  • New tools: Scratch2JdeRobot: it allows programming of TurtleBot and Drones using Scratch visual language
  • Improving our on-line doc and web
  • JdeRobot Academy: a framework to teach robotics and computer vision with drones, autonomous cars.... It is a collection of Python programmed exercises.
  • JdeRobot-Kids: a framework to teach robotics to children using Python and Arduino robots.
  • Compatibility with ROS robotics middleware: interoperation between ROS nodes and JdeRobot components, use of ROS drivers, use of ROS bag files... We are fully compatible with ROS Kinetic, even in terms of debian packages
  • Update of underlying infrastructure: jump to Ubuntu 16.04, OpenCV-3, migration to Gazebo-7 simulator (revisit existing plugins and models), PCL-1.8, ICE-3.6, Python-3.5... and update of binary debian packages
  • Integrating Web technologies: ICE-JS, WebRTC, html5... Web viewers for our robots.

JdeRobot License

Gplv3.png All the source code of JdeRobot project is licensed under GPL v3.

License.png All the documentation of JdeRobot project is licensed under Creative Commons by-sa