Giter VIP home page Giter VIP logo

robotlocomotion / libbot Goto Github PK

View Code? Open in Web Editor NEW
23.0 8.0 30.0 850 KB

Deprecated git mirror of the svn repository formerly located at https://code.google.com/p/libbot. Please use the upstream https://github.com/libbot2/libbot2 or new fork https://github.com/RobotLocomotion/libbot2 instead.

License: GNU Lesser General Public License v3.0

Java 2.19% C++ 11.52% C 59.26% Objective-C 0.10% Python 13.80% Shell 0.04% Makefile 0.71% CMake 12.38% HTML 0.01%
deprecated fork

libbot's Introduction

THIS REPOSITORY IS DEPRECATED. DO NOT USE IT.  
Use https://github.com/RobotLocomotion/libbot2 instead.  
For the deprecation rationale, see #21.

The following README is preserved for reference only.

---

This is the code base for libbot2. 

Overview
========

libbot2 is a collection of several pieces of software (pods).  Some pods
may depend on others.  The current list of pods is:

  bot2-core       C library with some simple but useful routines,
                  and a set of core message types (LCM types).

  bot2-vis        C library of classes and functions for visualizing data
                  with OpenGL and GTK2.

  bot2-lcmgl      Transmitting and rendering OpenGL commands over LCM.

  bot2-procman    Process management tools for controlling many processes 
                  on one or many workstations.

  bot2-lcm-utils  LCM utility programs (tunnel LCM over TCP, chop or splice
                  log files, etc.)

Requirements
============

  These are required.
    GLib 2.0+
    CMake
    LCM       (http://lcm.googlecode.com)
    Java      (Sun JDK or OpenJDK strongly preferred)
    Python
    GTK+ 2.0+ (required by bot2-vis)
    OpenGL    (required by bot2-vis)
    GLUT
    PyGTK

  Note that some pods may have fewer requirements (e.g., if you just want
  bot2-core)

  On a Debian/Ubuntu system, the following packages should be sufficient:
    libglib2.0-dev
    cmake
    sun-java6-jdk | default-jdk | openjdk-6-jdk
    python-dev
    python-gtk2
    libgtk2.0-dev
    mesa-common-dev
    libgl1-mesa-dev
    libglu1-mesa-dev
    freeglut3-dev
    libjpeg-dev

    Additionally, you'll need to install LCM from http://lcm.googlecode.com

  On OS X, the recommended procedure is to use MacPorts and install:
    cmake
    pkgconfig
    glib2
    gtk2
    atk
    cairo
    python26
    py26-gtk
    pango
    mesa
    
    Additionally, you'll need to install LCM from http://lcm.googlecode.com

(Local) Installation
====================
  libbot2 adheres to the Pods core policy, and makes use of the Pods build tools. 
  For more information about Pods, see: https://sourceforge.net/p/pods/

  You can install libbot2 to your system by running:

  $ sudo make BUILD_PREFIX=/usr/local

  If you don't want to install libbot2 to your system, you can also build it
  inside the source directory.  To do this, run:

  $ make
  
  In this case, the executables, headers, libraries etc. will be installed according to
  the Pods core policy. If no other "build" directory is found, it will default to:
  libbot2/build/  

Uninstallation
==============

  If compiled and installed to your system, run:

  $ sudo make clean

  note: this can only be done from the libbot2 source that was used for
        installation

Documentation
=============

  To build documentation, install Doxygen and then run:

  $ cd doc
  $ doxygen

  HTML docs will then be build to doc/html/

License
=======

  libbot2 is free software: you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as published 
  by the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  libbot2 is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Lesser General Public License for more details.



  You should have received a copy of the GNU Lesser General Public License
  along with libbot2.  If not, see <http://www.gnu.org/licenses/>.

libbot's People

Contributors

andybarry avatar david-german-tri avatar genemerewether avatar joeromano avatar mwoehlke-kitware avatar patmarion avatar peterkty avatar russtedrake avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libbot's Issues

pods.cmake calls get_target_property for non-targets

For previous discussion, see: db3e32c#commitcomment-12640480

I just had a closer look at the offending code in pods.cmake, it says:

get_target_property(IS_TARGET ${__depend_target_name} LOCATION)
if (NOT IS_TARGET STREQUAL "IS_TARGET-NOTFOUND")
  ...
endif()

In CMake you can test whether a name is a target with:

if(TARGET ${__depend_target_name})

Code like this already exists in pods.cmake provided by RobotLocomotion/cmake.git

Maybe a low priority issue, but with this fix it could avoid setting the policy to OLD. I think it's best not to set policy to OLD because it can cover other bugs.

This repo is not forked from upstream

This repository is not forked off of what appears to be the (current) canonical upstream, https://github.com/libbot2/libbot, and the history is out of sync.

I propose that someone with sufficient permissions:

  • Push a copy of the current master to some new branch name (to prevent garbage collection from pruning the old history until forks can be updates).
  • Reset master to mwoehlke-kitware/libbot@e7ff4150c275, which has the same content as current master (@a889c5f10f31), but meshes with the upstream history.
  • Ask github to attach this repo as a fork of https://github.com/libbot2/libbot so that PR's can be made between us and upstream.

lcmgl_bot_renderer.h header not installed

The lcmgl_bot_renderer.h header isn't installed when building bot_lcmgl_renderer, which causes the bot-lcmgl build to fail later on. Has anyone else had this problem?

It's an easy fix, and I can open a pull request for it, but I'm curious if maybe it's just something wrong with my system (since I would expect this to cause the build to fail for everyone, which doesn't seem to be the case).

