GithubHelp home page GithubHelp logo

huleg / freeboard_ros Goto Github PK

View Code? Open in Web Editor NEW

This project forked from autonomylab/freeboard_ros

0.0 2.0 0.0 164 KB

Freeboard dashboard for ROS using roslibjs

License: MIT License

CMake 41.56% Python 58.44%

freeboard_ros's Introduction

freeboard_ros

freeboard_ros is a proof-of-concept ROS wrapper for freeboard realtime dashboard using roslibjs. The long term goal of this project is to make it easier to create embeddable real-time dashboards for robots running ROS.

Approach & Roadmap

  • Create a roslibjs plugin for freeboard: Our local fork of freeboad includes a proof-of-concept plugin for freeboard that enables freeboard to connect to a local rosbridge server and expose any ROS topic as a data source in freeboard. Development is done in ros-dev branch. This fork is embedded in this git repository as a git submodule.

  • Serve freeboard dashboard using a standalone ROS Node: scripts/freeboard_ros.py is a standalone ROS node that serves freeboard as a web application using Bottle.

  • Load all javascript dependencies locally (Not Started)

  • Port Robot Web Tools widgets to freeboard (Not Started)

  • Make communication between ROS and freeboard two way (Not Started)

Download and Compile Instructions

Note: python-bottle is not yet added to rosdep database, therefor you need to install it manually either using apt-get or pip (on Ubuntu the package is called python-bottle).

$ cd /path/to/catkin_ws
$ git clone --recursive https://github.com/AutonomyLab/freeboard_ros.git src/freeboard_ros
# -r is to ignore rosdep error for python-bottle
$ rosdep install --from-paths src -i -r
$ catkin_make # or catkin build

Usage

$ roslaunch rosbridge_server rosbridge_websocket.launch
$ rosrun freeboard_ros freeboard_ros.py _host:=HOST/LOCALIP _port:=3274 _debug:=True

Sample launch file:

<launch>
    <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch"/>
    <node pkg="freeboard_ros" name="freeboard_ros" type="freeboard_ros.py" output="screen">
        <param name="~host" value="192.168.1.52"/>
        <param name="~port" value="3274"/>
        <param name="~debug" value="True"/>
    </node>
</launch>
  • Open http://[HOST or LOCALIP]:3274/freeboard/ in your browser.
  • Add a data source of type ROS Subscriber, type in the topic name, refresh rate and a preferred name for this source.
  • The source will be available to use (as a JSON data structure) in any of freeboard's widgets.

freeboard_ros's People

Contributors

mani-monaj avatar jakebruce avatar

Watchers

James Cloos avatar Luke Alex Reeve avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.