Code Monkey home page Code Monkey logo

rosplan's People

Contributors

b-dorian avatar brean avatar buildbot-squirrel avatar coach-marco avatar corot avatar dgerod avatar emresav avatar fsuarez6 avatar gerardcanal avatar ipa-nhg avatar leifole avatar m312z avatar magunza avatar marc-hanheide avatar martinkoling avatar maxsvetlik avatar morloth1274 avatar neowizard avatar nowis- avatar oscar-lima avatar parisazehtabi avatar ronwalf avatar sebastianstock avatar senka2112 avatar silviaizquierdo avatar stefan-bezrucav avatar timn avatar tomcreutz avatar varsheim 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rosplan's Issues

After install the packages the headers can not be found

Some header files are not being installed (rosplan_planning_system/src/VALfiles/*.h) , they are not defined in the CMakeLists

Also you should not use the relative path to find the headers:

after install the package you will not be able to find the folder ../../src , it will not exist. A simple solution can be just move all the header files into the include/ folder .

In case of ROSPlan I want to clarify my doubt regarding knowledge base and mongodb.

In case of ROSPlan I want to clarify my doubt regarding knowledge base and mongodb.

  1. Information such as "instances","facts" are stored in Standard Template Library and obtained from STL?
    or
  2. Knowledge management service with the help of .srv and .msg file just import and export information between nodes?

Then what is the use of MongoDB here? Is problem generation or plan dispatch file uses message_store.0 file contents in decision making?

As per my understanding KB with help of .msg and .srv access domain.pddl information and passes to required nodes & src files. problem.pddl files generation is not fully automatic but depends on code mentioned in rosplaning_system/src directory source code. RPSimpleMapServer.cpp files contains source code related to mongodb message_store file. Here mongodb used to stored geometric information related to waypoints. Every time KB is populated with the help of shell script. It's my assumption about this source code. Kindly clear my doubts.

Kindly help me out on this.

Weird behavior in KnowledgeComparitor::containsKnowledge

Hi, I was working on ROSPlan a bit and I noticed something in KnowledgeComparitor::containsKnowledge.

for(size_t i=0;i<a.values.size();i++) {
        // don't care about this parameter
	if("" == a.values[i].value) continue;

	// find matching object in parameters of b
	for(size_t i=0;i<b.values.size();i++) {
		if(! boost::iequals(a.values[i].key, b.values[i].key) ||
		   ! boost::iequals(a.values[i].value, b.values[i].value))
		{
			return false;
		}
	}
}

The index of the inner loop shadows the one of the outer, making the comparison inconsistent.

I was having some errors while removing facts due to this, but since I heavily modified the knowledge base, I am not sure it is really an issue. Maybe I just messed it and cannot get the logic.

I fixed the function like this:

bool KnowledgeComparitor::containsKnowledge(const rosplan_knowledge_msgs::KnowledgeItem &a, const rosplan_knowledge_msgs::KnowledgeItem &b) {

        int matches = 0;

	if(a.knowledge_type != b.knowledge_type) return false;
	
	if(a.knowledge_type == rosplan_knowledge_msgs::KnowledgeItem::INSTANCE) {
			
	        // check instance knowledge
	        if(0!=a.instance_type.compare(b.instance_type)) return false;
		if(a.instance_name!="" && ! boost::iequals(a.instance_name, b.instance_name)) return false;

		} else {

		// check fact or function
		        if(a.attribute_name!="" && ! boost::iequals(a.attribute_name, b.attribute_name)) return false;
			if(a.is_negative != b.is_negative) return false;
			if(a.values.size() != b.values.size()) return false;

			for(size_t i=0;i<a.values.size();i++) {

				// don't care about this parameter
				if("" == a.values[i].value) {
                                        ++matches;
                                        continue;
                                }

				// find matching object in parameters of b
				for(size_t j=0;j<b.values.size();j++) {
				       if( boost::iequals(a.values[i].key, b.values[j].key) && 
                                           boost::iequals(a.values[i].value, b.values[j].value)) {
                                                ++matches;
					        break;
					}
				}
			}
		}
		return (matches == a.values.size());
	}

No Log File Generation for Failed Plan

I have a PDDL domain, which I found in the following repo:

https://bitbucket.org/planning-researchers/classical-domains/src/208a850d2ff2a27068329ad578ad99af9ec7e5c5/classical/tsp/domain.pddl?at=master&fileviewer=file-view-default

My goal was to find as simple of a PDDL example as possible and build a custom component around that PDDL.

The PDDL domain is as follows:

(define (domain tsp)

(:requirements :strips :typing :fluents :disjunctive-preconditions :durative-actions)

  (:types 
  	location)

  (:predicates
     (at ?x - location)
     (visited ?y - location))

  (:action move
	:parameters (?x ?y)
	:precondition (at ?x)
	:effect (and (at ?y) (visited ?y) (not (at ?x))))
)

After launching the Planning System and all other components (using a modified interfaced_planning_system.launch that replaces the domain and component) everything seems to be fine. I then rush a bash script to populate my knowledge base and start the planning system.

After running the bash script, I see the following log messages:

[ INFO] [1515784983.314983688]: KCL: (KB) Adding instance (location, 1)
[ INFO] [1515784983.876731650]: KCL: (KB) Adding instance (location, 2)
[ INFO] [1515784985.185522507]: KCL: (KB) Adding domain attribute (at location=1)
[ INFO] [1515784985.883142831]: KCL: (KB) Adding mission goal ( visited=1)
[ INFO] [1515784986.524591316]: KCL: (PS) Parsing domain: /home/ros/ros_plan/src/rosplan/rosplan_demos/common/domain_tdl.pddl.
[ INFO] [1515784986.524948030]: KCL: (PS) File does exist: /home/ros/ros_plan/src/rosplan/rosplan_demos/common/domain_tdl.pddl.
[rosplan_planning_system-4] process has died [pid 65091, exit code -11, cmd /home/ros/ros_plan/devel/lib/rosplan_planning_system/planner __name:=rosplan_planning_system __log:=/home/ros/.ros/log/7d2364d4-f6ff-11e7-aaf0-000c2948cd07/rosplan_planning_system-4.log].
log file: /home/ros/.ros/log/7d2364d4-f6ff-11e7-aaf0-000c2948cd07/rosplan_planning_system-4*.log

The log file that it specifies (rosplan_planning_system-4*.log) does not exist at all. In fact, that folder does not contain any rosplan_planning_system logs at all.

What I would like to understand, is why it crashes and does not produce a log message with what I believe is valid PDDL?

Step by step running ROSPlan and TurtleBot

Hello,

I followed the instructions on how to install rosplan and turtlebot. I managed to install everything without any error.

What are the steps to launch the turtlebot demo? Here are the steps I have done so far:
1- roslaunch rosplan_demos turtlebot.launch
2- sh src/rosplan_demos/scripts/turtlebot_explore.bash

After running step 2, I have:
ERROR: Service [/kcl_rosplan/roadmap_server/create_prm] is not available.

Is there anything else I should do? The wiki is not really clear on how to run demo. Also, I am running Kinetic.

Thank you,

Compilation Error in occupancy_grid_utils

When compiling, I got this error from occupancy_grid_utils:

/usr/bin/ld: warning: libtiff.so.4, needed by /usr/local/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavcodec.so.53, needed by /usr/local/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavformat.so.53, needed by /usr/local/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavutil.so.51, needed by /usr/local/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)

I am running Ubuntu 14.10 with ROS Indigo.
In order to fix this, I had to compile opencv from scratch, passing -DBUILD_TIFF=ON to cmake.

Querying Knowledge Base Operator Details Does Not Include Functions as Preconditions or Effects

ROSPlan Branch: devel
Ubuntu Version: 16.04

When querying the KB to get operator_details for an action that uses a function as a precondition or effect, the function is not included in the operator details list of preconditions/effects.

As a result, there is no way to automatically check preconditions for functions in either the dispatcher. Therefore, the action will be dispatched to the component regardless of current state of the function.

An example of this behavior can be seen below:

    (:durative-action recharge
        :parameters (?robot - robot)
        :duration (= ?duration 10)
        :condition (and
            (at start (<= (battery-level ?robot) 30)))
        :effect (and
            (at end (increase (battery-level ?robot) 100)))
    )
rosservice call /kcl_rosplan/get_domain_operator_details "name: 'recharge'" 
op: 
  formula: 
    name: "recharge"
    typed_parameters: 
      - 
        key: "robot"
        value: "robot"
  at_start_add_effects: []
  at_start_del_effects: []
  at_end_add_effects: []
  at_end_del_effects: []
  at_start_simple_condition: []
  over_all_simple_condition: []
  at_end_simple_condition: []
  at_start_neg_condition: []
  over_all_neg_condition: []
  at_end_neg_condition: []

problem with distance function!!

Hi there:

I was working with ROSPlan, in order to generate my own project based on the rosplan demo. The point is that I remove the prm and I defined my own waypoints. That is working perfectly, but I cannot see the distance between the waypoints. I just got that as a part of my problem file:
(= (distance wp0 wp0) 0)
(= (distance wp0 wp1) 0)
(= (distance wp0 wp2) 0)
(= (distance wp0 wp3) 0)
(= (distance wp0 wp4) 0)
(= (distance wp0 wp5) 0)
(= (distance wp0 wp6) 0)
(= (distance wp0 wp7) 0)
(= (distance wp1 wp0) 0)
(= (distance wp1 wp1) 0)
(= (distance wp1 wp5) 0)
(= (distance wp1 wp6) 0)
(= (distance wp1 wp7) 0)
(= (distance wp2 wp0) 0)
(= (distance wp2 wp1) 0)
(= (distance wp2 wp2) 0)
(= (distance wp2 wp3) 0)
(= (distance wp2 wp4) 0)
(= (distance wp2 wp5) 0)

and so on. The plan is running perfectly but would like to make some improvements in my domain. pddl project based on the distances between the points and I can't if I don't have the values.

I don't know how to fix it.

Thanks for your time!!!

Getting Started

I am new to planning and I found the link to the site from the read_me file from ICAPS for checking the demonstration file. The link for the getting stared is missing.

Suggestion - Minor modifications to improve the system.

I have been working with ROSPlan in my research and I like it a lot. Due to my work with it I have a couple of suggestions that in my opinion improve the system and are easy to do.

  1. The domain.pddl files of the demos should not be in rosplan_planning_system/common but in rosplan_demos/common as they are part of the demos and not of the system.

screenshot from 2016-06-19 11 43 40

  1. I suggest to create a new package inside rosplan meta-package named as rosplan_config, to store general configuration information and tools instead being distributed inside the different components, and example of that are MongoDB and popf planner binary. In addition, in case that a user would like to use a different DB or planner he only need to update this package (assuming that update code is not needed).

screenshot from 2016-06-19 11 43 27

I have already modified the system in my local repository as they are easy to do.

What is mongodb used for?

Hi,

As you might have seen from #31, I recently started using rosplan for our project and started having a look at some parts of the code. Regarding mongodb or message_store in particular, I discovered that it is started in all the launch files that contain the knowledge base, but apart from this bit of code:

    // wait for and clear mongoDB 
    ROS_INFO("KCL: (KB) Waiting for MongoDB");
    ros::service::waitForService("/message_store/delete",-1);
    system("mongo message_store --eval \"printjson(db.message_store.remove())\"");

it is not used in the knowledge base itself. I know that it is used in the movebase and mapping interfaces, but not in the knowledge base, hence it wouldn't be necessary to start mongodb at all if the interfaces are not used. This way, you wouldn't have to kill the system mongodb before starting the planning system and it would reduce dependencies as well.

So my question is, why is it started every time and are there plans to use it? Because currently, the knowledge base is not persistent. Moreover, since the message_store is deleted on every start-up, not even the mapping and movebase interface are able store data persistently. So what is the reasoning behind using it and why is the message_store deleted when the knowledge base is started?

Help setting Waypoints

Hi.

I'd like the robot to visit certain places, so I changed the file "waypoints.txt" with the points that i what. I changed the file "turtlebot_explore.bash" as shown below

!/bin/bash

rosservice call /kcl_rosplan/update_knowledge_base "update_type: 0
knowledge:
knowledge_type: 0
instance_type: 'robot'
instance_name: 'kenny'
attribute_name: ''
function_value: 0.0";
for i in 0 1 2
do
rosservice call /kcl_rosplan/update_knowledge_base "update_type: 1
knowledge:
knowledge_type: 1
instance_type: ''
instance_name: ''
attribute_name: 'visited'
values:
{key: 'wp', value: 'wp$i'}
function_value: 0.0"
done;
rosservice call /kcl_rosplan/planning_server;


And I get this result:

[ INFO] [1460025104.625814104, 293.070000000]: KCL: (KB) Adding instance (robot, kenny)
[ INFO] [1460025105.765086602, 294.200000000]: KCL: (KB) Adding mission goal (visited)
[ INFO] [1460025106.447521278, 294.830000000]: KCL: (KB) Adding mission goal (visited)
[ INFO] [1460025107.654359569, 295.990000000]: KCL: (KB) Adding mission goal (visited)
[ INFO] [1460025108.903157257, 297.170000000]: KCL: (PS) Parsing domain: /home/dannilo/catkin_ws/src/ROSPlan/src/ROSPlan/rosplan_planning_system/common/domain.pddl.
[ INFO] [1460025108.904104001, 297.170000000]: KCL: (PS) Fetching objects
[ INFO] [1460025108.922503007, 297.200000000]: KCL: (PS) Generating PDDL problem file
[ INFO] [1460025108.924013917, 297.200000000]: KCL: (PS) Running: timeout 10 /home/dannilo/catkin_ws/src/ROSPlan/src/ROSPlan/rosplan_planning_system/common/bin/popf -n /home/dannilo/catkin_ws/src/ROSPlan/src/ROSPlan/rosplan_planning_system/common/domain.pddl /home/dannilo/catkin_ws/src/ROSPlan/src/ROSPlan/rosplan_planning_system/common/problem.pddl > /home/dannilo/catkin_ws/src/ROSPlan/src/ROSPlan/rosplan_planning_system/common/plan.pddl

The supplied domain/problem file appear to violate part of the PDDL
language specification. Specifically:

The planner will continue, but you may wish to fix your files accordingly
Type Errors Encountered in Problem File

Due to type errors in the supplied problem file, the planner
has to terminate. The log of type checking is as follows:

[ INFO] [1460025109.335038032, 297.570000000]: KCL: (PS) Planning complete
[ INFO] [1460025109.335172337, 297.570000000]: KCL: (PS) Plan was unsolvable! Try again?
[ INFO] [1460025109.335564494, 297.570000000]: KCL: (PS) Dispatching plan
[ INFO] [1460025109.337285493, 297.570000000]: KCL: (PS) Planning System Finished


The Domain is the same as example. What else I have to change?

Dannilo

Install guide did not work.

[Ubuntu 14.04.1 fully updated, ROS Indigo]

I followed the instructions but when I built using 'catkin_make' I got an error informing me that I didn't have GLUT. So I installed freeglut3 (which apt-get told me I already had) and freeglut3-dev.

I reran catkin_make but got another error, now to do with 'move_base_msgs':

CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:75 (find_package):
  Could not find a package configuration file provided by "move_base_msgs"
  with any of the following names:

    move_base_msgsConfig.cmake
    move_base_msgs-config.cmake

  Add the installation prefix of "move_base_msgs" to CMAKE_PREFIX_PATH or set
  "move_base_msgs_DIR" to a directory containing one of the above files.  If
  "move_base_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  rosplan/rosplan_interface_movebase/CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!

rospack says it can't find the package:

rospack find move_base_msgs
[rospack] Error: package 'move_base_msgs' not found

Any suggestions?

Cheers,
Nap

Help - dispatch_concurrent, dispatch_on_completion

I have durative-actions in domain file. Problem is controlling two or more drones to achieve a end goal. After running the planner. Some actions have the dispatch_time I want this actions to be published at the same time, So I can execute them in parallel.

I tried using the dispatch_concurrent & dispatch_on_completion params to achieve this as mentioned in the Wiki Page f. Planning System. But what ever states (true or false) I set these two params I see no difference. I assume they are not being read by the dispatcher.

Would be great if someone could help me out.

Here is by call to the Planning system in Launch file

	<!-- planning system -->
	<node name="rosplan_planning_system" pkg="rosplan_planning_system" type="planner" respawn="false" output="screen">
		<!-- directory for generated files -->
		<param name="data_path" value="$(find rosplan_planning_system)/common/" />
		<param name="problem_path" value="$(find rosplan_planning_system)/common/problem.pddl" />
		<param name="strl_file_path" value="$(find rosplan_planning_system)/common/plan.strl" />

		<!-- to run the planner -->
		<param name="planner_command" value="timeout 10 $(find rosplan_planning_system)/common/bin/popf -n -b DOMAIN PROBLEM" /> 



		<param name="generate_default_problem" value="true" />
		<param name="max_dispatch_attempts" value="10" />
		<param name="dispatch_on_completion" value="false"/>
		<param name="dispatch_concurrent" value="false"/>
		
	</node>

Unable to Run Turtlebot Demo

When running the turtlebot demo (following the instructions in the wiki), I get errors in planning. Tracing this, I discovered that the problem PDDL contains objects for waypoints 0..5 (although I noticed this varies - sometimes there one waypoint more or less), but the goal contains waypoints 0..9.

My best guess is that some waypoints are sampled, found to be in collision with an object, and dropped, but still remain in the goal.

The full problem.PDDL follows:

(define (problem turtlebot_demo_task)
(:domain turtlebot_demo)
(:objects
kenny - robot
wp0 wp1 wp2 wp3 wp4 wp5 - waypoint
)
(:init
(connected wp0 wp1)
(connected wp0 wp2)
(connected wp0 wp3)
(connected wp0 wp4)
(connected wp0 wp5)
(connected wp1 wp0)
(connected wp1 wp2)
(connected wp1 wp4)
(connected wp1 wp5)
(connected wp2 wp0)
(connected wp2 wp1)
(connected wp2 wp4)
(connected wp2 wp5)
(connected wp3 wp0)
(connected wp3 wp5)
(connected wp4 wp0)
(connected wp4 wp1)
(connected wp4 wp2)
(connected wp5 wp0)
(connected wp5 wp1)
(connected wp5 wp2)
(connected wp5 wp3)
(robot_at kenny wp0)
(= (distance wp0 wp1) 2)
(= (distance wp0 wp2) 1.45382)
(= (distance wp0 wp3) 3.72324)
(= (distance wp0 wp4) 2)
(= (distance wp0 wp5) 0.997278)
(= (distance wp1 wp0) 2)
(= (distance wp1 wp2) 2)
(= (distance wp1 wp4) 1.69919)
(= (distance wp1 wp5) 2.99611)
(= (distance wp2 wp0) 1.45382)
(= (distance wp2 wp1) 2)
(= (distance wp2 wp4) 2.98825)
(= (distance wp2 wp5) 2)
(= (distance wp3 wp0) 3.72324)
(= (distance wp3 wp5) 4.68982)
(= (distance wp4 wp0) 2)
(= (distance wp4 wp1) 1.69919)
(= (distance wp4 wp2) 2.98825)
(= (distance wp5 wp0) 0.997278)
(= (distance wp5 wp1) 2.99611)
(= (distance wp5 wp2) 2)
(= (distance wp5 wp3) 4.68982)
)
(:goal (and
(visited wp0)
(visited wp1)
(visited wp2)
(visited wp3)
(visited wp4)
(visited wp5)
(visited wp6)
(visited wp7)
(visited wp8)
(visited wp9)
)))

information store problem

hi:
I have tested this project for weeks, and I feel the information such as "instances","facts" are just stored in STL and obtained from STL when it used. I don't know the mongodb whether is used. and I don't see the codes that related the mongodb. Because, if you want to operate the Mongodb ,you should write a client code, but I can not find it in this project. Can you tell me where it. THX!

PDDL parsing

I launched the planning system and the knowledge base nodes, providing my PDDL domain and problem. The system says:

`The supplied domain/problem file appear to violate part of the PDDL language specification. Specifically:

The planner will continue, but you may wish to fix your files accordingly.`

I don't understand what's the problem because the specification of the problem is empty; furthermore I used the PDDL files with another planner and it worked.
Can you help me please?

SimplePlanDispatcher does not support negative preconditions

I am using the FF planner with some PDDL files and it solves the plan, see below the output:

ff: found legal plan as follows

step    0: MOVE_TO_PLACE B1 C1
        1: FIND_OBJECT C1 V1
        2: FIND_OBJECT C1 V2
        3: FIND_OBJECT C1 V3
        4: FIND_OBJECT C1 V4
        5: PICKUP_OBJECT C1 V1
        6: MOVE_TO_PLACE C1 B1
        7: DROP_OBJECT B1 V1
        8: MOVE_TO_PLACE B1 C1
        9: PICKUP_OBJECT C1 V2
       10: MOVE_TO_PLACE C1 B1
       11: DROP_OBJECT B1 V2
       12: MOVE_TO_PLACE B1 C1
       13: PICKUP_OBJECT C1 V3
       14: MOVE_TO_PLACE C1 B1
       15: DROP_OBJECT B1 V3
       16: MOVE_TO_PLACE B1 C1
       17: PICKUP_OBJECT C1 V4
       18: MOVE_TO_PLACE C1 B1
       19: DROP_OBJECT B1 V4

However, when the SimpleDispatchPlanner executed the plan after being correctly parsed, it says that preconditions are not meet for 1st FIND_OBJECT action, see below the messages provided by rosplan_planning_system. I have removed some messages provided by FFPlanParser after second FIND_OBJECT action because they are not interesting in current situation.

[ INFO] [1520146202.663431091]: KCL: (PS)(FFPlanParser) Generate action - ID: 1, Name: move_to_place
[ INFO] [1520146202.663469716]: KCL: (PS)(FFPlanParser) Generate action - ID: 2, Name: find_object
[ INFO] [1520146202.663512507]: KCL: (PS)(FFPlanParser) Generate action - ID: 3, Name: find_object
...

[ INFO] [1520146202.664302759]: KCL: (PS) (problem.pddl) Clean and update knowledge filter
[ INFO] [1520146202.664401452]: KCL: (PS)(SPD) Dispatching plan
[ERROR] [1520146202.664437240]: KCL: (PS)(SPD) Message action_id [2] does not meet expected [1]
[ INFO] [1520146202.665697843]: KCL: (PS)(SPD)        [robot-at]
[ INFO] [1520146202.665720823]: KCL: (PS)(SPD)        [localised]
[ INFO] [1520146202.665740002]: KCL: (PS)(SPD) Preconditions not achieved [2, find_object]
[ INFO] [1520146202.665776138]: KCL: (PS) (problem.pddl) The plan failed!

The point is that I have some a negative precondition in FIND_OBJECT actions, see below.

(:action find_object
	:parameters (?c - container ?o - object)
	:precondition
	    (and (robot-at ?c)
	         (not (localised ?o)))
	:effect
	    (and (robot-at ?c)
	         (localised ?o)
		 (object-at ?o ?c))
)

I think that SimpleDispatchPlanner wants that I set explicitly these one negated when the FF planner does not need them. The problem file that I am passing to the FF planner is:

(define (problem organize_boxes_task)
(:domain organize_boxes)
(:objects
    b1 - box
    c1 - container
    v1 v2 v3 v4 - videotape
)
(:init
    (free-tool)
    (object-at v1 c1)
    (object-at v2 c1)
    (object-at v3 c1)
    (object-at v4 c1)
    (robot-at b1)
)
(:goal (and
    (object-at v1 b1)
    (object-at v2 b1)
    (object-at v3 b1)
    (object-at v4 b1)
)))

Why SimplePlanDispatcher is doing this? Is this behavior correct? In my opinion it should not be as the FF planner is able to solve this situation... or the FF planner behavior is not. And How I can fix this situation?

Thanks.

[Q&A] POPF does not work correctly

I tried to solve some PDDL problems using POPF but it not works well for all plans, sometimes it said that plan is solved but does not return the actions and other times it frozen doing some kind of calculations when the solution is so simple. I make some simple test that produce these situations, you could find them in this repository.

I know that POPF is an external tool so I should contact the responsible of it. However, I would like to ask here if you use a some tricks or policies to avoid this situations, as I suppose that this annoying situations are not happening to you.

Finally, I found a planner in Internet that solves my PDDL files without any problem, it is the Fast Forward. As I would like to create the plan parser for ROSPlan, could you briefly explain me how to do it? I have already checked the PlanParser classes that are provided with ROSPlan.

Thanks.

About the data that is stored at mongodb

Hi! I have question about the data base.

Is there any way that I can monitor the data that is stored inside of mongodb while simulator working?
What i want to do is that i want to see the files such as "message_store.0 or message_store.1 and ect..."
at "catkin_ws/src/ROSPlan/rosplan_knowledge_base/common/mongoDB"

Thank you!

ROSPlan for Lunar

I am trying to install ROSPlan for Lunar.
Distributor ID: Ubuntu
Description: Ubuntu 16.10
Release: 16.10
Codename: yakkety

I understood that mongodb_store is replaced by warehouse_ros in Lunar. (Am I correct?)
Is there a port of ROSPlan to work with warehouse_ros, or only configurations will suffice?
In the latter case, where all I need to reconfigure?

Thanks in advance...

the planner problem

hi Michael and etc:
your ros packages"ROSPlan" released is really a greate work, and I have using it for several weeks and I found the planner of the planning system is POPF, it is just an executable file, but I want to see the code of the planner. Besides , If I want to change another planner, What should I ajust and modify the package? If you can share the code of planners, can you tell me or send the email to me:[email protected]
I am keeping your reply, Thanks a lot.

Problem Compilation ROSPlan (Invoking "make -j8 -l8" failed)

Hi,
I tried to re-install ROSPLAN but I have problem with catkin_make, I have the following message:

`Base path: /home/srp/ROSPlan
Source space: /home/srp/ROSPlan/src
Build space: /home/srp/ROSPlan/build
Devel space: /home/srp/ROSPlan/devel
Install space: /home/srp/ROSPlan/install

Running command: "make cmake_check_build_system" in "/home/srp/ROSPlan/build"

Running command: "make -j8 -l8" in "/home/srp/ROSPlan/build"

[ 0%] [ 0%] Built target diagnostic_msgs_generate_messages_py
Built target actionlib_msgs_generate_messages_py
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanGoal
[ 0%] [ 0%] [ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_CompletePlan
Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanActionFeedback
Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanActionResult
[ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanFeedback
[ 0%] [ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_ActionFeedback
Built target actionlib_msgs_generate_messages_cpp
[ 0%] [ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanResult
Built target diagnostic_msgs_generate_messages_cpp
[ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanningService
[ 0%] [ 0%] [ 0%] Built target std_msgs_generate_messages_cpp
Built target diagnostic_msgs_generate_messages_lisp
Built target actionlib_msgs_generate_messages_lisp
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanActionGoal
[ 0%] [ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_ActionDispatch
Built target _rosplan_dispatch_msgs_generate_messages_check_deps_PlanAction
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainOperatorService
[ 0%] [ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_RemoveWaypoint
Built target _rosplan_knowledge_msgs_generate_messages_check_deps_KnowledgeItem
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_Filter
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_KnowledgeUpdateServiceArray
[ 0%] [ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_AddWaypoint
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GenerateProblemService
Built target geometry_msgs_generate_messages_py
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetAttributeService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_KnowledgeUpdateService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_DomainFormula
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainTypeService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_Notification
[ 0%] [ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainAttributeService
Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetInstanceService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_DomainOperator
[ 0%] Built target geometry_msgs_generate_messages_cpp
[ 0%] [ 0%] Built target geometry_msgs_generate_messages_lisp
Built target actionlib_generate_messages_lisp
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_KnowledgeQueryService
[ 0%] Built target roscpp_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_lisp
[ 0%] Built target rosgraph_msgs_generate_messages_py
[ 0%] [ 0%] Built target roscpp_generate_messages_py
Built target roscpp_generate_messages_lisp
[ 0%] [ 0%] Built target rosgraph_msgs_generate_messages_cpp
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_CreatePRM
Built target actionlib_generate_messages_py
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainPredicateDetailsService
[ 0%] [ 0%] [ 0%] [ 0%] Built target actionlib_generate_messages_cpp
Built target std_srvs_generate_messages_cpp
Built target std_srvs_generate_messages_py
Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainOperatorDetailsService
[ 0%] [ 0%] Built target std_srvs_generate_messages_lisp
Built target mongodb_store_generate_messages_lisp
[ 0%] Built target move_base_msgs_generate_messages_py
[ 0%] [ 0%] [ 0%] [ 0%] [ 0%] Built target mongodb_store_generate_messages_cpp
Built target mongodb_store_msgs_generate_messages_lisp
Built target mongodb_store_msgs_generate_messages_py
Built target mongodb_store_generate_messages_py
Built target move_base_msgs_generate_messages_lisp
[ 0%] [ 0%] Built target mongodb_store_msgs_generate_messages_cpp
Built target move_base_msgs_generate_messages_cpp
[ 0%] [ 0%] [ 0%] Built target nav_msgs_generate_messages_py
Built target sensor_msgs_generate_messages_cpp
Built target nav_msgs_generate_messages_cpp
[ 0%] Built target sensor_msgs_generate_messages_lisp
[ 0%] Built target sensor_msgs_generate_messages_py
[ 0%] [ 0%] [ 0%] Built target nav_msgs_generate_messages_lisp
Built target visualization_msgs_generate_messages_cpp
Built target visualization_msgs_generate_messages_py
[ 0%] Built target tf_generate_messages_py
[ 0%] [ 0%] [ 0%] [ 0%] Built target tf_generate_messages_lisp
Built target tf2_msgs_generate_messages_cpp
[ 0%] Built target tf2_msgs_generate_messages_lisp
Built target tf_generate_messages_cpp
Built target _occupancy_grid_utils_generate_messages_check_deps_LocalizedCloud
[ 0%] [ 0%] [ 0%] Built target _occupancy_grid_utils_generate_messages_check_deps_NavigationFunction
Built target tf2_msgs_generate_messages_py
Built target _occupancy_grid_utils_generate_messages_check_deps_OverlayClouds
[ 0%] Built target visualization_msgs_generate_messages_lisp
[ 5%] [ 9%] Built target rosplan_dispatch_msgs_generate_messages_cpp
[ 14%] Built target rosplan_dispatch_msgs_generate_messages_lisp
Built target rosplan_dispatch_msgs_generate_messages_py
[ 23%] Built target rosplan_knowledge_msgs_generate_messages_py
[ 30%] [ 32%] Built target occupancy_grid_utils_generate_messages_cpp
Built target rosplan_knowledge_msgs_generate_messages_cpp
[ 40%] Built target rosplan_knowledge_msgs_generate_messages_lisp
[ 42%] [ 43%] [ 43%] Built target occupancy_grid_utils_generate_messages_lisp
Built target occupancy_grid_utils_generate_messages_py
Built target rosplan_dispatch_msgs_generate_messages
[ 43%] Built target rosplan_knowledge_msgs_generate_messages
[ 44%] [ 44%] Building CXX object rosplan/rosplan_planning_system/CMakeFiles/print_plan.dir/src/print_plan.cpp.o
Built target occupancy_grid_utils_generate_messages
[ 44%] [ 47%] Built target rosplan_action_interface
Built target grid_utils
[ 48%] Built target simulatedAction
[ 48%] Built target grid_utils_boost_python_exports
[ 48%] Built target grid_construction_node
[ 65%] Built target planner
[ 66%] [ 83%] Built target rpsimplemapServer
Built target rosplan_planning_system
[ 84%] Built target rproadmapServer
[100%] Built target knowledgeBase
[100%] Built target rpmovebase
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp: In function โ€˜void plan_cb(const ConstPtr&)โ€™:
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:45:19: error: ISO C++ forbids declaration of โ€˜aโ€™ with no type [-fpermissive]
for (const auto &a : msg->plan) {
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:45:23: error: range-based โ€˜forโ€™ loops are not allowed in C++98 mode
for (const auto &a : msg->plan) {
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:47:20: error: ISO C++ forbids declaration of โ€˜pโ€™ with no type [-fpermissive]
for (const auto &p : a.parameters) {
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:47:24: error: range-based โ€˜forโ€™ loops are not allowed in C++98 mode
for (const auto &p : a.parameters) {
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:47:26: error: request for member โ€˜parametersโ€™ in โ€˜aโ€™, which is of non-class type โ€˜const intโ€™
for (const auto &p : a.parameters) {
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:48:17: error: request for member โ€˜valueโ€™ in โ€˜pโ€™, which is of non-class type โ€˜const intโ€™
s += " " + p.value;
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:50:40: error: request for member โ€˜dispatch_timeโ€™ in โ€˜aโ€™, which is of non-class type โ€˜const intโ€™
printf("%7.3f: (%s %s) [%.3f]\n", a.dispatch_time, a.name.c_str(), s.c_str(), a.duration);
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:50:57: error: request for member โ€˜nameโ€™ in โ€˜aโ€™, which is of non-class type โ€˜const intโ€™
printf("%7.3f: (%s %s) [%.3f]\n", a.dispatch_time, a.name.c_str(), s.c_str(), a.duration);
^
/home/srp/ROSPlan/src/rosplan/rosplan_planning_system/src/print_plan.cpp:50:84: error: request for member โ€˜durationโ€™ in โ€˜aโ€™, which is of non-class type โ€˜const intโ€™
printf("%7.3f: (%s %s) [%.3f]\n", a.dispatch_time, a.name.c_str(), s.c_str(), a.duration);
^
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/print_plan.dir/src/print_plan.cpp.o] Error 1
make[1]: *** [rosplan/rosplan_planning_system/CMakeFiles/print_plan.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
`
I haven't understood really what is the problem
Thank you

PDDL problem file is incorrectly generated

The problem file is not generated correctly, you could see the output below. The issue is that the arguments of the facts are written in the inverse order in the initial state.

define (problem gripper_four_balls_task)
(:domain gripper_four_balls)
(:objects
    ball1 ball2 ball3 ball5 ball4 - ball
    left right - gripper
    room1 room2 - room
)
(:init
    (at-ball room1 ball1)
    (at-ball room1 ball3)
    (at-ball room2 ball2)
    (at-ball room2 ball4)
    (at-robby room1)
    (free left)
    (free right)
)
(:goal (and
    (at-ball ball1 room2)
    (at-ball ball2 room2)
    (at-ball ball3 room2)
    (at-ball ball4 room2)
)))

They should be written like in the goal: (at-ball ball1 room2) but they are written: (at-ball room1 ball1). However, I am passing the arguments in the same way when I setting facts and goals; I use "rosplan_interface" package to do that.

This happens after integrating last modifications of ROSPlan in my code. I have checked the source code and reverting PDDLProblemGeneration.cpp to version 0ba92fc the file is correctly generated; it seems an issue in finding the PDDL parameters in the Knowledge Items.

Please, could you check and confirm it?
Thanks.

turtlebot_explore.bash warnings

I have successfully installed rosplan and ran:

roslaunch rosplan_planning_system planning_system_knowledge.launch

after that i ran:
sh /src/rosplan/rosplan_demos/scripts/turtlebot_explore.bash

I got the generated plan file as:

Warnings encountered when parsing Domain/Problem File

Errors: 0, warnings: 10
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 9: Warning: Undeclared symbol: wp0
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 10: Warning: Undeclared symbol: wp1
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 11: Warning: Undeclared symbol: wp2
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 12: Warning: Undeclared symbol: wp3
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 13: Warning: Undeclared symbol: wp4
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 14: Warning: Undeclared symbol: wp5
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 15: Warning: Undeclared symbol: wp6
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 16: Warning: Undeclared symbol: wp7
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 17: Warning: Undeclared symbol: wp8
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/common/problem.pddl: line: 18: Warning: Undeclared symbol: wp9
Object with unknown type: wp0

what do you think the reason is?

Turtlebot demo starts, but nothing happens

I'm trying to get ROSPlan going on Ubuntu 14.04.4 LTS and ROS Indigo as per standard install instructions. Everything seems to have worked fine and the demo starts with Gazebo and rviz windows looking as expected. But the robot doesn't move and I don't get the expected output in the terminal. Here's what I get (funny characters are due to Emacs shell), and nothing happens after:

smbdy@deep:~$ source /workplace/disser/devel/ROSPlan/devel/setup.sh
smbdy@deep:
$ roslaunch rosplan_demos turtlebot.launch
... logging to /home/smbdy/.ros/log/3aafb094-f800-11e5-ac35-a088b4c0f0e4/roslaunch-deep-7721.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
๏ฟฝ]2;/home/smbdy/workplace/disser/devel/ROSPlan/src/rosplan/rosplan_demos/launch/turtlebot.launch๏ฟฝ
started roslaunch server http://deep:42850/

SUMMARY

PARAMETERS
* /amcl/base_frame_id: base_footprint
* /amcl/global_frame_id: map
* /amcl/gui_publish_rate: 10.0
* /amcl/initial_pose_a: 0.0
* /amcl/initial_pose_x: 0.0
* /amcl/initial_pose_y: 0.0
* /amcl/kld_err: 0.05
* /amcl/kld_z: 0.99
* /amcl/laser_lambda_short: 0.1
* /amcl/laser_likelihood_max_dist: 2.0
* /amcl/laser_max_beams: 60
* /amcl/laser_max_range: 12.0
* /amcl/laser_model_type: likelihood_field
* /amcl/laser_sigma_hit: 0.2
* /amcl/laser_z_hit: 0.5
* /amcl/laser_z_max: 0.05
* /amcl/laser_z_rand: 0.5
* /amcl/laser_z_short: 0.05
* /amcl/max_particles: 2000
* /amcl/min_particles: 500
* /amcl/odom_alpha1: 0.2
* /amcl/odom_alpha2: 0.2
* /amcl/odom_alpha3: 0.2
* /amcl/odom_alpha4: 0.2
* /amcl/odom_alpha5: 0.1
* /amcl/odom_frame_id: odom
* /amcl/odom_model_type: diff
* /amcl/recovery_alpha_fast: 0.0
* /amcl/recovery_alpha_slow: 0.0
* /amcl/resample_interval: 1
* /amcl/transform_tolerance: 1.0
* /amcl/update_min_a: 0.2
* /amcl/update_min_d: 0.25
* /amcl/use_map_topic: False
* /bumper2pointcloud/pointcloud_radius: 0.24
* /cmd_vel_mux/yaml_cfg_file: /opt/ros/indigo/s...
* /depthimage_to_laserscan/output_frame_id: /camera_depth_frame
* /depthimage_to_laserscan/range_min: 0.45
* /depthimage_to_laserscan/scan_height: 10
* /domain_path: /home/smbdy/workp...
* /move_base/DWAPlannerROS/acc_lim_theta: 2.0
* /move_base/DWAPlannerROS/acc_lim_x: 1.0
* /move_base/DWAPlannerROS/acc_lim_y: 0.0
* /move_base/DWAPlannerROS/forward_point_distance: 0.325
* /move_base/DWAPlannerROS/global_frame_id: odom
* /move_base/DWAPlannerROS/goal_distance_bias: 24.0
* /move_base/DWAPlannerROS/max_rot_vel: 5.0
* /move_base/DWAPlannerROS/max_scaling_factor: 0.2
* /move_base/DWAPlannerROS/max_trans_vel: 0.5
* /move_base/DWAPlannerROS/max_vel_x: 0.5
* /move_base/DWAPlannerROS/max_vel_y: 0.0
* /move_base/DWAPlannerROS/min_rot_vel: 0.4
* /move_base/DWAPlannerROS/min_trans_vel: 0.1
* /move_base/DWAPlannerROS/min_vel_x: 0.0
* /move_base/DWAPlannerROS/min_vel_y: 0.0
* /move_base/DWAPlannerROS/occdist_scale: 0.5
* /move_base/DWAPlannerROS/oscillation_reset_dist: 0.05
* /move_base/DWAPlannerROS/path_distance_bias: 64.0
* /move_base/DWAPlannerROS/publish_cost_grid_pc: True
* /move_base/DWAPlannerROS/publish_traj_pc: True
* /move_base/DWAPlannerROS/rot_stopped_vel: 0.4
* /move_base/DWAPlannerROS/scaling_speed: 0.25
* /move_base/DWAPlannerROS/sim_time: 1.0
* /move_base/DWAPlannerROS/stop_time_buffer: 0.2
* /move_base/DWAPlannerROS/trans_stopped_vel: 0.1
* /move_base/DWAPlannerROS/vtheta_samples: 20
* /move_base/DWAPlannerROS/vx_samples: 6
* /move_base/DWAPlannerROS/vy_samples: 1
* /move_base/DWAPlannerROS/xy_goal_tolerance: 0.15
* /move_base/DWAPlannerROS/yaw_goal_tolerance: 0.3
* /move_base/GlobalPlanner/allow_unknown: True
* /move_base/GlobalPlanner/cost_factor: 3.0
* /move_base/GlobalPlanner/default_tolerance: 0.0
* /move_base/GlobalPlanner/lethal_cost: 253
* /move_base/GlobalPlanner/neutral_cost: 50
* /move_base/GlobalPlanner/old_navfn_behavior: False
* /move_base/GlobalPlanner/planner_costmap_publish_frequency: 0.0
* /move_base/GlobalPlanner/planner_window_x: 0.0
* /move_base/GlobalPlanner/planner_window_y: 0.0
* /move_base/GlobalPlanner/publish_potential: True
* /move_base/GlobalPlanner/publish_scale: 100
* /move_base/GlobalPlanner/use_dijkstra: True
* /move_base/GlobalPlanner/use_grid_path: False
* /move_base/GlobalPlanner/use_quadratic: True
* /move_base/NavfnROS/allow_unknown: False
* /move_base/NavfnROS/default_tolerance: 0.0
* /move_base/NavfnROS/planner_window_x: 0.0
* /move_base/NavfnROS/planner_window_y: 0.0
* /move_base/NavfnROS/visualize_potential: False
* /move_base/base_global_planner: navfn/NavfnROS
* /move_base/base_local_planner: dwa_local_planner...
* /move_base/controller_frequency: 5.0
* /move_base/controller_patience: 3.0
* /move_base/global_costmap/global_frame: map
* /move_base/global_costmap/inflation_layer/cost_scaling_factor: 5.0
* /move_base/global_costmap/inflation_layer/enabled: True
* /move_base/global_costmap/inflation_layer/inflation_radius: 0.5
* /move_base/global_costmap/map_type: voxel
* /move_base/global_costmap/max_obstacle_height: 0.6
* /move_base/global_costmap/obstacle_layer/bump/clearing: False
* /move_base/global_costmap/obstacle_layer/bump/data_type: PointCloud2
* /move_base/global_costmap/obstacle_layer/bump/marking: True
* /move_base/global_costmap/obstacle_layer/bump/max_obstacle_height: 0.15
* /move_base/global_costmap/obstacle_layer/bump/min_obstacle_height: 0.0
* /move_base/global_costmap/obstacle_layer/bump/topic: mobile_base/senso...
* /move_base/global_costmap/obstacle_layer/combination_method: 1
* /move_base/global_costmap/obstacle_layer/enabled: True
* /move_base/global_costmap/obstacle_layer/mark_threshold: 0
* /move_base/global_costmap/obstacle_layer/max_obstacle_height: 0.6
* /move_base/global_costmap/obstacle_layer/observation_sources: scan bump
* /move_base/global_costmap/obstacle_layer/obstacle_range: 2.5
* /move_base/global_costmap/obstacle_layer/origin_z: 0.0
* /move_base/global_costmap/obstacle_layer/publish_voxel_map: False
* /move_base/global_costmap/obstacle_layer/raytrace_range: 3.0
* /move_base/global_costmap/obstacle_layer/scan/clearing: True
* /move_base/global_costmap/obstacle_layer/scan/data_type: LaserScan
* /move_base/global_costmap/obstacle_layer/scan/marking: True
* /move_base/global_costmap/obstacle_layer/scan/max_obstacle_height: 0.35
* /move_base/global_costmap/obstacle_layer/scan/min_obstacle_height: 0.25
* /move_base/global_costmap/obstacle_layer/scan/topic: scan
* /move_base/global_costmap/obstacle_layer/track_unknown_space: True
* /move_base/global_costmap/obstacle_layer/unknown_threshold: 15
* /move_base/global_costmap/obstacle_layer/z_resolution: 0.2
* /move_base/global_costmap/obstacle_layer/z_voxels: 2
* /move_base/global_costmap/plugins: [{'type': 'costma...
* /move_base/global_costmap/publish_frequency: 0.5
* /move_base/global_costmap/robot_base_frame: base_footprint
* /move_base/global_costmap/robot_radius: 0.2
* /move_base/global_costmap/static_layer/enabled: True
* /move_base/global_costmap/static_map: True
* /move_base/global_costmap/transform_tolerance: 0.5
* /move_base/global_costmap/update_frequency: 1.0
* /move_base/local_costmap/global_frame: odom
* /move_base/local_costmap/height: 4.0
* /move_base/local_costmap/inflation_layer/cost_scaling_factor: 5.0
* /move_base/local_costmap/inflation_layer/enabled: True
* /move_base/local_costmap/inflation_layer/inflation_radius: 0.5
* /move_base/local_costmap/map_type: voxel
* /move_base/local_costmap/max_obstacle_height: 0.6
* /move_base/local_costmap/obstacle_layer/bump/clearing: False
* /move_base/local_costmap/obstacle_layer/bump/data_type: PointCloud2
* /move_base/local_costmap/obstacle_layer/bump/marking: True
* /move_base/local_costmap/obstacle_layer/bump/max_obstacle_height: 0.15
* /move_base/local_costmap/obstacle_layer/bump/min_obstacle_height: 0.0
* /move_base/local_costmap/obstacle_layer/bump/topic: mobile_base/senso...
* /move_base/local_costmap/obstacle_layer/combination_method: 1
* /move_base/local_costmap/obstacle_layer/enabled: True
* /move_base/local_costmap/obstacle_layer/mark_threshold: 0
* /move_base/local_costmap/obstacle_layer/max_obstacle_height: 0.6
* /move_base/local_costmap/obstacle_layer/observation_sources: scan bump
* /move_base/local_costmap/obstacle_layer/obstacle_range: 2.5
* /move_base/local_costmap/obstacle_layer/origin_z: 0.0
* /move_base/local_costmap/obstacle_layer/publish_voxel_map: False
* /move_base/local_costmap/obstacle_layer/raytrace_range: 3.0
* /move_base/local_costmap/obstacle_layer/scan/clearing: True
* /move_base/local_costmap/obstacle_layer/scan/data_type: LaserScan
* /move_base/local_costmap/obstacle_layer/scan/marking: True
* /move_base/local_costmap/obstacle_layer/scan/max_obstacle_height: 0.35
* /move_base/local_costmap/obstacle_layer/scan/min_obstacle_height: 0.25
* /move_base/local_costmap/obstacle_layer/scan/topic: scan
* /move_base/local_costmap/obstacle_layer/track_unknown_space: True
* /move_base/local_costmap/obstacle_layer/unknown_threshold: 15
* /move_base/local_costmap/obstacle_layer/z_resolution: 0.2
* /move_base/local_costmap/obstacle_layer/z_voxels: 2
* /move_base/local_costmap/plugins: [{'type': 'costma...
* /move_base/local_costmap/publish_frequency: 2.0
* /move_base/local_costmap/resolution: 0.05
* /move_base/local_costmap/robot_base_frame: base_footprint
* /move_base/local_costmap/robot_radius: 0.2
* /move_base/local_costmap/rolling_window: True
* /move_base/local_costmap/static_layer/enabled: True
* /move_base/local_costmap/static_map: False
* /move_base/local_costmap/transform_tolerance: 0.5
* /move_base/local_costmap/update_frequency: 5.0
* /move_base/local_costmap/width: 4.0
* /move_base/oscillation_distance: 0.2
* /move_base/oscillation_timeout: 10.0
* /move_base/planner_frequency: 1.0
* /move_base/planner_patience: 5.0
* /move_base/shutdown_costmaps: False
* /navigation_velocity_smoother/accel_lim_v: 1.0
* /navigation_velocity_smoother/accel_lim_w: 2.0
* /navigation_velocity_smoother/decel_factor: 1.5
* /navigation_velocity_smoother/frequency: 20.0
* /navigation_velocity_smoother/robot_feedback: 2
* /navigation_velocity_smoother/speed_lim_v: 0.8
* /navigation_velocity_smoother/speed_lim_w: 5.4
* /robot_description: <?xml version="1....
* /robot_state_publisher/publish_frequency: 30.0
* /rosdistro: indigo
* /rosplan_planning_system/data_path: /home/smbdy/workp...
* /rosplan_planning_system/planner_command: timeout 10 /home/...
* /rosplan_planning_system/problem_path: /home/smbdy/workp...
* /rosplan_roadmap_server/cost_map_topic: /move_base/global...
* /rosplan_roadmap_server/data_path: /home/smbdy/workp...
* /rosplan_roadmap_server/odom_topic: /odom
* /rosplan_roadmap_server/static_map_service: /static_map
* /rosplan_roadmap_server/use_static_map: False
* /rosplan_scene_database/database_path: /home/smbdy/workp...
* /rosversion: 1.11.16
* /use_sim_time: True

NODES
/
amcl (amcl/amcl)
bumper2pointcloud (nodelet/nodelet)
cmd_vel_mux (nodelet/nodelet)
depthimage_to_laserscan (nodelet/nodelet)
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
kobuki_safety_controller (nodelet/nodelet)
laserscan_nodelet_manager (nodelet/nodelet)
map_server (map_server/map_server)
mobile_base_nodelet_manager (nodelet/nodelet)
move_base (move_base/move_base)
navigation_velocity_smoother (nodelet/nodelet)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
rosplan_interface_movebase (rosplan_interface_movebase/rpmovebase)
rosplan_knowledge_base (rosplan_knowledge_base/knowledgeBase)
rosplan_planning_system (rosplan_planning_system/planner)
rosplan_roadmap_server (rosplan_interface_mapping/rproadmapServer)
rosplan_scene_database (mongodb_store/mongodb_server.py)
rosplan_scene_message_store (mongodb_store/message_store_node.py)
rviz (rviz/rviz)
spawn_turtlebot_model (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [7736]
ROS_MASTER_URI=http://localhost:11311
๏ฟฝ]2;/home/smbdy/workplace/disser/devel/ROSPlan/src/rosplan/rosplan_demos/launch/turtlebot.launch http://localhost:11311๏ฟฝ
setting /run_id to 3aafb094-f800-11e5-ac35-a088b4c0f0e4
process[rosout-1]: started with pid [7749]
started core service [/rosout]
process[gazebo-2]: started with pid [7766]
process[gazebo_gui-3]: started with pid [7770]
process[spawn_turtlebot_model-4]: started with pid [7773]
process[mobile_base_nodelet_manager-5]: started with pid [7775]
process[cmd_vel_mux-6]: started with pid [7776]
process[bumper2pointcloud-7]: started with pid [7777]
process[robot_state_publisher-8]: started with pid [7778]
process[laserscan_nodelet_manager-9]: started with pid [7781]
process[depthimage_to_laserscan-10]: started with pid [7791]
process[map_server-11]: started with pid [7812]
process[amcl-12]: started with pid [7830]
process[navigation_velocity_smoother-13]: started with pid [7843]
process[kobuki_safety_controller-14]: started with pid [7845]
process[move_base-15]: started with pid [7854]
process[rviz-16]: started with pid [7869]
process[rosplan_knowledge_base-17]: started with pid [7874]
process[rosplan_scene_database-18]: started with pid [7885]
process[rosplan_scene_message_store-19]: started with pid [7897]
process[rosplan_planning_system-20]: started with pid [7912]
process[rosplan_roadmap_server-21]: started with pid [7919]
process[rosplan_interface_movebase-22]: started with pid [7928]
Gazebo multi-robot simulator, version 2.2.6
Copyright (C) 2012-2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

Gazebo multi-robot simulator, version 2.2.6
Copyright (C) 2012-2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[ INFO] [1459511559.208542606]: KCL: (KB) Parsing domain
[ INFO] [1459511559.208662004]: KCL: (KB) Parsing domain: /home/smbdy/workplace/disser/devel/ROSPlan/src/rosplan/rosplan_planning_system/common/domain.pddl.
[ INFO] [1459511559.247799637]: waitForService: Service [/message_store/insert] has not been advertised, waiting...
[ INFO] [1459511559.336709953]: waitForService: Service [/message_store/insert] has not been advertised, waiting...
[ INFO] [1459511559.337307247]: KCL: (KB) Waiting for MongoDB
[ INFO] [1459511559.340164930]: waitForService: Service [/message_store/delete] has not been advertised, waiting...
Msg Waiting for master.[ INFO] [1459511559.567016829]: Finished loading Gazebo ROS API Plugin.
Msg Waiting for master
[ INFO] [1459511559.569848323]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 192.168.1.65
[ INFO] [1459511560.104254042]: KCL: (PS) Ready to receive

Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 192.168.1.65
[ INFO] [1459511561.014476988, 0.030000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1459511561.165771022, 0.170000000]: waitForService: Service [/message_store/insert] is now available.
[ INFO] [1459511561.177950315, 0.180000000]: waitForService: Service [/message_store/delete] is now available.
[ INFO] [1459511561.180259703, 0.180000000]: waitForService: Service [/message_store/insert] is now available.
MongoDB shell version: 2.4.9
[ INFO] [1459511561.295847664, 0.200000000]: KCL: (RPRoadmapServer) Ready to receive. Cost map topic: /move_base/global_costmap/costmap
[ INFO] [1459511561.299330209, 0.200000000]: KCL: (MoveBase) waiting for action server to start on /move_base
connecting to: message_store
undefined
[ INFO] [1459511561.316418331, 0.200000000]: KCL: (KB) Ready to receive
Error [SDF.cc:788] Missing element description for [pointCloudCutoffMax]
[ INFO] [1459511561.894887224, 0.200000000]: Camera Plugin (robotNamespace = /), Info: Using the 'robotNamespace' param: '/'
[ INFO] [1459511562.096500975, 0.200000000]: Camera Plugin (ns = /) <tf_prefix_>, set to ""
[ INFO] [1459511562.248507766, 0.200000000]: Physics dynamic reconfigure ready.
[ INFO] [1459511562.283831862, 0.200000000]: Starting plugin Kobuki(ns = //)!
[ WARN] [1459511562.283959358, 0.200000000]: Kobuki(ns = //): missing default is na
[ INFO] [1459511562.286384091, 0.200000000]: Kobuki(ns = //): <tf_prefix> =
Dbg Plugin model name: mobile_base
[ INFO] [1459511562.286754851, 0.200000000]: Will publish tf. [mobile_base]
[ INFO] [1459511562.291214454, 0.200000000]: Kobuki(ns = //): Advertise joint_states[joint_states]!
[ INFO] [1459511562.292805628, 0.200000000]: Kobuki(ns = //): Advertise Odometry[odom]!
[ INFO] [1459511562.300479117, 0.200000000]: Kobuki(ns = //): Try to subscribe to mobile_base/commands/motor_power!
[ INFO] [1459511562.308717055, 0.200000000]: Kobuki(ns = //): Try to subscribe to mobile_base/commands/reset_odometry!
[ INFO] [1459511562.317000318, 0.200000000]: Kobuki(ns = //): Try to subscribe to mobile_base/commands/motor_power!
[ INFO] [1459511562.318702736, 0.200000000]: Kobuki(ns = //): Advertise Cliff[mobile_base/events/cliff]!
[ INFO] [1459511562.321078593, 0.200000000]: Kobuki(ns = //): Advertise Bumper[mobile_base/events/bumper]!
[ INFO] [1459511562.322978787, 0.200000000]: Kobuki(ns = //): Advertise IMU[mobile_base/sensors/imu_data]!
[ INFO] [1459511562.323155618, 0.200000000]: GazeboRosKobuki plugin ready to go! [mobile_base]
[spawn_turtlebot_model-4] process has finished cleanly
log file: /home/smbdy/.ros/log/3aafb094-f800-11e5-ac35-a088b4c0f0e4/spawn_turtlebot_model-4*.log
[ INFO] [1459511564.032256007, 1.900000000]: Using plugin "static_layer"
[ INFO] [1459511564.134177786, 2.000000000]: Requesting the map...
[ INFO] [1459511564.354617357, 2.220000000]: Resizing costmap to 231 X 194 at 0.050000 m/pix
[ INFO] [1459511564.453515783, 2.320000000]: Received a 231 X 194 map at 0.050000 m/pix
[ INFO] [1459511564.459569563, 2.320000000]: Using plugin "obstacle_layer"
[ INFO] [1459511564.462421890, 2.320000000]: Subscribed to Topics: scan bump
[ INFO] [1459511564.578152905, 2.440000000]: Using plugin "inflation_layer"
[ INFO] [1459511564.925718098, 2.770000000]: Using plugin "obstacle_layer"
[ INFO] [1459511565.019982478, 2.860000000]: Subscribed to Topics: scan bump
[ INFO] [1459511565.189085933, 3.030000000]: Using plugin "inflation_layer"
[ INFO] [1459511565.433356034, 3.280000000]: Created local_planner dwa_local_planner/DWAPlannerROS
[ INFO] [1459511565.438562160, 3.280000000]: Sim period is set to 0.20
[ INFO] [1459511566.023279987, 3.870000000]: Recovery behavior will clear layer obstacles
[ INFO] [1459511566.124972369, 3.970000000]: Recovery behavior will clear layer obstacles
[ INFO] [1459511566.232671290, 4.070000000]: odom received!
[ INFO] [1459511566.374772713, 4.210000000]: KCL: (MoveBase) Ready to receive
rviz1
gazebo1

Domain parser

Hi:
I find that there are two domain parser code, one is the "DomainParser.cpp" in "rosplan_knowledge_base" package", and the other is the "PlannngEnvironment.cpp" in "rosplan_planning_system". And it seems that both the two are executed, the former is executed when knowledge_base is set up and the latter is loaded when planning system starts. I can not understand why it needs to parse the domain file twice?
mark.

problem with rqt interfacing

Hi, we use rosplan experemetation some plans on a mobile robot, however, when we run the command:

rqt --standalone rosplan_rqt.dispatcher.ROSPlanDispatcher
it works for the first time,but when we retry the procedure, it does'nt work and the plan didn't appear,
we need your help

thanks.

RPSimpleMapServer

Hello,

I'm trying to play with the turtlebot code using waypoints I manually specify and the SimpleMapServer rather than the PRM server. I want to visualize the graph in rviz. I generate a PDDL planning problem, which gets parsed correctly. But after the action is enabled by the planning system I get the following error:

[ERROR] ... The goal pose passed to this planner must be in the map frame. It is instead in the world frame.

I've been studying the RPSimpleMapServer and Visualization codes and notice that in the code that publishes the waypoint markers, in the simple map server the frame_id is a fixed world frame, whereas in the PRM visualization code the frame id is set to 'map'. I expect that's partly why the PRM visualization works and the simple map visualizer does not, but I wonder if you have any thoughts.

Thanks,
Robert Morris

Rosplan Demo (TurtleBot) - Error after generating waypoints

Hi there,

I'm trying to run the Demo with turtlebot, everything is working fine but when I run
sh src/rosplan/rosplan_demos/scripts/turtlebot_explore.bash
I get this output:

waypoints: ['wp0', 'wp1', 'wp2', 'wp3', 'wp4']
success: True
success: True
success: True
success: True
success: True
success: True
success: True
success: True
ERROR: service [/kcl_rosplan/planning_server] responded with an error:

I can see the waypoints in RViz and run
rqt --standalone rosplan_rqt.dispatcher.ROSPlanDispatcher
but then nothing happens.

I'm a beginner at ROS and I really enjoyed your work, I'm also researching Planning at the University xD

Cheers,
Esdras Chaves

Another error with Turtlebot Demo

Hi there,

I had to format my computer and trying to run the turtlebot demo again, I got two errors that didn't appear before.

I got this error message

ERROR: Service [/kcl_rosplan/roadmap_server/create_prm] is not available.

while running:

sh src/rosplan/rosplan_demos/scripts/turtlebot_explore.bash

and

ERROR: cannot launch node of type [rosplan_interface_mapping/rproadmapServer]: can't locate node [rproadmapServer] in package [rosplan_interface_mapping] ERROR: cannot launch node of type [rosplan_interface_movebase/rpmovebase]: can't locate node [rpmovebase] in package [rosplan_interface_movebase]

while running:

roslaunch rosplan_demos turtlebot.launch

Cheers,
Esdras Chaves

Problem with installation

Hello,
I'm trying to install ROSPlan on Ubuntu 14.04 using ROS indigo (full desktop version).

I've followed the installation guide and downloaded the source. When I run catkin_make (or catkin_make -j1), the process fails with the following error:

CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by "move_base_msgs"
  with any of the following names:

    move_base_msgsConfig.cmake
    move_base_msgs-config.cmake

  Add the installation prefix of "move_base_msgs" to CMAKE_PREFIX_PATH or set
  "move_base_msgs_DIR" to a directory containing one of the above files.  If
  "move_base_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  rosplan/rosplan_interface_movebase/CMakeLists.txt:5 (find_package)


-- Could not find the required component 'move_base_msgs'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "move_base_msgs"
  with any of the following names:

    move_base_msgsConfig.cmake
    move_base_msgs-config.cmake

  Add the installation prefix of "move_base_msgs" to CMAKE_PREFIX_PATH or set
  "move_base_msgs_DIR" to a directory containing one of the above files.  If
  "move_base_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  rosplan/rosplan_interface_movebase/CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/fabio/catkin_ws/ROSPlan/build/CMakeFiles/CMakeOutput.log".
See also "/home/fabio/catkin_ws/ROSPlan/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

Thanks,
Fabio

Current version of ROSPlan doesnโ€™t specify usage of ontology in detail?

I have check ROSPlan GitHub source code in details as well I have read your research article. In ROSPlan framework inside rosplan_planning_system/src/PlanningSystem.cpp file you have mentioned about update the environment from the ontology. Further I didnโ€™t find any details regarding how you utilize ontology in given ROSPlan framework. Because in research article you have mentioned waypoints are created using a probabilistic road map (PRM) and stored in the ontology. But in given framework mapping interface generate waypoints (waypoint generation depend on scripts/turtlebot_explore.bash) and stored symbolically in the Knowledge Base. Kindly clarify how you utilize ontology to form a semantic map of the environment?
screenshot from 2018-02-26 17-01-26

Wiki - Action feedback in Planning System

The status messages of action feedback does not work when used with a underscore. Ex: "action_achieved". It should be used as "action achieved". Would be great if someone could change in the documentation.

[Q&A] Create a PlanParser for a new planner

I would like to add the Fast Forward (FF) planner to ROSPlan so I have to created a plan parser. Could you briefly explain me how to do it?

I have already checked PlanParser classes that are provided with ROSPlan, but I am not sure how I have to create the parser as there are different types in this directory, and I don't know why they are using different approaches. I have created the FF parser using POPFPlanParser as reference, do you think that this is correct? You could review my code here.

Thanks.

Compilation error

[Ubuntu 12.04 fully updated, ROS Hydro]

Hello,
I am getting the following errors in installing ros_plan:

`vahid@vahid-ThinkPad-W520:~/ROSPlan$ catkin_make
Base path: /home/vahid/ROSPlan
Source space: /home/vahid/ROSPlan/src
Build space: /home/vahid/ROSPlan/build
Devel space: /home/vahid/ROSPlan/devel
Install space: /home/vahid/ROSPlan/install

Running command: "make cmake_check_build_system" in "/home/vahid/ROSPlan/build"

-- Using CATKIN_DEVEL_PREFIX: /home/vahid/ROSPlan/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/hydro
-- This workspace overlays: /opt/ros/hydro
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Python version: 2.7
-- Using Debian Python package layout
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/vahid/ROSPlan/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- catkin 0.5.90
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 11 packages in topological order:
-- ~~ - rosplan (metapackage)
-- ~~ - rosplan_demos
-- ~~ - rosplan_rqt
-- ~~ - rosplan_dispatch_msgs
-- ~~ - rosplan_knowledge_msgs
-- ~~ - rosplan_planning_system
-- ~~ - rosplan_interface_movebase
-- ~~ - occupancy_grid_utils
-- ~~ - rosplan_interface_mapping
-- ~~ - rosplan_interface_turtlebot2
-- ~~ - rosplan_knowledge_base
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin metapackage: 'rosplan'
-- ==> add_subdirectory(rosplan/rosplan)
-- +++ processing catkin package: 'rosplan_demos'
-- ==> add_subdirectory(rosplan/rosplan_demos)
-- +++ processing catkin package: 'rosplan_rqt'
-- ==> add_subdirectory(rosplan/rosplan_rqt)
-- +++ processing catkin package: 'rosplan_dispatch_msgs'
-- ==> add_subdirectory(rosplan/rosplan_dispatch_msgs)
-- Using these message generators: gencpp;genlisp;genpy
-- Generating .msg files for action rosplan_dispatch_msgs/Plan /home/vahid/ROSPlan/src/rosplan/rosplan_dispatch_msgs/action/Plan.action
-- rosplan_dispatch_msgs: 10 messages, 1 services
-- +++ processing catkin package: 'rosplan_knowledge_msgs'
-- ==> add_subdirectory(rosplan/rosplan_knowledge_msgs)
-- Using these message generators: gencpp;genlisp;genpy
-- rosplan_knowledge_msgs: 5 messages, 14 services
-- +++ processing catkin package: 'rosplan_planning_system'
-- ==> add_subdirectory(rosplan/rosplan_planning_system)
-- Using these message generators: gencpp;genlisp;genpy
-- +++ processing catkin package: 'rosplan_interface_movebase'
-- ==> add_subdirectory(rosplan/rosplan_interface_movebase)
-- Using these message generators: gencpp;genlisp;genpy
-- +++ processing catkin package: 'occupancy_grid_utils'
-- ==> add_subdirectory(occupancy_grid_utils)
-- Using these message generators: gencpp;genlisp;genpy
-- occupancy_grid_utils: 3 messages, 0 services
-- +++ processing catkin package: 'rosplan_interface_mapping'
-- ==> add_subdirectory(rosplan/rosplan_interface_mapping)
-- Using these message generators: gencpp;genlisp;genpy
-- +++ processing catkin package: 'rosplan_interface_turtlebot2'
-- ==> add_subdirectory(rosplan_interface_turtlebot2)
-- Using these message generators: gencpp;genlisp;genpy
-- +++ processing catkin package: 'rosplan_knowledge_base'
-- ==> add_subdirectory(rosplan/rosplan_knowledge_base)
-- Using these message generators: gencpp;genlisp;genpy
-- Configuring done
-- Generating done
-- Build files have been written to: /home/vahid/ROSPlan/build

Running command: "make -j8 -l8" in "/home/vahid/ROSPlan/build"

[ 0%] Built target actionlib_msgs_generate_messages_py
[ 0%] [ 0%] [ 0%] [ 0%] Built target std_msgs_generate_messages_py
Built target diagnostic_msgs_generate_messages_cpp
[ 0%] Built target actionlib_msgs_generate_messages_cpp
[ 0%] Built target diagnostic_msgs_generate_messages_py
[ 0%] Built target std_msgs_generate_messages_cpp
Built target diagnostic_msgs_generate_messages_lisp
Built target std_msgs_generate_messages_lisp
[ 0%] Built target actionlib_msgs_generate_messages_lisp
[ 0%] [ 0%] [ 0%] [ 0%] [ 0%] Built target geometry_msgs_generate_messages_py
Built target geometry_msgs_generate_messages_cpp
Built target geometry_msgs_generate_messages_lisp
Built target std_srvs_generate_messages_cpp
Built target roscpp_generate_messages_cpp
[ 0%] [ 0%] Built target rosgraph_msgs_generate_messages_cpp
Built target roscpp_generate_messages_lisp
[ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] Built target roscpp_generate_messages_py
Built target rosgraph_msgs_generate_messages_lisp
Built target std_srvs_generate_messages_lisp
Built target rosgraph_msgs_generate_messages_py
Built target actionlib_generate_messages_py
Built target actionlib_generate_messages_lisp
[ 0%] [ 0%] Built target actionlib_generate_messages_cpp
Built target std_srvs_generate_messages_py
[ 0%] [ 0%] [ 0%] [ 0%] [ 0%] Built target mongodb_store_msgs_generate_messages_py
Built target mongodb_store_generate_messages_py
Built target move_base_msgs_generate_messages_cpp
Built target mongodb_store_msgs_generate_messages_lisp
Built target move_base_msgs_generate_messages_lisp
[ 0%] [ 0%] [ 0%] Built target mongodb_store_generate_messages_cpp
Built target move_base_msgs_generate_messages_py
Built target mongodb_store_generate_messages_lisp
[ 0%] [ 0%] [ 0%] [ 0%] Built target nav_msgs_generate_messages_cpp
Built target sensor_msgs_generate_messages_py
Built target mongodb_store_msgs_generate_messages_cpp
Built target sensor_msgs_generate_messages_cpp
[ 0%] Built target nav_msgs_generate_messages_py
[ 0%] Built target sensor_msgs_generate_messages_lisp
[ 0%] Built target nav_msgs_generate_messages_lisp
[ 0%] Built target visualization_msgs_generate_messages_cpp
[ 0%] [ 0%] [ 0%] [ 0%] Built target tf_generate_messages_lisp
Built target tf2_msgs_generate_messages_cpp
Built target tf_generate_messages_py
Built target tf_generate_messages_cpp
[ 0%] [ 0%] [ 0%] Built target tf2_msgs_generate_messages_py
Built target visualization_msgs_generate_messages_lisp
Built target tf2_msgs_generate_messages_lisp
[ 0%] [ 0%] Built target visualization_msgs_generate_messages_py
[ 0%] Built target kobuki_msgs_generate_messages_py
Built target kobuki_msgs_generate_messages_lisp
[ 0%] [ 13%] [ 13%] [ 14%] Built target kobuki_msgs_generate_messages_cpp
Built target rosplan_dispatch_msgs_generate_messages_py
Built target rosplan_dispatch_msgs_generate_messages_cpp
Built target rosplan_dispatch_msgs_generate_messages_lisp
[ 22%] Built target rosplan_knowledge_msgs_generate_messages_cpp
[ 30%] [ 38%] Built target rosplan_knowledge_msgs_generate_messages_py
Built target rosplan_knowledge_msgs_generate_messages_lisp
[ 39%] Built target occupancy_grid_utils_generate_messages_py
[ 42%] [ 42%] Built target occupancy_grid_utils_generate_messages_cpp
Built target occupancy_grid_utils_generate_messages_lisp
[ 42%] Built target rosplan_knowledge_msgs_generate_messages
[ 42%] [ 43%] Built target rosplan_dispatch_msgs_generate_messages
Built target rosplan_action_interface
[ 44%] [ 45%] Built target simulatedAction
Built target rptalker
[ 45%] [ 46%] Built target rplocaliser
Built target rpdocker
[ 47%] [ 48%] [ 48%] [ 48%] [ 49%] Building CXX object rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanningSystem.cpp.o
Building CXX object rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanDispatch/EsterelPlanDispatcher.cpp.o
Building CXX object rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanDispatch/EsterelPlanDispatcher.cpp.o
Building CXX object rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanParsing/CFFPlanParser.cpp.o
Building CXX object rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanningSystem.cpp.o
[ 49%] Built target occupancy_grid_utils_generate_messages
[ 64%] [ 67%] Built target knowledgeBase
Built target grid_utils
[ 68%] [ 68%] Building CXX object rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanParsing/CFFPlanParser.cpp.o
Building CXX object rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanParsing/CLGPlanParser.cpp.o
[ 68%] Built target grid_construction_node
[ 69%] Built target grid_utils_boost_python_exports
[ 69%] Built target rproadmapServer
[ 70%] Built target rpsimplemapServer
[ 70%] Building CXX object rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanParsing/CLGPlanParser.cpp.o
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanParsing/CFFPlanParser.cpp:1:0:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CFFPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/EsterelPlanDispatcher.h:13:0,
from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanDispatch/EsterelPlanDispatcher.cpp:1:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CFFPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanParsing/CFFPlanParser.cpp:1:0:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CFFPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanParsing/CLGPlanParser.cpp:1:0:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CLGPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/EsterelPlanDispatcher.h:13:0,
from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanDispatch/EsterelPlanDispatcher.cpp:1:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CFFPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/PlanningSystem.h:21:0,
from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanningSystem.cpp:1:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CFFPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/PlanningSystem.h:21:0,
from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanningSystem.cpp:1:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CFFPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
In file included from /home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanParsing/CLGPlanParser.cpp:1:0:
/home/vahid/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/CLGPlanParser.h:2:30: fatal error: std_srvs/Trigger.h: No such file or directory
compilation terminated.
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanParsing/CFFPlanParser.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 71%] Building CXX object rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanParsing/POPFEsterelPlanParser.cpp.o
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanParsing/CFFPlanParser.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanParsing/CLGPlanParser.cpp.o] Error 1
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanParsing/CLGPlanParser.cpp.o] Error 1
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanDispatch/EsterelPlanDispatcher.cpp.o] Error 1
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanDispatch/EsterelPlanDispatcher.cpp.o] Error 1
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/planner.dir/src/PlanningSystem.cpp.o] Error 1
make[1]: *** [rosplan/rosplan_planning_system/CMakeFiles/planner.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanningSystem.cpp.o] Error 1
make[1]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed
vahid@vahid-ThinkPad-W520:~/ROSPlan$
`

Thank you for any help.
Best,
Vahid

New files

Hi:
I noticed that in package "rosplan_planning_system", some new cpp files appeared in "src" folder.

1 EsterelPlanDispatcher.cpp
I don't know what it is. In its constructor, it loads:

EsterelPlanDispatcher::EsterelPlanDispatcher() {
    ros::NodeHandle nh("~");
    nh.param("strl_file_path", strl_file, std::string("common/plan.strl"));
}

What is the "plan.strl" file and how can genereate the strl file?

2 CFFPlanParser.cpp

I think it is about Contingent-FF planner, so I downloaded an executable Contingent-FF from here: https://fai.cs.uni-saarland.de/hoffmann/cff.html

However I don't know whether it well support PDDL. So before I used it I test it like this:

mcq@mcq-ubuntu:~/ROSPlan/src/rosplan/rosplan_planning_system/common$ ./bin/Contingent-FF -p domain.pddl
ff: parsing domain file
domain.pddl: syntax error in line 3, ':FLUENTS':
domain definition expected
ff: parsing domain file
domain.pddl: syntax error in line 3, ':DURATIVE-ACTIONS':
domain definition expected

It seems that the planner can not support FLUENTS and DURATIVE-ACTIONS and etc. I don't know how to correctly use it.

Or maybe these files are not completely finished now and I need to wait for update? Because I see code like this in PlanningSystem.cpp:

    // plan dispatcher
    KCL_rosplan::SimplePlanDispatcher spd;
    planningSystem.plan_dispatcher = &spd;

3 As other new files such as "POPFPlanParser.cpp" and "SimplePlanDispatcher.cpp" are easy to understand and use.

Mark

Minor compilation and execution issues

Hi,

I had some minor problems for compiling that I though I should share:

The first one is the cola2 interface, I had to either clone the cola2 repo or simply make catkin ignore this interface

$ touch ROSPlan/rosplan_interface_cola2/CATKIN_IGNORE

And some minor dependencies issue to compile with several job, I simply added it in ROSPlan/rosplan_planning_system/CMakeLists.txt

add_dependencies(planner ${catkin_EXPORTED_TARGETS})

and to ROSPlan/rosplan_knowledge_base/CMakeLists.tx

add_dependencies(knowledgeBase ${catkin_EXPORTED_TARGETS})

in order to force catkin to generate the knowledge_msgs before building these two modules.

And finally, in order to make the example script work (turtlebot_explore.bash), I had to increase the number of total_attempts (otherwise no waypoints were created) and change "turtlebot_playground.launch" to "turtlebot_world.launch" in rosplan_demos/launch/turtlebot.launch (that's probably a difference between hydro and indigo).

Thanks for sharing this tool,
Simon Vernhes.

cant find "amcl_mc2.launch"

Hi!
I am a student and when I first see this package i was so excited because it is so newest and amazing idea. now i show my problem.
In the file "rosplan_demos/launch/mc2_turtlebot.launch", it need bring up the real robot--turtlebot, and need launch the "turtlebot_navigation/launch/amcl_mc2.launch" ,however, i cannot locate and find the launch file named "amcl_mc2.launch" in my workspace OR "/opt/ros/indigo/share..."path. so when I run this lanuch file, ROS show the error that "No such file or ....โ€œ what should i do ,i can not continue my reasearch. can you help me?

Launching the Planner Interface

I'm playing around with just the planner so I'm trying to launch the planner interface alone, without the planning system. First issue is that I think the launch file example at

http://kcl-planning.github.io/ROSPlan/documentation/planning_system_launch.html

has a bug. I think the node "rosplan_planner_interface" is in the package "rosplan_planning_system" not package "rosplan_planner_interface" which does not seem to exist. At any rate, I got errors with the code as listed, but not as changed.

Still, with that change, I can't get any output. I see no errors but I get as far as the message:

(Planner Interface) Ready to receive

and after that I see nothing (and again, no errors). All the parameters seem to be set correctly.

Error while building

Error when catkin_make the ROSPlan folder

Could not find a package configuration file provided by "move_base_msgs"
  with any of the following names:

    move_base_msgsConfig.cmake
    move_base_msgs-config.cmake

  Add the installation prefix of "move_base_msgs" to CMAKE_PREFIX_PATH or set
  "move_base_msgs_DIR" to a directory containing one of the above files.  If
  "move_base_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  rosplan/rosplan_interface_movebase/CMakeLists.txt:5 (find_package)


-- Could not find the required component 'move_base_msgs'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "move_base_msgs"
  with any of the following names:

    move_base_msgsConfig.cmake
    move_base_msgs-config.cmake

  Add the installation prefix of "move_base_msgs" to CMAKE_PREFIX_PATH or set
  "move_base_msgs_DIR" to a directory containing one of the above files.  If
  "move_base_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  rosplan/rosplan_interface_movebase/CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/muhammad/ROSPlan/build/CMakeFiles/CMakeOutput.log".
See also "/home/muhammad/ROSPlan/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

Python Components

Are there any examples of components that are implemented using Python as opposed to C++?

a. Installation issue

I am trying to install KCL-Planning, followed the steps here:
https://github.com/KCL-Planning/ROSPlan/wiki/a.-Installation

and I got this errors, it says it cannot find a header file, is there an issue in the packages dependencies?

[ 0%] [ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_ActionDispatch
Built target _rosplan_dispatch_msgs_generate_messages_check_deps_ActionFeedback
[ 0%] Built target diagnostic_msgs_generate_messages_lisp
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] Built target _rosplan_dispatch_msgs_generate_messages_check_deps_CompletePlan
[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target diagnostic_msgs_generate_messages_cpp
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target diagnostic_msgs_generate_messages_py
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_Filter
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_KnowledgeUpdateService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainAttributeService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetAttributeService
[ 0%] [ 0%] Built target geometry_msgs_generate_messages_py
Built target _rosplan_knowledge_msgs_generate_messages_check_deps_DomainFormula
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetInstanceService
[ 0%] [ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_AddWaypoint
Built target _rosplan_knowledge_msgs_generate_messages_check_deps_Notification
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainOperatorService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_CreatePRM
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_GetDomainTypeService
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_KnowledgeQueryService
[ 0%] Built target geometry_msgs_generate_messages_cpp
[ 0%] Built target _rosplan_knowledge_msgs_generate_messages_check_deps_KnowledgeItem
[ 0%] Built target geometry_msgs_generate_messages_lisp
[ 0%] [ 0%] Built target std_srvs_generate_messages_cpp
Built target roscpp_generate_messages_cpp
[ 0%] Built target roscpp_generate_messages_lisp
[ 0%] Built target rosgraph_msgs_generate_messages_py
[ 0%] Built target rosgraph_msgs_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_lisp
[ 0%] Built target roscpp_generate_messages_py
[ 0%] Built target std_srvs_generate_messages_py
[ 0%] Built target std_srvs_generate_messages_lisp
[ 0%] Built target mongodb_store_msgs_generate_messages_cpp
[ 0%] [ 1%] Built target mongodb_store_generate_messages_lisp
Building CXX object rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanningSystem.cpp.o
[ 1%] Built target move_base_msgs_generate_messages_cpp
[ 1%] Built target actionlib_msgs_generate_messages_lisp
[ 1%] Built target mongodb_store_msgs_generate_messages_lisp
[ 1%] Built target move_base_msgs_generate_messages_py
[ 1%] Built target actionlib_msgs_generate_messages_py
[ 1%] Built target actionlib_generate_messages_cpp
[ 1%] Built target actionlib_generate_messages_py
[ 1%] Built target move_base_msgs_generate_messages_lisp
[ 1%] Built target mongodb_store_generate_messages_cpp
[ 1%] Built target mongodb_store_generate_messages_py
[ 1%] Built target mongodb_store_msgs_generate_messages_py
[ 1%] Built target actionlib_msgs_generate_messages_cpp
[ 1%] Built target actionlib_generate_messages_lisp
[ 1%] Built target _occupancy_grid_utils_generate_messages_check_deps_OverlayClouds
[ 1%] Built target nav_msgs_generate_messages_cpp
[ 1%] Built target sensor_msgs_generate_messages_cpp
[ 1%] Built target _occupancy_grid_utils_generate_messages_check_deps_LocalizedCloud
[ 1%] Built target _occupancy_grid_utils_generate_messages_check_deps_NavigationFunction
[ 1%] Built target nav_msgs_generate_messages_lisp
[ 1%] Built target sensor_msgs_generate_messages_lisp
[ 1%] Built target nav_msgs_generate_messages_py
[ 1%] Built target sensor_msgs_generate_messages_py
[ 1%] Building CXX object rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/SimplePlanDispatcher.cpp.o
In file included from /home/viki/ROSPlan/src/rosplan/rosplan_planning_system/src/PlanningSystem.cpp:1:0:
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/PlanningSystem.h:6:50: fatal error: rosplan_dispatch_msgs/ActionDispatch.h: No such file or directory
#include "rosplan_dispatch_msgs/ActionDispatch.h"
^
compilation terminated.
In file included from /home/viki/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/SimplePlanDispatcher.h:1:0,
from /home/viki/ROSPlan/src/rosplan/rosplan_planning_system/src/SimplePlanDispatcher.cpp:1:
/home/viki/ROSPlan/src/rosplan/rosplan_planning_system/include/rosplan_planning_system/PlanDispatcher.h:5:50: fatal error: rosplan_dispatch_msgs/ActionDispatch.h: No such file or directory
#include "rosplan_dispatch_msgs/ActionDispatch.h"
^
compilation terminated.
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/PlanningSystem.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 1%] Built target visualization_msgs_generate_messages_lisp
[ 1%] Built target tf_generate_messages_py
[ 1%] Built target tf_generate_messages_cpp
[ 1%] Built target tf_generate_messages_lisp
[ 1%] Built target tf2_msgs_generate_messages_cpp
[ 1%] Built target tf2_msgs_generate_messages_lisp
[ 1%] Built target tf2_msgs_generate_messages_py
[ 1%] Built target visualization_msgs_generate_messages_cpp
[ 1%] Built target visualization_msgs_generate_messages_py
[ 1%] Built target kobuki_msgs_generate_messages_lisp
[ 1%] Built target kobuki_msgs_generate_messages_cpp
[ 1%] Built target kobuki_msgs_generate_messages_py
[ 2%] Generating Lisp code from rosplan_dispatch_msgs/CompletePlan.msg
[ 2%] Generating Lisp code from rosplan_dispatch_msgs/ActionFeedback.msg
[ 3%] Generating Lisp code from rosplan_dispatch_msgs/ActionDispatch.msg
[ 3%] Built target rosplan_dispatch_msgs_generate_messages_lisp
make[2]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/src/SimplePlanDispatcher.cpp.o] Error 1
make[1]: *** [rosplan/rosplan_planning_system/CMakeFiles/rosplan_planning_system.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 3%] [ 4%] Generating C++ code from rosplan_dispatch_msgs/CompletePlan.msg
Generating C++ code from rosplan_dispatch_msgs/ActionFeedback.msg
[ 4%] Generating C++ code from rosplan_dispatch_msgs/ActionDispatch.msg
[ 4%] Built target rosplan_dispatch_msgs_generate_messages_cpp
make: *** [all] Error 2
Invoking "make" failed

Knowledge Base Not Populating Function Values When Supplying a Problem File

ROSPlan Branch: devel
Ubuntu Version: 16.04

When the initial world state is provided through a bash script (using service calls), function values
are properly stored and queryable in the knowledge base. For example, using the Turtlebot example and
running the following service call gets us the following results (cut off to save space):

rosservice call /kcl_rosplan/get_current_knowledge "predicate_name: 'distance'" 
attributes: 
  - 
    knowledge_type: 2
    instance_type: ''
    instance_name: ''
    attribute_name: "distance"
    values: 
      - 
        key: "wp1"
        value: "wp0"
      - 
        key: "wp2"
        value: "wp0"
    function_value: 10.0
    is_negative: False

But, when that same initial world state is provided through a supplied problem file, the knowledge base
is not updated to reflect the functions or their values, as seen below.

rosservice call /kcl_rosplan/get_current_knowledge "predicate_name: 'distance'" 
attributes: []

I would be happy to provide the domain, problem, and launch files if necessary, but they are slightly modified versions of the examples provided with this repository.

Some services in rosplan_knowledge_msgs that are not part of ROSPlan

The following services should not be part of rosplan_knowledge_msgs:

  • RemoveWaypoint.srv
  • AddWaypoint.srv
  • CreatePRM.srv

as they are are specific of rosplan_interface_mapping package.

In addition, I think that rosplan_interface_movebase and rosplan_interface_mapping should not be part of the ROSPlan repository. They should be stored in a different repository, maybe named as rosplan_interface_robot, in which generic robot interfaces as these two would be stored.

ResourceNotFound: rosplan_config

When trying to launch the demo I receive an error message saying:

ResourceNotFound: rosplan_config

I see that the files that were in rosplan_config have been moved to other packages, however rosplan_config is still used within several launch files (interfaced_planning_system.launch and rosplan_roadmap_server.launch).

cannot launch node of type [rosplan_knowledge_base/knowledgeBase] ...

Hello,

I am getting the following errors (errors are in bold):

`vahid@vahid-ThinkPad-W520:~$ roslaunch rosplan_demos turtlebot.launch
... logging to /home/vahid/.ros/log/1f412ed4-2f39-11e7-9670-0024d7ce5a44/roslaunch-vahid-ThinkPad-W520-15251.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://vahid-ThinkPad-W520:43553/

SUMMARY

PARAMETERS

  • /amcl/base_frame_id
  • /amcl/gui_publish_rate
  • /amcl/initial_pose_a
  • /amcl/initial_pose_x
  • /amcl/initial_pose_y
  • /amcl/kld_err
  • /amcl/kld_z
  • /amcl/laser_lambda_short
  • /amcl/laser_likelihood_max_dist
  • /amcl/laser_max_beams
  • /amcl/laser_max_range
  • /amcl/laser_model_type
  • /amcl/laser_sigma_hit
  • /amcl/laser_z_hit
  • /amcl/laser_z_max
  • /amcl/laser_z_rand
  • /amcl/laser_z_short
  • /amcl/max_particles
  • /amcl/min_particles
  • /amcl/odom_alpha1
  • /amcl/odom_alpha2
  • /amcl/odom_alpha3
  • /amcl/odom_alpha4
  • /amcl/odom_alpha5
  • /amcl/odom_frame_id
  • /amcl/odom_model_type
  • /amcl/recovery_alpha_fast
  • /amcl/recovery_alpha_slow
  • /amcl/resample_interval
  • /amcl/transform_tolerance
  • /amcl/update_min_a
  • /amcl/update_min_d
  • /amcl/use_map_topic
  • /bumper2pointcloud/pointcloud_radius
  • /cmd_vel_mux/yaml_cfg_file
  • /depthimage_to_laserscan/output_frame_id
  • /depthimage_to_laserscan/range_min
  • /depthimage_to_laserscan/scan_height
  • /move_base/TrajectoryPlannerROS/acc_lim_theta
  • /move_base/TrajectoryPlannerROS/acc_lim_x
  • /move_base/TrajectoryPlannerROS/acc_lim_y
  • /move_base/TrajectoryPlannerROS/dwa
  • /move_base/TrajectoryPlannerROS/gdist_scale
  • /move_base/TrajectoryPlannerROS/heading_lookahead
  • /move_base/TrajectoryPlannerROS/holonomic_robot
  • /move_base/TrajectoryPlannerROS/max_vel_theta
  • /move_base/TrajectoryPlannerROS/max_vel_x
  • /move_base/TrajectoryPlannerROS/max_vel_y
  • /move_base/TrajectoryPlannerROS/meter_scoring
  • /move_base/TrajectoryPlannerROS/min_in_place_vel_theta
  • /move_base/TrajectoryPlannerROS/min_vel_theta
  • /move_base/TrajectoryPlannerROS/min_vel_x
  • /move_base/TrajectoryPlannerROS/min_vel_y
  • /move_base/TrajectoryPlannerROS/occdist_scale
  • /move_base/TrajectoryPlannerROS/oscillation_reset_dist
  • /move_base/TrajectoryPlannerROS/pdist_scale
  • /move_base/TrajectoryPlannerROS/sim_time
  • /move_base/TrajectoryPlannerROS/vtheta_samples
  • /move_base/TrajectoryPlannerROS/vx_samples
  • /move_base/TrajectoryPlannerROS/vy_samples
  • /move_base/TrajectoryPlannerROS/xy_goal_tolerance
  • /move_base/TrajectoryPlannerROS/yaw_goal_tolerance
  • /move_base/controller_frequency
  • /move_base/controller_patience
  • /move_base/global_costmap/bump/clearing
  • /move_base/global_costmap/bump/data_type
  • /move_base/global_costmap/bump/marking
  • /move_base/global_costmap/bump/max_obstacle_height
  • /move_base/global_costmap/bump/min_obstacle_height
  • /move_base/global_costmap/bump/topic
  • /move_base/global_costmap/global_frame
  • /move_base/global_costmap/inflation_radius
  • /move_base/global_costmap/map_type
  • /move_base/global_costmap/max_obstacle_height
  • /move_base/global_costmap/observation_sources
  • /move_base/global_costmap/obstacle_range
  • /move_base/global_costmap/origin_z
  • /move_base/global_costmap/publish_frequency
  • /move_base/global_costmap/publish_voxel_map
  • /move_base/global_costmap/raytrace_range
  • /move_base/global_costmap/robot_base_frame
  • /move_base/global_costmap/robot_radius
  • /move_base/global_costmap/scan/clearing
  • /move_base/global_costmap/scan/data_type
  • /move_base/global_costmap/scan/marking
  • /move_base/global_costmap/scan/max_obstacle_height
  • /move_base/global_costmap/scan/min_obstacle_height
  • /move_base/global_costmap/scan/topic
  • /move_base/global_costmap/static_map
  • /move_base/global_costmap/transform_tolerance
  • /move_base/global_costmap/update_frequency
  • /move_base/global_costmap/z_resolution
  • /move_base/global_costmap/z_voxels
  • /move_base/local_costmap/bump/clearing
  • /move_base/local_costmap/bump/data_type
  • /move_base/local_costmap/bump/marking
  • /move_base/local_costmap/bump/max_obstacle_height
  • /move_base/local_costmap/bump/min_obstacle_height
  • /move_base/local_costmap/bump/topic
  • /move_base/local_costmap/global_frame
  • /move_base/local_costmap/height
  • /move_base/local_costmap/inflation_radius
  • /move_base/local_costmap/map_type
  • /move_base/local_costmap/max_obstacle_height
  • /move_base/local_costmap/observation_sources
  • /move_base/local_costmap/obstacle_range
  • /move_base/local_costmap/origin_z
  • /move_base/local_costmap/publish_frequency
  • /move_base/local_costmap/publish_voxel_map
  • /move_base/local_costmap/raytrace_range
  • /move_base/local_costmap/resolution
  • /move_base/local_costmap/robot_base_frame
  • /move_base/local_costmap/robot_radius
  • /move_base/local_costmap/rolling_window
  • /move_base/local_costmap/scan/clearing
  • /move_base/local_costmap/scan/data_type
  • /move_base/local_costmap/scan/marking
  • /move_base/local_costmap/scan/max_obstacle_height
  • /move_base/local_costmap/scan/min_obstacle_height
  • /move_base/local_costmap/scan/topic
  • /move_base/local_costmap/static_map
  • /move_base/local_costmap/transform_tolerance
  • /move_base/local_costmap/update_frequency
  • /move_base/local_costmap/width
  • /move_base/local_costmap/z_resolution
  • /move_base/local_costmap/z_voxels
  • /move_base/oscillation_distance
  • /move_base/oscillation_timeout
  • /move_base/planner_frequency
  • /move_base/planner_patience
  • /move_base/shutdown_costmaps
  • /navigation_velocity_smoother/accel_lim_v
  • /navigation_velocity_smoother/accel_lim_w
  • /navigation_velocity_smoother/decel_factor
  • /navigation_velocity_smoother/frequency
  • /navigation_velocity_smoother/robot_feedback
  • /navigation_velocity_smoother/speed_lim_v
  • /navigation_velocity_smoother/speed_lim_w
  • /robot_description
  • /robot_state_publisher/publish_frequency
  • /rosdistro
  • /rosplan/data_path
  • /rosplan/domain_path
  • /rosplan/planner_path
  • /rosplan_interface_movebase/action_server
  • /rosplan_interface_movebase/pddl_action_name
  • /rosplan_knowledge_base/database_path
  • /rosplan_knowledge_base/use_unknowns
  • /rosplan_planning_system/data_path
  • /rosplan_planning_system/generate_default_problem
  • /rosplan_planning_system/max_dispatch_attempts
  • /rosplan_planning_system/planner_command
  • /rosplan_planning_system/problem_path
  • /rosplan_planning_system/strl_file_path
  • /rosplan_roadmap_server/cost_map_topic
  • /rosplan_roadmap_server/odom_topic
  • /rosplan_roadmap_server/rosplan/data_path
  • /rosplan_roadmap_server/static_map_service
  • /rosplan_roadmap_server/use_static_map
  • /rosplan_scene_database/database_path
  • /rosversion
  • /use_sim_time

NODES
/
amcl (amcl/amcl)
bumper2pointcloud (nodelet/nodelet)
cmd_vel_mux (nodelet/nodelet)
depthimage_to_laserscan (nodelet/nodelet)
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
kobuki_safety_controller (nodelet/nodelet)
laserscan_nodelet_manager (nodelet/nodelet)
map_server (map_server/map_server)
mobile_base_nodelet_manager (nodelet/nodelet)
move_base (move_base/move_base)
navigation_velocity_smoother (nodelet/nodelet)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
rosplan_interface_movebase (rosplan_interface_movebase/rpmovebase)
rosplan_knowledge_base (rosplan_knowledge_base/knowledgeBase)
rosplan_planning_system (rosplan_planning_system/planner)
rosplan_roadmap_server (rosplan_interface_mapping/rproadmapServer)
rosplan_scene_database (mongodb_store/mongodb_server.py)
rosplan_scene_message_store (mongodb_store/message_store_node.py)
rviz (rviz/rviz)
spawn_turtlebot_model (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [15268]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 1f412ed4-2f39-11e7-9670-0024d7ce5a44
process[rosout-1]: started with pid [15281]
started core service [/rosout]
process[gazebo-2]: started with pid [15295]
process[gazebo_gui-3]: started with pid [15301]
Gazebo multi-robot simulator, version 1.9.6
Copyright (C) 2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

process[spawn_turtlebot_model-4]: started with pid [15310]
Gazebo multi-robot simulator, version 1.9.6
Copyright (C) 2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

process[mobile_base_nodelet_manager-5]: started with pid [15312]
Msg Waiting for master.process[cmd_vel_mux-6]: started with pid [15340]
process[bumper2pointcloud-7]: started with pid [15371]
[ INFO] [1493730805.508278681]: Finished loading Gazebo ROS API Plugin.
Msg Waiting for master[ INFO] [1493730805.509206305]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...

Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 192.168.26.135
process[robot_state_publisher-8]: started with pid [15417]
process[laserscan_nodelet_manager-9]: started with pid [15447]
process[depthimage_to_laserscan-10]: started with pid [15476]
process[map_server-11]: started with pid [15494]
process[amcl-12]: started with pid [15510]
process[navigation_velocity_smoother-13]: started with pid [15593]
process[kobuki_safety_controller-14]: started with pid [15682]
process[move_base-15]: started with pid [15777]
process[rviz-16]: started with pid [15837]
ERROR: cannot launch node of type [rosplan_knowledge_base/knowledgeBase]: can't locate node [knowledgeBase] in package [rosplan_knowledge_base]
process[rosplan_scene_database-18]: started with pid [15913]
process[rosplan_scene_message_store-19]: started with pid [15936]
ERROR: cannot launch node of type [rosplan_planning_system/planner]: can't locate node [planner] in package [rosplan_planning_system]
ERROR: cannot launch node of type [rosplan_interface_mapping/rproadmapServer]: can't locate node [rproadmapServer] in package [rosplan_interface_mapping]
ERROR: cannot launch node of type [rosplan_interface_movebase/rpmovebase]: can't locate node [rpmovebase] in package [rosplan_interface_movebase]

Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 192.168.26.135
Warning [ModelDatabase.cc:335] Getting models from[http://gazebosim.org/models/]. This may take a few seconds.
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/meshes/dumpster.dae]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [MeshShape.cc:64] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://cube_20k/meshes/cube_20k.stl]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [MeshShape.cc:64] No mesh specified
Msg Waiting for model database update to complete...
[ INFO] [1493730875.604686684, 0.010000000]: Camera Plugin (robotNamespace = /), Info: Using the 'robotNamespace' param: '/'
[ INFO] [1493730875.672449451, 0.010000000]: Camera Plugin (ns = /) <tf_prefix_>, set to ""
Dbg Plugin model name: mobile_base
[ INFO] [1493730875.729310046, 0.010000000]: Will publish tf. [mobile_base]
[ INFO] [1493730875.738222293, 0.010000000]: GazeboRosKobuki plugin ready to go! [mobile_base]
Warning [RaySensor.cc:283] ranges not constructed yet (zero sized)
Warning [RaySensor.cc:283] ranges not constructed yet (zero sized)
Warning [RaySensor.cc:283] ranges not constructed yet (zero sized)
Warning [RaySensor.cc:283] ranges not constructed yet (zero sized)
Warning [RaySensor.cc:283] ranges not constructed yet (zero sized)
Warning [RaySensor.cc:283] ranges not constructed yet (zero sized)
[ INFO] [1493730875.750038303, 0.030000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1493730875.795279728, 0.070000000]: Physics dynamic reconfigure ready.
[spawn_turtlebot_model-4] process has finished cleanly
log file: /home/vahid/.ros/log/1f412ed4-2f39-11e7-9670-0024d7ce5a44/spawn_turtlebot_model-4*.log
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/meshes/dumpster.dae]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/scripts]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/scripts]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/textures]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/textures]

Warning [Visual.cc:774] Unable to get Material[Dumpster/Diffuse] for Geometry[Dumpster::link::visual. Object will appear white
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/scripts]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/scripts]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/textures]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/textures]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/scripts]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/scripts]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/textures]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/textures]
Error [ModelDatabase.cc:408] Unable to download model[model://cube_20k/meshes/cube_20k.stl]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/meshes/dumpster.dae]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/scripts]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/scripts]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/textures]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/textures]

Warning [Visual.cc:774] Unable to get Material[Dumpster/Diffuse] for Geometry[Dumpster::link::visual. Object will appear white
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/scripts]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/scripts]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/textures]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/textures]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/scripts]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/scripts]
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/materials/textures]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [RenderEngine.cc:409] URI doesn't exist[model://dumpster/materials/textures]
Error [ModelDatabase.cc:408] Unable to download model[model://cube_20k/meshes/cube_20k.stl]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://jersey_barrier/meshes/jersey_barrier.dae]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/meshes/dumpster.dae]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://cube_20k/meshes/cube_20k.stl]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://jersey_barrier/meshes/jersey_barrier.dae]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://dumpster/meshes/dumpster.dae]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified
Error [ModelDatabase.cc:408] Unable to download model[model://cube_20k/meshes/cube_20k.stl]
Error [SystemPaths.cc:371] File or path does not exist[""]
Error [Visual.cc:2072] No mesh specified

[ INFO] [1493730877.318801892, 1.590000000]: Loading from pre-hydro parameter style
[ INFO] [1493730877.360633013, 1.630000000]: Using plugin "static_layer"
[ INFO] [1493730877.428544205, 1.700000000]: Requesting the map...
[ INFO] [1493730877.626382263, 1.900000000]: Resizing costmap to 231 X 194 at 0.050000 m/pix
[ INFO] [1493730877.725980765, 2.000000000]: Received a 231 X 194 map at 0.050000 m/pix
[ INFO] [1493730877.730298825, 2.000000000]: Using plugin "obstacle_layer"
[ INFO] [1493730877.732612955, 2.000000000]: Subscribed to Topics: scan bump
[ INFO] [1493730877.800121512, 2.070000000]: Using plugin "inflation_layer"
[ INFO] [1493730877.954134676, 2.220000000]: Loading from pre-hydro parameter style
[ INFO] [1493730877.997926242, 2.270000000]: Using plugin "obstacle_layer"
[ INFO] [1493730878.060802801, 2.330000000]: Subscribed to Topics: scan bump
[ INFO] [1493730878.121963235, 2.390000000]: Using plugin "inflation_layer"
[ INFO] [1493730878.237420707, 2.500000000]: Created local_planner base_local_planner/TrajectoryPlannerROS
[ INFO] [1493730878.260525950, 2.530000000]: Sim period is set to 0.20
[ INFO] [1493730879.034581690, 3.300000000]: Recovery behavior will clear layer obstacles
[ INFO] [1493730879.103149710, 3.370000000]: Recovery behavior will clear layer obstacles
[ INFO] [1493730879.145982205, 3.410000000]: odom received!
`

Thank you for your help.
Best

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.