Skip to content
This repository was archived by the owner on Feb 21, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ JdeRobot simplifies the access to hardware devices from the control program. Get
* Wiimote
* X10 home automation devices

JdeRobot includes several robot programming tools and libraries. First, viewers and teleoperators for several robots, its sensors and motors. Second, a camara calibration component and a tunning tool for color filters. Third, VisualHFSM tool for programming robot behavior using hierarchical finite state machines. It includes many sample components using OpenCV, PCL, OpenGL, etc.. In addition, it also provides a library to develop fuzzy controllers, a library for projective geometry and some computer vision processing.
JdeRobot includes several robot programming tools and libraries. First, viewers and teleoperators for several robots, its sensors and motors. Second, a camara calibration component and a tunning tool for color filters. Third, VisualStates tool for programming robot behavior using hierarchical finite state machines. It includes many sample components using OpenCV, PCL, OpenGL, etc.. In addition, it also provides a library to develop fuzzy controllers, a library for projective geometry and some computer vision processing.

Each component may have its own independent Graphical User Interface or none at all. Currently, GTK and Qt libraries are supported, and several examples of OpenGL for 3D graphics with both libraries are included.

Expand Down
24 changes: 0 additions & 24 deletions src/tools/visualHFSM/setup.sh

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
IF (goocanvasmm_INCLUDE_DIRS)

