Other interfaces and architectures with aspects similar or complimentary to RSE - AS4SR/general_info GitHub Wiki
- from github page
- Requires: eclipse 3.7+ (3.8.1?), Java 1.7+(???)
-
Download:
git clone https://github.com/PRECISE/ROSLab.git
-
Run eclipse:
eclipse
- Import: "File->Import...", select "General->Existing Projects into Workspace" and click Next, select "Select root directory:" then click "Browse...", navigate to and double-click on v1 directory and click "OK", then click "Finish" to exit the dialogue
- Set up (eclipse < 3.8.1): in the Project Explorer tab right-click on "ROSLab" folder and select "Properties", click on "Java Compiler" on the left, then check "Enable project specific settings" on the right and select "Compiler compliance level" of "1.7" on the right, click "Apply", click "OK" when it asks to build the project now, then click "OK" to exit the dialogue
-
Run: in the Project Explorer right-click on "ROSLab (Fx).launch", select "Run As->ROSLab (Fx)"
- Note that "ROSLab (Fx).launch" runs roslab->src->roslab->Main.java
-
Work on ROS Nodes: left-click on the "Software" tab, then click "File->Open Library...", and select
ROSLab/resources/platforms/TestLibrary.yaml
- This will show you a "Library (TestLibrary)" that includes the old ROSLab v1.0 services
- Add new ROS Node to configuration: Right-click on "ROSNode" under "Library (TestLibrary)" and select "Add Custom Topic Node...", then fill in the data fields and click "OK" to create the component
- Add new "controller" to configuration: Right-click on "ROSNode" under "Library (TestLibrary)" and select "Add Custom Controller Node...", then give it a name and a rate and click "OK" to create the component
-
Add existing ROS Node to workspace: right-click in the main area and select "Add Node", select an already-extant component type and give it a name, then Click "OK", and the thing should pop up in your space
- Note that links will be automatically added for any existing topics that match those of the node
- Note that there is no editing nodes once they are instantiated, either in the workspace or the Library area; right-clicking only allows you to delete it. Changes can only be made by adding a new node in the Software tab under the "Library (TestLibrary)->ROSNode" area.
- Save your library: click "File->Save Library As..." to save your node definitions as a .yaml file (give it a name)
-
Save your configuration: click "File->Save Configuration As..." to save your current workspace setup + library as a .lab file (give it a name)
- This saves everything in the left-side frame (your workspace + configurations) to the file
- Note that this file is not readable at the command line
- Load a library: click "File->Open Library..." to load a .yaml file
-
Load a configuration (workspace+library): click "File->Open Configuration..." to load a .lab file
- Note that currently the reloaded configurations don't display the links visually in the workspace, though they do exist under "Configuration (Demo)->Links"
-
ROS node creation: right-click on "Configuration (Demo)" and select "Generate source code only"- Currently, the ROS C++ skeleton code generation does not seem to work in this version, for whatever reason...
- from github releases page
- Requires: eclipse 3.7+ (3.8.1?), Java 1.7
-
Install dependency:
sudo apt install python-pyqtgraph
-
Unpack and set up + run ROSLab v1.0:
-
(Option 1 - From tarball) Grab and unpack the tarball for the unbuilt-code:
wget https://github.com/PRECISE/ROSLab/archive/v1.0.0.tar.gz
tar -xvzf v1.0.0.tar.gz
ls -al ROSLab-1.0.0
-
Run eclipse:
eclipse
-
Import: "File->Import...", select "General->Existing Projects into Workspace" and click Next, select "Select root directory:" then click "Browse...", navigate to and double-click on
ROSLab-1.0.0
directory and click "OK", then click "Finish" to exit the dialogue (this will create a "roslab" folder in eclipse) -
Run: right click on "ROSLab.launch", select "Run As->ROSLab"
- Note that "ROSLab.launch" runs roslab->src->roslab->ROSLab.java
- Note that there are several workspace samples which come with this, under "./ROSLab-1.0.0/workspace_samples"
-
Import: "File->Import...", select "General->Existing Projects into Workspace" and click Next, select "Select root directory:" then click "Browse...", navigate to and double-click on
-
(NOT RECOMMENDED -- Option 2 - From .zip file) Download and extract zip file:
wget https://github.com/PRECISE/ROSLab/releases/download/v1.0.0/v1.zip
unzip v1.zip
cd v1
-
Run with errors:
java -jar roslab.jar
-
Run eclipse:
eclipse
- Load: "File->New->Project..." then "General->Project" and name it "roslab_v1", then "File->Import...", select "General->Archive File" and click Next, click "From archive file"'s "Browse...", navigate to directory holding v1.zip and select v1.zip and click "OK", for "Into folder:" select "roslab_v1" via "Browse...", then click "Finish" to exit the dialogue
-
Run: (see link) in the Project Explorer click on roslab_v1 folder, then "Run->External Tools->External Tools Configurations...", select Program then click on the "New" icon, click the "Main" tab and set up the following:
- Location:
/usr/bin/java
- Working Directory:
${workspace_loc:/roslab_v1/v1}
- Arguments:
-jar ${workspace_loc:/roslab_v1/v1}/roslab.jar
- -now- click "Apply" and click "Run"
- From here on in, you can just click on "roslab_v1" and then click the "Run" icon (looks like a green play button)
- Location:
-
Alternately, to get a look at the .class internals of the .jar file:
-
Run eclipse:
eclipse
-
Load: "File->New->Project..." then "General->Project" and name it "roslab.jar_v1", then "File->Import...", select "General->Archive File" and click Next, click "From archive file"'s "Browse...", navigate to and double-click on v1 directory and select roslab.jar and click "OK", for "Into folder:" select "roslab.jar_v1" via "Browse...", then click "Finish" to exit the dialogue
- This gets you everything but the "templates" directory and the "modules.xml" file
-
Load: "File->New->Project..." then "General->Project" and name it "roslab.jar_v1", then "File->Import...", select "General->Archive File" and click Next, click "From archive file"'s "Browse...", navigate to and double-click on v1 directory and select roslab.jar and click "OK", for "Into folder:" select "roslab.jar_v1" via "Browse...", then click "Finish" to exit the dialogue
-
Run eclipse:
-
(Option 1 - From tarball) Grab and unpack the tarball for the unbuilt-code:
-
Create a configuration space: right click on "Configurations" and click "New App Configuration...", then give your workspace a name
- YOU MUST DO THIS FIRST!! (otherwise, it'll error out every time you try to do something in the workspace)
- Add new ROS Node to configuration: Right-click on "User Defined Nodes" and select "New component type...", then give it a name and click "OK" to create the component, then right-click on the "<name></name>:ROS Node" and select "New port..." to add ports one at a time
- Add existing ROS Node to workspace: right-click in the main area and select "Add component->ROS Node", select an already-extant component type and give it a name, then Click "OK", and the thing should pop up in your space
- Add existing ROS Service to workspace: right-click in the main area and select "Add component->ROS Service", select a pre-existing component type and give it a name, then Click "OK", and the thing should pop up in your space
- Add a connection: right-click in the main area and select "Add connection", then connect the pub-sub you want to connect (note that it won't let you connect topics that don't match in datatype)
-
Save your workspace: click "File->Save Workspace As..." to save your current setup as a .wksp.xml file (give it a name)
- This saves everything in the left-side frame (your workspace + configurations) to an XML file
- Load a workspace: click "File->Open Workspace..." to load a .wksp.xml file
- Add new ROS Services to ROSLab v1.0: you'll need to edit the modules.xml file to add a new service
-
ROS node creation: right-click on your configuration file/folder and select "Generate ROS Node Bundle..." to save it as an ".cfg.xml" file -- it's recommended that you create an empty/clean directory to save the file into, since what it actually does here is generate subfolders for a C++ instantiation of the nodes
- This saves only those nodes that have at least one connection to/from them instantiated in the workspace, and it does NOT create nodes for the ROS Services that came with the program!
- MEAM 620 class page with older software instructions on Matlab+Kinect+ROS and general ROS install (including ROS development in eclipse)
- Instructions for the use of other IDEs for ROS development: link
- main page for documentation and github wiki
-
This "provides a generic method for task planning in a ROS system" using PDDL 2.1, and has a 'swap out'-able algorithm system similar to RSE; this could easily 'fit/slot into' several of the RSE modules. This is missing a trajectory/path planner, the controller, and some similar lower-level interfaces, though the KCL-Planning group seems to have done some work on probabilistic planning (SMTPlan) / contingency planning (see below), and incorporating machine learning for task-level state prediction (ROSPlan_prediction) and verification stuff (plan validation) that could fit into the Analysis (prediction, verification) and Learning modules of RSE.
- From the main page: "24/04/2017 Support for Contingency Planning ... The pnp branch of ROSPlan now supports conditional planning through Contingent-FF."
- for ROS indigo: link
- hector_quadrotor: github page
- Turtlebot2: github page
- COLA2: github page
- COLA2 = the Component Oriented Layered-base Architecture for Autonomy (Google search page)
- IEEE 2012 paper (link): COLA2: A Control Architecture for AUVs
- presentation at 'underwater vision winer school', Oct 17-21 2016: landing page and pdf
- Sourceforge page (bitbucket link from ROSPlan seems to be broken): sourceforge landing page and git repo
- updated bitbucket page: wiki page with links on installation under Ubuntu 16.04 and ROS Kinetic with UWSim(!!) and basic usage, and git source tree
- alt. bitbucket page(?): overview page and git source tree
- Behavior selection networks, refers to COLA2: paper online at SAGE Journals - International Journal of Advanced Robotic Systems