Don't overwrite bot_core_lcmtypes

I think that most users of this repo are also using bot_core_lcmtypes. This can result in a bug if the lcmtypes from this project are installed over the those from bot_core_lcmtypes.

As a quick fix to avoid this bug, I propose that we add a CMake flag, SKIP_BOTCORE_LCMTYPES, which causes this repo to use the installed types from bot_core_lcmtypes and entirely skip over processing the core types in this project, libbot.

This bug has currently manifested itself in drake's install tree on Mac OSX: bot_core_lcmtypes are installed into the site-packages, while libbot's bot2-core/lcmtypes are installed to dist-packages. Ouch!

adding some drc lcm msgs to libbot?

bot_core is missing a couple of the standard lcmtypes we used in the DRC: generic point cloud, IMU, joint state and presumably robot_state_t. Other to consider would be robot_urdf_t and force_torque_t

@patmarion and @RussTedrake would you find it useful to define standard types like this for future applications?

For pronto I keep having to redefine DRC types in pronto. Ideally there would be a submodule just with lcmtypes that I could use in my distro repo.

(Also, moving to use this repo in the mitdrc/drc would be good)

BTW, ROS has a set of clear and fully static standard sensor messages:
http://wiki.ros.org/sensor_msgs

merge drc libbot fork

I manually move each commit from libbot-drc to mitdrc/libbot

  • I figured out that libbot was forked at b8cfe1a
  • this was r7667 of the DRC svn repository.
    Below are the commits that were made. I skipped a few that weren't useful.

This is on this branch:
https://github.com/mitdrc/libbot/tree/mfallon-merge-libbot-drc-changes-alpah
Which is based off of b8cfe1a.


r8334 | antone | 2015-03-10 15:35:41 +0000 (Tue, 10 Mar 2015) | 1 line

reconcile running state of sheriff with that of deputy at startup; this fixes behavior that erroneously starts stopped processes on sheriff restart

r8332 | russt | 2014-12-23 20:16:03 +0000 (Tue, 23 Dec 2014) | 1 line

obj support update from Russ

r8331 | antone | 2014-11-24 02:05:39 +0000 (Mon, 24 Nov 2014) | 1 line

added bot_core::images_t

r8329 | mfallon | 2014-08-28 01:45:21 +0100 (Thu, 28 Aug 2014) | 1 line

minor mod to param server republishing

r8328 | antone | 2014-08-28 00:28:37 +0100 (Thu, 28 Aug 2014) | 1 line

added lcm message based initialization for param server

r8325 | russt | 2014-03-25 16:08:52 +0000 (Tue, 25 Mar 2014) | 1 line

merge in change from github: enabling depth tests in lcmgl renderer

r8324 | russt | 2014-03-25 16:08:08 +0000 (Tue, 25 Mar 2014) | 1 line

merge change from github / libbot: make start/stop recording methods public

r8323 | antone | 2014-03-24 16:39:36 +0000 (Mon, 24 Mar 2014) | 1 line

fixed memory leak in which freeing elements from middle of config block would leave next elements unreferenced

r8322 | antone | 2014-03-21 21:11:32 +0000 (Fri, 21 Mar 2014) | 1 line

fixed bug in string array parsing

r8149 | antone | 2013-12-10 19:42:58 +0000 (Tue, 10 Dec 2013) | 1 line

fixed bug in param server value update when not an array

SKIPPED r7971 | mfallon | 2013-12-06 00:37:47 +0000 (Fri, 06 Dec 2013) | 1 line

adding printf request mesg

SKIPPED r7969 | mfallon | 2013-12-06 00:17:57 +0000 (Fri, 06 Dec 2013) | 1 line

adding fetch printf capability

SKIPPED r7946 | mfallon | 2013-12-05 20:38:51 +0000 (Thu, 05 Dec 2013) | 1 line

removing restart button

r7762 | russt | 2013-11-27 19:30:08 +0000 (Wed, 27 Nov 2013) | 1 line

merged non-Apple fix from main libbot

r7688 | antone | 2013-11-26 14:30:11 +0000 (Tue, 26 Nov 2013) | 1 line

fixed bugs in param client and server that prevented proper external 'set_x' methods from working properly; added new message field that distinguishes between different set types

r7687 | antone | 2013-11-26 14:28:01 +0000 (Tue, 26 Nov 2013) | 1 line

reverted russ's cmake changes from libbot head that were accidentally included in the clone

r7667 | antone | 2013-11-25 21:51:33 +0000 (Mon, 25 Nov 2013) | 1 line

made copy of libbot for local modifications

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.