MalcolmMielle / Auto-Complete-Graph

A method to integrate an emergency map into a robot map, so that the robot can plan its way toward places it has not yet explored.
https://malcolmmielle.wordpress.com/2017/08/07/using-emergency-maps-to-help-robots-save-you-in-emergencies/
GNU General Public License v3.0
49 stars 25 forks source link

Is the program just can run in Indigo? #2

Closed root29 closed 6 years ago

root29 commented 6 years ago

My computer is Ubuntu16.04 (Kinetic),when I catkin_make:

########
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):
  catkin_package() DEPENDS on 'system_lib' but neither
  'system_lib_INCLUDE_DIRS' nor 'system_lib_LIBRARIES' is defined.
Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
  tools/ndt_feature_graph-SSRR2017/flirtlib_ros/CMakeLists.txt:96 (catkin_package)

-- +++ processing catkin package: 'ndt_feature'
-- ==> add_subdirectory(tools/ndt_feature_graph-SSRR2017/ndt_feature)
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by "ndt_registration"
  with any of the following names:

    ndt_registrationConfig.cmake
    ndt_registration-config.cmake

  Add the installation prefix of "ndt_registration" to CMAKE_PREFIX_PATH or
  set "ndt_registration_DIR" to a directory containing one of the above
  files.  If "ndt_registration" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  tools/ndt_feature_graph-SSRR2017/ndt_feature/CMakeLists.txt:7 (find_package)

-- Could not find the required component 'ndt_registration'. 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/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "ndt_registration"
  with any of the following names:

    ndt_registrationConfig.cmake
    ndt_registration-config.cmake

  Add the installation prefix of "ndt_registration" to CMAKE_PREFIX_PATH or
  set "ndt_registration_DIR" to a directory containing one of the above
  files.  If "ndt_registration" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  tools/ndt_feature_graph-SSRR2017/ndt_feature/CMakeLists.txt:7 (find_package)

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

Do you know why?Thank you very much!

MalcolmMielle commented 6 years ago

It also works on Kinetic and Lunar

root29 commented 6 years ago

thanks for your reply! but it seems "ndt_registration" can't find in github or wiki. So I always can not compile passed. Can you help me?

MalcolmMielle commented 6 years ago

You need the latest version on perception_oru and it's not yet on the official git repository. Let me check how to go on with this. I'll come back to you

root29 commented 6 years ago

yes! I can not find the latest version before. OK! I will wait for your reply. Thanks . You are so nice :) Have a good day.

MalcolmMielle commented 6 years ago

The changes should have been pushed onto perception_oru now :). Let me know if you have any more problems.

Also, try to use catkin tools when compiling the project by doing catkin build auto_complete_graph, that will only build the necesary dependency (and ndt_registration is not needed by this project). That will save you some compilation problems.

Reopen this if you have any more problems

root29 commented 6 years ago

Thanks !! I will try catkin tools. If you mean that catkin tool can solve the problem?

I just have a rough overview of your papers and videos, there are several questions below, hoping to get your answer: 1, to the robot emergency map size and the actual map is 1: 1? Given an emergency map of any size, does the algorithm adjust the scale when perceived in the real world?

2, the navigation target is previously given to the robot ? (Do robots know the location of the person to be rescued?)

3, I do not know where in the paper is: Figure 9a, The robot found a path to a room in the emergency map that was not yet visited by the robot.The target point is the person specified or robot found? Figure 9b,The robot added a door that wasn’t closed in the emergency map and the path can not be found anymore . will it automatically plan a new path?

Expression is not clear, please forgive me!

MalcolmMielle commented 6 years ago

I mean you can ignore the problem by not compiling that project that is unnecessary ;).

1) The emergency map is read from an image. The image is not scaled down and might be huge. However it will be scaled down by the initialization where you need to provide it with 2 (or 3 I don't remember) common points between the emergency and the robot map. Use the "Publish Point" Function of Rviz for that. One click on the emergency map, followed by a click on the robot map and so on.

2) Navigation is not handled by this package. The only thing done is the map matching and optimization. You have to find a way to handle the navigation yourself :).

3) Those figures are just example: A path was found toward an unexplored place but there was no victim or even reason for the robot to go there in the image. It was just a random place in the unexplored environment. Replanning will depend on your navigation algorithm.

root29 commented 6 years ago

Ok,I got it. Tomorrow l will try run it in my computer.

So, this algorithm just map match,right?

Thank you for reply me!

MalcolmMielle commented 6 years ago

Pretty much, yes. The algorithm fits inconsistent maps onto each other given a coarse matching ;).

root29 commented 6 years ago

If the algorithm can correct the old map according to the real world?

MalcolmMielle commented 6 years ago

I think I'm confusing you more than I'm helping right now

As written in the read me:

a method to integrate an emergency map into a robot map, so that the robot can plan its way toward places it has not yet explored.

It will correct the emergency map to fit what the robot mapped.

root29 commented 6 years ago

I got it now . In Short,It‘s a match algorithm from emergency map to real world Thanks for your all reply, If I have question I will reply you :)

In the video,Is multi-robots ?

root29 commented 6 years ago

https://github.com/OrebroUniversity/perception_oru/tree/port-kinetic

Is this a usable version?

MalcolmMielle commented 6 years ago

Yes

MalcolmMielle commented 6 years ago

Just as an update, since this code is "old" now, You should use it with this code on perception_oru from the same date. I'm going to update the readme for that