SET( SOURCE_FILES_VISUALHFSM
SET( SOURCE_FILES_VISUALSTATES
iceinterface.cpp
point.cpp
node.cpp
Expand All @@ -23,7 +23,7 @@ SET( SOURCE_FILES_VISUALHFSM
popups/timerdialog.cpp
savefile.cpp
xmlparser.cpp
visualhfsm.cpp
visualStates.cpp
main.cpp
)

Expand Down Expand Up @@ -59,10 +59,10 @@ include_directories (
${resourcelocator_INCLUDE_DIRS}
)

add_executable (visualHFSM ${SOURCE_FILES_VISUALHFSM})
add_library(visualHFSMlib ${SOURCE_FILES_RUNTIMEGUI})
add_executable (visualStates ${SOURCE_FILES_VISUALSTATES})
add_library(visualStateslib ${SOURCE_FILES_RUNTIMEGUI})

TARGET_LINK_LIBRARIES ( visualHFSM
TARGET_LINK_LIBRARIES ( visualStates
${gtkmm3_LIBRARIES}
${goocanvasmm_LIBRARIES}
${gtk3_LIBRARIES}
Expand All @@ -72,7 +72,7 @@ TARGET_LINK_LIBRARIES ( visualHFSM

)

TARGET_LINK_LIBRARIES ( visualHFSMlib
TARGET_LINK_LIBRARIES ( visualStateslib
${gtkmm3_LIBRARIES}
${goocanvasmm_LIBRARIES}
${gtk3_LIBRARIES}
Expand All @@ -81,20 +81,20 @@ TARGET_LINK_LIBRARIES ( visualHFSMlib
${GLOG_LIBRARIES}
)

add_custom_command(TARGET visualHFSM POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/gui $<TARGET_FILE_DIR:visualHFSM>/gui)
add_custom_command(TARGET visualStates POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/gui $<TARGET_FILE_DIR:visualStates>/gui)

add_custom_command(TARGET visualHFSM POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/getinterfaces.sh $<TARGET_FILE_DIR:visualHFSM>)
add_custom_command(TARGET visualStates POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/getinterfaces.sh $<TARGET_FILE_DIR:visualStates>)



install(TARGETS visualHFSM
install(TARGETS visualStates
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/
COMPONENT tools
)

install(TARGETS visualHFSMlib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/jderobot/ COMPONENT tools)
install(TARGETS visualStateslib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/jderobot/ COMPONENT tools)

# Install Glade
FILE(GLOB_RECURSE GLADE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/gui/*.glade)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
* CONSTRUCTOR
*************************************************************/
AutomataGui::AutomataGui(int argc, char** argv) : dispatcher(){
this->app = Gtk::Application::create("jderobot.visualHFSM.automatagui");
this->app = Gtk::Application::create("jderobot.visualStates.automatagui");
}

/*************************************************************
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from treeModel import TreeModel
import sys, signal, math
from guisubautomata import GuiSubautomata
from gui.runtimeGui import Ui_visualHFSM
from gui.runtimeGui import Ui_visualStates
from gui.additionalSubautWind import Ui_SubautomataWindow


Expand All @@ -44,7 +44,7 @@ def closeEvent(self, event):
self.close()


class AutomataGui(QtGui.QMainWindow, Ui_visualHFSM):
class AutomataGui(QtGui.QMainWindow, Ui_visualStates):

activeNodeSignal = QtCore.pyqtSignal(str)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ void Generate::generateGenericHeaders () {
this->fs << "#include <Ice/Ice.h>" << std::endl;
this->fs << "#include <IceUtil/IceUtil.h>" << std::endl;
this->fs << "#include <easyiceconfig/EasyIce.h>" << std::endl;
this->fs << "#include <jderobot/visualHFSM/automatagui.h>" << std::endl;
this->fs << "#include <jderobot/visualStates/automatagui.h>" << std::endl;
this->fs << std::endl;
for ( std::list<std::string>::iterator listLibsIterator = this->listLibraries.begin();
listLibsIterator != this->listLibraries.end(); listLibsIterator++ )
Expand Down Expand Up @@ -673,7 +673,7 @@ void Generate::generateCmake () {
this->fs << "\t${GTKMM_LIBRARIES}" << std::endl;
this->fs << "\t${easyiceconfig_LIBRARIES}" << std::endl;
this->fs << "\t${goocanvasmm_LIBRARIES}" <<std::endl;
this->fs << "\t${LIBS_DIR}/jderobot/libvisualHFSMlib.so" << std::endl;
this->fs << "\t${LIBS_DIR}/jderobot/libvisualStateslib.so" << std::endl;
this->fs << "\t${LIBS_DIR}/jderobot/libJderobotInterfaces.so" << std::endl;
this->fs << "\t${LIBS_DIR}/jderobot/libjderobotutil.so" << std::endl;
this->fs << "\tIce" << std::endl;
Expand Down Expand Up @@ -703,7 +703,7 @@ void Generate::generateGenericHeaders_py(){
import Ice\n\
import easyiceconfig as EasyIce\n\
import sys, signal\n\
sys.path.append('/usr/local/share/jderobot/python/visualHFSM_py')\n\
sys.path.append('/usr/local/share/jderobot/python/visualStates_py')\n\
import traceback, threading, time\n\
from automatagui import AutomataGui, QtGui, GuiSubautomata\n\n";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ def _translate(context, text, disambig):
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)

class Ui_visualHFSM(object):
def setupUi(self, visualHFSM):
visualHFSM.setObjectName(_fromUtf8("visualHFSM"))
visualHFSM.resize(761, 553)
self.centralwidget = QtGui.QWidget(visualHFSM)
class Ui_visualStates(object):
def setupUi(self, visualStates):
visualStates.setObjectName(_fromUtf8("visualStates"))
visualStates.resize(761, 553)
self.centralwidget = QtGui.QWidget(visualStates)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.horizontalLayout = QtGui.QHBoxLayout(self.centralwidget)
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
Expand Down Expand Up @@ -69,25 +69,25 @@ def setupUi(self, visualHFSM):
self.schemaView.setObjectName(_fromUtf8("schemaView"))
self.verticalLayout_9.addWidget(self.schemaView)
self.horizontalLayout.addWidget(self.frameSchema)
visualHFSM.setCentralWidget(self.centralwidget)
visualStates.setCentralWidget(self.centralwidget)

self.retranslateUi(visualHFSM)
QtCore.QMetaObject.connectSlotsByName(visualHFSM)
self.retranslateUi(visualStates)
QtCore.QMetaObject.connectSlotsByName(visualStates)

def retranslateUi(self, visualHFSM):
visualHFSM.setWindowTitle(_translate("visualHFSM", "visualHFSM - runtimeGUI", None))
self.TreeViewLabel.setText(_translate("visualHFSM", "Tree VIew", None))
self.autofocus.setText(_translate("visualHFSM", "Autofocus", None))
self.upButton.setText(_translate("visualHFSM", "Up", None))
self.SchemaLabel.setText(_translate("visualHFSM", "Schema", None))
def retranslateUi(self, visualStates):
visualStates.setWindowTitle(_translate("visualStates", "visualStates - runtimeGUI", None))
self.TreeViewLabel.setText(_translate("visualStates", "Tree VIew", None))
self.autofocus.setText(_translate("visualStates", "Autofocus", None))
self.upButton.setText(_translate("visualStates", "Up", None))
self.SchemaLabel.setText(_translate("visualStates", "Schema", None))


if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
visualHFSM = QtGui.QMainWindow()
ui = Ui_visualHFSM()
ui.setupUi(visualHFSM)
visualHFSM.show()
visualStates = QtGui.QMainWindow()
ui = Ui_visualStates()
ui.setupUi(visualStates)
visualStates.show()
sys.exit(app.exec_())

Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@
*/

#include <unistd.h>
#include "visualhfsm.h"
#include "visualStates.h"
#include <resourcelocator/gladelocator.hpp>

int main (int argc, char **argv) {
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "jderobot.visualhfsm");
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "jderobot.visualstates");


//Load the Glade file and instiate its widgets:
Expand All @@ -44,12 +44,12 @@ int main (int argc, char **argv) {
}

//Get the GtkBuilder-instantiated dialog:
VisualHFSM* visualhfsm = 0;
refBuilder->get_widget_derived("DialogDerived", visualhfsm);
if (visualhfsm) //Start:
app->run(*visualhfsm);
VisualStates* visualStates = 0;
refBuilder->get_widget_derived("DialogDerived", visualStates);
if (visualStates) //Start:
app->run(*visualStates);

delete visualhfsm;
delete visualStates;

return 0;
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ void LoadFileDialog::init () {
&LoadFileDialog::on_button_cancel));

Glib::RefPtr<Gtk::FileFilter> filter_xml = Gtk::FileFilter::create();
filter_xml->set_name("VisualHFSM files");
filter_xml->set_name("VisualStates files");
filter_xml->add_mime_type("text/xml");
this->filechooserdialog->add_filter(filter_xml);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ void SaveFileDialog::init () {
&SaveFileDialog::on_button_cancel));

Glib::RefPtr<Gtk::FileFilter> filter_xml = Gtk::FileFilter::create();
filter_xml->set_name("VisualHFSM files");
filter_xml->set_name("VisualStates files");
filter_xml->add_mime_type("text/xml");
this->filechooserdialog->add_filter(filter_xml);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ void SaveFile::init () {
#endif //LIBXMLCPP_EXCEPTIONS_ENABLED

xmlpp::Document document;
xmlpp::Element* nodeRoot = document.create_root_node("VisualHFSM", "", "");
xmlpp::Element* nodeRoot = document.create_root_node("VisualStates", "", "");

for ( std::list<GuiSubautomata>::iterator subListIterator = this->subautomataList->begin();
subListIterator != this->subautomataList->end(); subListIterator++ ) { // for every subautomata
Expand Down
24 changes: 24 additions & 0 deletions src/tools/visualStates/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/sh
#
# Copyright (c) 2016
# Author: Samuel Rey <samuel.rey.escudero@gmail.com>
# License: GPLv3 <http://www.gnu.org/licenses/gpl-3.0.html>

#C++ Dependencies
sudo mkdir /usr/local/include/jderobot/visualStates
sudo cp *.h /usr/local/include/jderobot/visualStates
sudo mkdir /usr/local/include/jderobot/visualStates/popups
sudo cp popups/*.h /usr/local/include/jderobot/visualStates/popups/
sudo mkdir /usr/local/share/jderobot/glade/visualStates
sudo cp gui/* /usr/local/share/jderobot/glade/visualStates/
sudo cp getinterfaces.sh /usr/local/bin

#Python Dependencies
sudo mkdir /usr/local/share/jderobot/python/visualStates_py
sudo cp *.py /usr/local/share/jderobot/python/visualStates_py
sudo mkdir /usr/local/share/jderobot/python/visualStates_py/gui
sudo cp gui/*.py /usr/local/share/jderobot/python/visualStates_py/gui

sudo cp visualStates /usr/local/bin

echo "Dependencies installed"
Loading