Git Product home page Git Product logo

mrpt-ros-pkg / mrpt_navigation Goto Github PK

View Code? Open in Web Editor NEW
150.0 150.0 92.0 34.47 MB

ROS 2 nodes wrapping core MRPT functionality: localization, autonomous navigation, rawlogs, etc. SLAM is in other packages.

Home Page: http://wiki.ros.org/mrpt_navigation

License: BSD 3-Clause "New" or "Revised" License

CMake 7.58% C++ 81.27% C 0.48% Python 10.60% Shell 0.08%
c-plus-plus mapping mrpt navigation robotics robotics-libraries ros ros2

mrpt_navigation's People

Contributors

artivis avatar ashishraste avatar bergercookie avatar corot avatar inounx avatar jlblancoc avatar jolting avatar julopvel avatar logrus avatar lukschwalb avatar maxbader avatar nbanyk avatar pabloinigoblasco avatar r-aguilera avatar raghavendersahdev avatar spsancti avatar srai22 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

mrpt_navigation's Issues

On mrpt_localization, it's not possible to select init_PDF_mode=1

To my understanding, init_PDF_mode can have to values: 0 for filling free space cells within the given bounds, 1 for a PDF using bounds to calculate the covariance. Is this right?

In current implementation, init_PDF_mode must be zero, or the initial pose won't be set (this error shows up).
With init_PDF_mode=0, I was getting issue #46 because in some maps, there aren't free cells within a 2x2 meters square around 0, 0, 0. I fixed this setting the square to 10x10. But the real solution is to use init_PDF_mode=1 (and trying it discovered this problem)

mrpt_navigation compiling error

Enviroment

OS: Debian 8.9
ROS: kinetic
######################
I build mrpt-master from source.
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
and set the environment variable:
export MRPT_DIR="/home/lvchaoshun/mrpt-master/build"
added it to the .bashrc.

Then
I compile the mrpt_navigation master version,QTCreator output is:

CMake Error at /home/lvchaoshun/mrpt-master/build/MRPTConfig.cmake:209 (MESSAGE):
ERROR: MRPT_FIND_COMPONENTS contains 'mrpt-reactivenav', not built in mrpt
(built ones:
mrpt-base;mrpt-bayes;mrpt-comms;mrpt-detectors;mrpt-graphs;mrpt-graphslam;mrpt-gui;mrpt-hmtslam;mrpt-hwdrivers;mrpt-kinematics;mrpt-maps;mrpt-nav;mrpt-obs;mrpt-opengl;mrpt-pbmap;mrpt-slam;mrpt-tfest;mrpt-topography;mrpt-vision)
Call Stack (most recent call first):
mrpt_navigation-master/mrpt_reactivenav2d/CMakeLists.txt:20 (find_package)

catkin_make output is:
/home/lvchaoshun/bzrobot_ws/src/mrpt_navigation-master/mrpt_localization/src/mrpt_localization/mrpt_localization.cpp: In member function ‘void PFLocalization::show3DDebug(mrpt::obs::CSensoryFrame::Ptr)’:
/home/lvchaoshun/bzrobot_ws/src/mrpt_navigation-master/mrpt_localization/src/mrpt_localization/mrpt_localization.cpp:364:45: error: ‘sleep’ was not declared in this scope
sleep(SHOW_PROGRESS_3D_REAL_TIME_DELAY_MS_);
^
At global scope:

Anyone can help me?
Thanks~

The 0.1.16 Kinetic release failed to generate ubuntu targets

All ubuntu jobs are failing.

http://build.ros.org/view/Kbin_uW64/job/Ksrc_uW__mrpt_bridge__ubuntu_wily__source/48/console

This looks like bloom did not complete operations but continued anyway.

tfoote@snowman:/tmp/mrpt_navigation-release Last: [0] (0s Seconds)
$ git tag -l | grep 0.1.16
debian/ros-jade-mrpt-bridge_0.1.16-0_trusty
debian/ros-jade-mrpt-bridge_0.1.16-0_utopic
debian/ros-jade-mrpt-bridge_0.1.16-0_vivid
debian/ros-jade-mrpt-local-obstacles_0.1.16-0_trusty
debian/ros-jade-mrpt-local-obstacles_0.1.16-0_utopic
debian/ros-jade-mrpt-local-obstacles_0.1.16-0_vivid
debian/ros-jade-mrpt-localization_0.1.16-0_trusty
debian/ros-jade-mrpt-localization_0.1.16-0_utopic
debian/ros-jade-mrpt-localization_0.1.16-0_vivid
debian/ros-jade-mrpt-map_0.1.16-0_trusty
debian/ros-jade-mrpt-map_0.1.16-0_utopic
debian/ros-jade-mrpt-map_0.1.16-0_vivid
debian/ros-jade-mrpt-msgs_0.1.16-0_trusty
debian/ros-jade-mrpt-msgs_0.1.16-0_utopic
debian/ros-jade-mrpt-msgs_0.1.16-0_vivid
debian/ros-jade-mrpt-navigation_0.1.16-0_trusty
debian/ros-jade-mrpt-navigation_0.1.16-0_utopic
debian/ros-jade-mrpt-navigation_0.1.16-0_vivid
debian/ros-jade-mrpt-rawlog_0.1.16-0_trusty
debian/ros-jade-mrpt-rawlog_0.1.16-0_utopic
debian/ros-jade-mrpt-rawlog_0.1.16-0_vivid
debian/ros-jade-mrpt-reactivenav2d_0.1.16-0_trusty
debian/ros-jade-mrpt-reactivenav2d_0.1.16-0_utopic
debian/ros-jade-mrpt-reactivenav2d_0.1.16-0_vivid
debian/ros-jade-mrpt-tutorials_0.1.16-0_trusty
debian/ros-jade-mrpt-tutorials_0.1.16-0_utopic
debian/ros-jade-mrpt-tutorials_0.1.16-0_vivid
debian/ros-kinetic-mrpt-bridge_0.1.16-0_jessie
debian/ros-kinetic-mrpt-local-obstacles_0.1.16-0_jessie
debian/ros-kinetic-mrpt-localization_0.1.16-0_jessie
debian/ros-kinetic-mrpt-map_0.1.16-0_jessie
debian/ros-kinetic-mrpt-msgs_0.1.16-0_jessie
debian/ros-kinetic-mrpt-navigation_0.1.16-0_jessie
debian/ros-kinetic-mrpt-rawlog_0.1.16-0_jessie
debian/ros-kinetic-mrpt-reactivenav2d_0.1.16-0_jessie
debian/ros-kinetic-mrpt-tutorials_0.1.16-0_jessie
release/jade/mrpt_bridge/0.1.16-0
release/jade/mrpt_local_obstacles/0.1.16-0
release/jade/mrpt_localization/0.1.16-0
release/jade/mrpt_map/0.1.16-0
release/jade/mrpt_msgs/0.1.16-0
release/jade/mrpt_navigation/0.1.16-0
release/jade/mrpt_rawlog/0.1.16-0
release/jade/mrpt_reactivenav2d/0.1.16-0
release/jade/mrpt_tutorials/0.1.16-0
release/kinetic/mrpt_bridge/0.1.16-0
release/kinetic/mrpt_local_obstacles/0.1.16-0
release/kinetic/mrpt_localization/0.1.16-0
release/kinetic/mrpt_map/0.1.16-0
release/kinetic/mrpt_msgs/0.1.16-0
release/kinetic/mrpt_navigation/0.1.16-0
release/kinetic/mrpt_rawlog/0.1.16-0
release/kinetic/mrpt_reactivenav2d/0.1.16-0
release/kinetic/mrpt_tutorials/0.1.16-0
rpm/ros-jade-mrpt-bridge-0.1.16-0_21
rpm/ros-jade-mrpt-bridge-0.1.16-0_22
rpm/ros-jade-mrpt-local-obstacles-0.1.16-0_21
rpm/ros-jade-mrpt-local-obstacles-0.1.16-0_22
rpm/ros-jade-mrpt-localization-0.1.16-0_21
rpm/ros-jade-mrpt-localization-0.1.16-0_22
rpm/ros-jade-mrpt-map-0.1.16-0_21
rpm/ros-jade-mrpt-map-0.1.16-0_22
rpm/ros-jade-mrpt-msgs-0.1.16-0_21
rpm/ros-jade-mrpt-msgs-0.1.16-0_22
rpm/ros-jade-mrpt-navigation-0.1.16-0_21
rpm/ros-jade-mrpt-navigation-0.1.16-0_22
rpm/ros-jade-mrpt-rawlog-0.1.16-0_21
rpm/ros-jade-mrpt-rawlog-0.1.16-0_22
rpm/ros-jade-mrpt-reactivenav2d-0.1.16-0_21
rpm/ros-jade-mrpt-reactivenav2d-0.1.16-0_22
rpm/ros-jade-mrpt-tutorials-0.1.16-0_21
rpm/ros-jade-mrpt-tutorials-0.1.16-0_22
rpm/ros-kinetic-mrpt-bridge-0.1.16-0_23
rpm/ros-kinetic-mrpt-bridge-0.1.16-0_24
rpm/ros-kinetic-mrpt-local-obstacles-0.1.16-0_23
rpm/ros-kinetic-mrpt-local-obstacles-0.1.16-0_24
rpm/ros-kinetic-mrpt-localization-0.1.16-0_23
rpm/ros-kinetic-mrpt-localization-0.1.16-0_24
rpm/ros-kinetic-mrpt-map-0.1.16-0_23
rpm/ros-kinetic-mrpt-map-0.1.16-0_24
rpm/ros-kinetic-mrpt-msgs-0.1.16-0_23
rpm/ros-kinetic-mrpt-msgs-0.1.16-0_24
rpm/ros-kinetic-mrpt-navigation-0.1.16-0_23
rpm/ros-kinetic-mrpt-navigation-0.1.16-0_24
rpm/ros-kinetic-mrpt-rawlog-0.1.16-0_23
rpm/ros-kinetic-mrpt-rawlog-0.1.16-0_24
rpm/ros-kinetic-mrpt-reactivenav2d-0.1.16-0_23
rpm/ros-kinetic-mrpt-reactivenav2d-0.1.16-0_24
rpm/ros-kinetic-mrpt-tutorials-0.1.16-0_23
rpm/ros-kinetic-mrpt-tutorials-0.1.16-0_24
upstream/0.1.16
tfoote@snowman:/tmp/mrpt_navigation-release Last: [0] (0s Seconds)
$ git tag -l | grep 0.1.15
debian/ros-kinetic-mrpt-bridge_0.1.15-0_jessie
debian/ros-kinetic-mrpt-bridge_0.1.15-0_wily
debian/ros-kinetic-mrpt-bridge_0.1.15-0_xenial
debian/ros-kinetic-mrpt-local-obstacles_0.1.15-0_jessie
debian/ros-kinetic-mrpt-local-obstacles_0.1.15-0_wily
debian/ros-kinetic-mrpt-local-obstacles_0.1.15-0_xenial
debian/ros-kinetic-mrpt-localization_0.1.15-0_jessie
debian/ros-kinetic-mrpt-localization_0.1.15-0_wily
debian/ros-kinetic-mrpt-localization_0.1.15-0_xenial
debian/ros-kinetic-mrpt-map_0.1.15-0_jessie
debian/ros-kinetic-mrpt-map_0.1.15-0_wily
debian/ros-kinetic-mrpt-map_0.1.15-0_xenial
debian/ros-kinetic-mrpt-msgs_0.1.15-0_jessie
debian/ros-kinetic-mrpt-msgs_0.1.15-0_wily
debian/ros-kinetic-mrpt-msgs_0.1.15-0_xenial
debian/ros-kinetic-mrpt-navigation_0.1.15-0_jessie
debian/ros-kinetic-mrpt-navigation_0.1.15-0_wily
debian/ros-kinetic-mrpt-navigation_0.1.15-0_xenial
debian/ros-kinetic-mrpt-rawlog_0.1.15-0_jessie
debian/ros-kinetic-mrpt-rawlog_0.1.15-0_wily
debian/ros-kinetic-mrpt-rawlog_0.1.15-0_xenial
debian/ros-kinetic-mrpt-reactivenav2d_0.1.15-0_jessie
debian/ros-kinetic-mrpt-reactivenav2d_0.1.15-0_wily
debian/ros-kinetic-mrpt-reactivenav2d_0.1.15-0_xenial
debian/ros-kinetic-mrpt-tutorials_0.1.15-0_jessie
debian/ros-kinetic-mrpt-tutorials_0.1.15-0_wily
debian/ros-kinetic-mrpt-tutorials_0.1.15-0_xenial
release/kinetic/mrpt_bridge/0.1.15-0
release/kinetic/mrpt_local_obstacles/0.1.15-0
release/kinetic/mrpt_localization/0.1.15-0
release/kinetic/mrpt_map/0.1.15-0
release/kinetic/mrpt_msgs/0.1.15-0
release/kinetic/mrpt_navigation/0.1.15-0
release/kinetic/mrpt_rawlog/0.1.15-0
release/kinetic/mrpt_reactivenav2d/0.1.15-0
release/kinetic/mrpt_tutorials/0.1.15-0
rpm/ros-kinetic-mrpt-bridge-0.1.15-0_23
rpm/ros-kinetic-mrpt-bridge-0.1.15-0_24
rpm/ros-kinetic-mrpt-local-obstacles-0.1.15-0_23
rpm/ros-kinetic-mrpt-local-obstacles-0.1.15-0_24
rpm/ros-kinetic-mrpt-localization-0.1.15-0_23
rpm/ros-kinetic-mrpt-localization-0.1.15-0_24
rpm/ros-kinetic-mrpt-map-0.1.15-0_23
rpm/ros-kinetic-mrpt-map-0.1.15-0_24
rpm/ros-kinetic-mrpt-msgs-0.1.15-0_23
rpm/ros-kinetic-mrpt-msgs-0.1.15-0_24
rpm/ros-kinetic-mrpt-navigation-0.1.15-0_23
rpm/ros-kinetic-mrpt-navigation-0.1.15-0_24
rpm/ros-kinetic-mrpt-rawlog-0.1.15-0_23
rpm/ros-kinetic-mrpt-rawlog-0.1.15-0_24
rpm/ros-kinetic-mrpt-reactivenav2d-0.1.15-0_23
rpm/ros-kinetic-mrpt-reactivenav2d-0.1.15-0_24
rpm/ros-kinetic-mrpt-tutorials-0.1.15-0_23
rpm/ros-kinetic-mrpt-tutorials-0.1.15-0_24
upstream/0.1.15

line 89 in mrpt_bridge/CMakeLists.txt makes Problems: no ${MRPT_LIBS} as Dependency

get Error:

CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-base" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-graphs" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-maps" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-obs" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-opengl" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-slam" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-tfest" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-vision" of target "test_Bridge" does not exist.

solved it with edit line 89 in CMakeLists.txt of mrpt_bridge
and removed ${MRPT_LIBS} as dependency
imo it makes no sense to put libraries there.

roslaunch mrpt_localization demo_ro.launch error

when i run with roslaunch

i got ERROR: cannot launch node of type [mrpt_localization/mrpt_localization_node]: can't locate node [mrpt_localization_node] in package [mrpt_localization]

and catkin_make is not compiled
make[2]: *** [mrpt_navigation/mrpt_localization/CMakeFiles/mrpt_localization.dir/src/mrpt_localization/mrpt_localization.cpp.o] Error 1
make[1]: *** [mrpt_navigation/mrpt_localization/CMakeFiles/mrpt_localization.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [mrpt_navigation/mrpt_reactivenav2d/CMakeFiles/mrpt_reactivenav2d_node.dir/src/mrpt_reactivenav2d_node.cpp.o] Error 1
make[1]: *** [mrpt_navigation/mrpt_reactivenav2d/CMakeFiles/mrpt_reactivenav2d_node.dir/all] Error 2
make: *** [all] Error 2

so what should i do??

best regard

Iqbal A. Dahlan
Postgraduate
Bandung Institute of Technology

mrpt_reactivenav2d compilation fails

After having pulled the latest changes from the MRPT master branch as well as the latest changes from this repository, the mrpt_reactivenav2d doesn't compile successfully and produces the following
error_message

MRPT Version: 1.5.0
OS: Ubuntu 14.04
ROS Distro: Indigo

Build error in ros-indigo

My os : Ubuntu 14.04 and ros-indigo

Today I update mrpt_navigation code then rebuild that provide error

/usr/include/mrpt/base/include/mrpt/math/CMatrixTemplate.h: In constructor ‘mrpt::math::CMatrixTemplate::CMatrixTemplate(std::size_t, std::size_t, V (&)[N])’:
/usr/include/mrpt/base/include/mrpt/utils/mrpt_macros.h:257:83: error: there are no arguments to ‘static_assert’ that depend on a template parameter, so a declaration of ‘static_assert’ must be available [-fpermissive]
#define MRPT_COMPILE_TIME_ASSERT(expression) static_assert(expression,#expression);
^
/usr/include/mrpt/base/include/mrpt/math/CMatrixTemplate.h:160:5: note: in expansion of macro ‘MRPT_COMPILE_TIME_ASSERT’
MRPT_COMPILE_TIME_ASSERT(N!=0)
^
/usr/include/mrpt/base/include/mrpt/utils/mrpt_macros.h:257:83: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
#define MRPT_COMPILE_TIME_ASSERT(expression) static_assert(expression,#expression);
^
/usr/include/mrpt/base/include/mrpt/math/CMatrixTemplate.h:160:5: note: in expansion of macro ‘MRPT_COMPILE_TIME_ASSERT’
MRPT_COMPILE_TIME_ASSERT(N!=0)

how I fix it ? Thanks.

Are ObservationRangeBeacon measures used on localization?

Hi all, I'm trying to incorporate mrpt_msgs/ObservationRangeBeacon measures in mrpt_localization. Filter clearly gets updated (I don't use laser input anymore and still particles dance) but seems to ignore the range beacon measures:

2016-11-08_165101

The white arrow represents the robot pose relative to the beacon. I move 20 cm every 5 seconds but nothing changes in the filter. Moreover, particles get more and more disperse with time:

image

Is there any problem with this feature? Or do I need to change something in the configuration? The mrpt.ini file seems fine to me:

[MetricMap]
# Creation of maps:
occupancyGrid_count=1
gasGrid_count=0
landmarksMap_count=0
pointsMap_count=0
beaconMap_count=0

# Selection of map for likelihood: (fuseAll=-1,occGrid=0, points=1,landmarks=2,gasGrid=3)
likelihoodMapSelection=-1

# Enables (1) / Disables (0) insertion into specific maps:
enableInsertion_pointsMap=1
enableInsertion_landmarksMap=1
enableInsertion_gridMaps=1
enableInsertion_gasGridMaps=1
enableInsertion_beaconMap=1

My range beacon messages looks like this:

header: 
  seq: 23673
  stamp: 
    secs: 12081
    nsecs: 400000000
  frame_id: Seg_54W1_1
sensor_pose_on_robot: 
  position: 
    x: 0.0
    y: 0.0
    z: 0.0
  orientation: 
    x: 0.0
    y: 0.0
    z: 0.0
    w: 1.0
min_sensor_distance: 0.2
max_sensor_distance: 1.0
sensor_std_range: 0.015
sensed_data: 
  - 
    range: 0.586409630196
    id: -1

where Seg_54W1_1 is the frame of the beacon.

Btw, if this works, I'll also implement a callback for ObservationRangeBearing. I suppose there's no reason to use ranges but not range + bearing, right?

Version don't match report

I install the MRPT master from source on debian 9 stretch.
$ mkdir build
$ cd build
$ cmake ..
$ make j4
$ sudo make install

And then I clone the mrpt_navigation-master:
$ cd ~/catkin_ws/src
$ git clone https://github.com/mrpt-ros-pkg/mrpt_navigation
$ cd ..
$ catkin_make

Output:
`-- ==> add_subdirectory(mrpt_navigation-master/mrpt_reactivenav2d)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- MRPT_VERSION: 1.9.9
-- MRPT_INCLUDE_DIRS: /usr/include/eigen3;/opt/ros/lunar/include;/usr/local/include/mrpt/mrpt-config/;/usr/include/suitesparse;/usr/local/include/mrpt/base/include;/usr/local/include/mrpt/graphs/include;/usr/local/include/mrpt/maps/include;/usr/local/include/mrpt/kinematics/include;/usr/local/include/mrpt/obs/include;/usr/local/include/mrpt/opengl/include;/usr/local/include/mrpt/nav/include
-- +++ processing catkin package: 'pose_cov_ops'
-- ==> add_subdirectory(pose_cov_ops-master)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
CMake Warning at /opt/ros/lunar/share/catkin/cmake/catkin_package.cmake:166 (message):
catkin_package() DEPENDS on 'mrpt' but neither 'mrpt_INCLUDE_DIRS' nor
'mrpt_LIBRARIES' is defined.
Call Stack (most recent call first):
/opt/ros/lunar/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
pose_cov_ops-master/CMakeLists.txt:85 (catkin_package)

-- +++ processing catkin package: 'mrpt_localization'
-- ==> add_subdirectory(mrpt_navigation-master/mrpt_localization)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Configuring done
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-base" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-graphs" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-maps" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-obs" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-opengl" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-slam" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-tfest" of target "test_Bridge" does not exist.
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-vision" of target "test_Bridge" does not exist.

-- Generating done
-- Build files have been written to: /home/lvchaoshun/catkin_ws/build
Invoking "cmake" failed`

I think the mrpt master version don't match the mrpt_navigation master version.

So, anyone can help me?
Best regards!

How to generate .simplemap file and rawlog files on my own dataset?

Hi all !

I'm trying to implement the mrpt_localization (particle filter localization) based on my own data.
What I have are the rosbag file (collect by Husky robot) and .pgm / .yaml file (collected by running Hector_SLAM and map_server).

But after checking the files on www.mrpt.org, I still don't know how to generate the .simplemap file and the .rawlog file.
Do you have any advice or commend for this?
Thanks!

@jlblancoc @maxbader

catkin_make Error

I installed mrpt 1.5.3 from source on my Debian 9 stretch , and I execute " sudo make install ".

There is some error when i compile the mrpt-ros-pkg/mrpt_navigation package use catkin_make .

-- +++ processing catkin package: 'mrpt_localization'
-- ==> add_subdirectory(mrpt_navigation-master/mrpt_localization)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Configuring done
CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-base" of target "test_Bridge" does not exist.

CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-graphs" of target "test_Bridge" does not exist.

CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-maps" of target "test_Bridge" does not exist.

CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-obs" of target "test_Bridge" does not exist.

CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-opengl" of target "test_Bridge" does not exist.

CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-slam" of target "test_Bridge" does not exist.

CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-tfest" of target "test_Bridge" does not exist.

CMake Error at mrpt_navigation-master/mrpt_bridge/CMakeLists.txt:89 (add_dependencies):
The dependency target "mrpt-vision" of target "test_Bridge" does not exist.

-- Generating done
-- Build files have been written to: /home/lvchaoshun/catkin_ws/build
Invoking "cmake" failed

Anyone can help me, thanks!

Error compiling after 22 March 2017

Hello!

After 22 March, more or less, I can't compile the mrpt navigation pakage anymore, as I already said to you.
I think it somehow the mrpt_reactivena2d node again.

/home/jorge/catkin_ws/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:269:23: error: cannot declare field ‘ReactiveNav2DNode::m_reactive_if’ to be of abstract type ‘ReactiveNav2DNode::MyReactiveInterface’ MyReactiveInterface m_reactive_if; ^ /home/jorge/catkin_ws/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:111:9: note: because the following virtual functions are pure within ‘ReactiveNav2DNode::MyReactiveInterface’: struct MyReactiveInterface : ^ In file included from /usr/include/mrpt/nav/include/mrpt/nav/reactive/CAbstractNavigator.h:11:0, from /usr/include/mrpt/nav/include/mrpt/nav/reactive/CWaypointsNavigator.h:11, from /usr/include/mrpt/nav/include/mrpt/nav/reactive/CAbstractPTGBasedReactive.h:12, from /usr/include/mrpt/nav/include/mrpt/nav/reactive/CReactiveNavigationSystem.h:12, from /home/jorge/catkin_ws/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:42: /usr/include/mrpt/nav/include/mrpt/nav/reactive/CRobot2NavInterface.h:49:16: note: virtual bool mrpt::nav::CRobot2NavInterface::getCurrentPoseAndSpeeds(mrpt::math::TPose2D&, mrpt::math::TTwist2D&, mrpt::system::TTimeStamp&, mrpt::math::TPose2D&, std::__cxx11::string&) virtual bool getCurrentPoseAndSpeeds(

It would be nice if someone could fix it since I'm very new to ROS and I dont understand any of those errors.

Thanks!

How to convert rawlog to bag(ROS)

I want to convert the rawlog file to a bag file(ROS), so I play the rawlog file through the rawlog_play_node and record it using rosbag record. But the rosbag file I got finally contains the following information, not including Odometry information.

Node [/rawlog_play_node]
Publications: 
 * /beacon [mrpt_msgs/ObservationRangeBeacon]
 * /landmark [mrpt_msgs/ObservationRangeBearing]
 * /rawlog_play_node/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
 * /rawlog_play_node/parameter_updates [dynamic_reconfigure/Config]
 * /rosout [rosgraph_msgs/Log]
 * /scan [sensor_msgs/LaserScan]
 * /tf [tf2_msgs/TFMessage]

So I think this way is invalid. Anyone knows how to convert rawlog to bag?

MRPT EXCEPTION at "mrpt::math::CRuntimeCompiledExpression::compile"

I installed the mrpt-1.5.0 on my Debian 8 & ROS Kinetic.
I compiled the ros_navigation and run the package mrpt_reactiveNav2d on my robot.
But i get MRPT EXCEPTION when send a goal to the node mrpt_reactiveNav2d:

[MRPT_navigator|DEBUG|10:04:46.4866] [CAbstractNavigator::navigationStep()] Navigation Params:
navparams. Single target:
target_coords = (2.785,-0.022,-0.014 deg)
target_frame_id = "map"
targetAllowedDistance = 0.400
targetIsRelative = NO
targetIsIntermediaryWaypoint = NO
targetDesiredRelSpeed = 0.05
restrict_PTG_indices: []

=============== MRPT EXCEPTION =============
void mrpt::math::CRuntimeCompiledExpression::compile(const string&, const std::map<std::basic_string, double>&, const string&), line 49:
Error compiling expression (name=score: collision_free_distance): var effective_trg_d_norm := max(0,target_d_norm-move_cur_d); if (collision_free_distance>(effective_trg_d_norm+0.05), 1.0, collision_free_distance). Error: ERR186 - Undefined symbol: 'target_d_norm'
[MRPT_navigator|ERROR|08:43:19.8529] [CAbstractNavigator::navigationStep()] Stoping Navigation due to a NAV_ERROR state!

sometimes this error:
=============== MRPT EXCEPTION =============
int mrpt::nav::CMultiObjectiveMotionOptimizerBase::decide(const std::vectormrpt::nav::TCandidateMovementPTG&, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo&), line 67:
Error: Expression name collision_free_distance already exists as an input variable.
[MRPT_navigator|ERROR|10:27:43.8996] [CAbstractNavigator::navigationStep()] Stoping Navigation due to a NAV_ERROR state!

Is the mrpt library's problem or is my program configuration problem?

" cannot find -lmrpt-base-dbg" problem

I build mrpt-1.3.2 from source, and I want to build mrpt_navigation from source.
I use these commands:

$ cd catkin_ws/src
$ git clone https://github.com/mrpt-ros-pkg/mrpt_navigation.git
$ cd ..
$ catkin_make

But when I run catkin_make , I got 2 errors like this:

siat@siat-ThinkPad:~/catkin_ws$ catkin_make
Base path: /home/siat/catkin_ws
Source space: /home/siat/catkin_ws/src
Build space: /home/siat/catkin_ws/build
Devel space: /home/siat/catkin_ws/devel
Install space: /home/siat/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/siat/catkin_ws/build"
####
####
#### Running command: "make -j4 -l4" in "/home/siat/catkin_ws/build"
####
[  0%] [  0%] Built target std_msgs_generate_messages_py
Built target geometry_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_cpp
[  1%] [  2%] Built target talker
Built target test1
Linking CXX shared library /home/siat/catkin_ws/devel/lib/libmrpt_bridge.so
/usr/bin/ld: cannot find -lmrpt-base-dbg
/usr/bin/ld: cannot find -lmrpt-opengl-dbg
/usr/bin/ld: cannot find -lmrpt-obs-dbg
/usr/bin/ld: cannot find -lmrpt-maps-dbg
/usr/bin/ld: cannot find -lmrpt-vision-dbg
/usr/bin/ld: cannot find -lmrpt-tfest-dbg
/usr/bin/ld: cannot find -lmrpt-slam-dbg
collect2: error: ld returned 1 exit status
make[2]: *** [/home/siat/catkin_ws/devel/lib/libmrpt_bridge.so] 错误 1
make[1]: *** [mrpt_navigation/mrpt_bridge/CMakeFiles/mrpt_bridge.dir/all] 错误 2
make[1]: *** 正在等待未完成的任务....
[  2%] [  2%] Built target _mrpt_msgs_generate_messages_check_deps_ObservationRangeBearing
Built target _mrpt_msgs_generate_messages_check_deps_SingleRangeBearingObservation
Linking CXX shared library /home/siat/catkin_ws/devel/lib/libmrpt_localization_core.so
/usr/bin/ld: cannot find -lmrpt-base-dbg
/usr/bin/ld: cannot find -lmrpt-opengl-dbg
/usr/bin/ld: cannot find -lmrpt-gui-dbg
/usr/bin/ld: cannot find -lmrpt-obs-dbg
/usr/bin/ld: cannot find -lmrpt-vision-dbg
/usr/bin/ld: cannot find -lmrpt-tfest-dbg
/usr/bin/ld: cannot find -lmrpt-maps-dbg
/usr/bin/ld: cannot find -lmrpt-slam-dbg
collect2: error: ld returned 1 exit status
make[2]: *** [/home/siat/catkin_ws/devel/lib/libmrpt_localization_core.so] 错误 1
make[1]: *** [mrpt_navigation/mrpt_localization/CMakeFiles/mrpt_localization_core.dir/all] 错误 2
make: *** [all] 错误 2
Invoking "make -j4 -l4" failed

Could anyone help me?

mrpt_reactivenav2d does not generate velocity commands

Hi,

I have been trying to launch mrpt_reactivenav2d using stage_ros + fake_navigation + map_server. (The reason being, mvsim does not seem to be compatible with MRPT 1.9.9 >= yet)

So, every node starts ok, but when I send a goal to the navigator (from a point clicked in rviz) I get an error and navigation is cancelled due to a timeout.

These are the tag nodes I think are relevant. My guess is the problem lies in the ".ini" files in the package itself since stage responds normally to my keyboard commands and the vehicle shape is received by the reactive node without trouble. Note that I am using the config files it provides the repository. Or maybe mvsim plays a role that I am not accounting for.

<node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" launch-prefix="$(arg launch_prefix)" />

<node pkg="fake_localization" type="fake_localization" name="fake_localization" output="screen">	    
	    <param name="odom_frame_id" value="odom"/>
	    <param name="global_frame_id" value="/map"/>
	    <param name="base_frame_id" value="base_link"/>
</node>

<node pkg="stage_ros" type="stageros" name="stage_ros" respawn="false" output="screen" args="$(arg world_file)" >
    <param name="laser_scan_topic" value="/laser_scan"/>
    <param name="laser_frame_id" value="/laser_stage" />
    <param name="disable_odometry" value="$(arg disable_odometry)" />  #if true, no topic, neither tf transform are published for odometry
    <param name="odom_topic" value="/odom"/>
    <param name="odom_frame_id" value="/odom" />
</node> 

<node pkg="mrpt_local_obstacles" type="mrpt_local_obstacles_node" name="mrpt_local_obstacles_node" output="screen">
		<param name="source_topics_2dscan" value="laser_scan"/>
		<param name="show_gui" value="false"/>
		<param name="time_window" value="60"/>
</node>

<!-- 
I'm publishing the robot shape in a very simple node found here:
https://github.com/MariotoA/shape_publisher
-->
<node pkg="shape_publisher" type="shape_publisher" name="shape_publisher" output="screen" launch-prefix="xterm -e"/>

<node pkg="mrpt_reactivenav2d" type="mrpt_reactivenav2d_node" name="mrpt_reactivenav2d_node" output="screen">
<!-- *Important*: This external config file holds the most important navigation settings --> 
	<param name="cfg_file_reactive" value="$(find mrpt_reactivenav2d)/tutorial/reactive2d_config.ini"/> 
	<!-- This is to allow the reactive responsive to RVIZ GUI commands -->
	<remap from="reactive_nav_goal" to="/move_base_simple/goal" />
	<!-- Enable logs to ~/.ros/reactivenav.logs , use navlog-viewer to open them -->
	<!--<param name="save_nav_log" value="true"/> -->
	<param name="topic_robot_shape" value="/chassis_polygon" /> 
</node>

<node name="rviz_player" pkg="rviz" type="rviz" args="-d $(find tfg_reactive_pkg)/rviz/simbot_reactive_only.rviz"/>

This is the error trace itself:

[ INFO] [1524665257.040733976, 7.600000000]: Nav target received via topic sub: (2.555,1.869, -23.832deg) [frame_id=/map]
[ INFO] [1524665257.041667984, 7.600000000]: [navigateTo] Starting navigation to [2.554826 1.868601 -23.831614]
[MRPT_navigator|INFO |16:07:37.0436] [CAbstractNavigator::navigationStep()] Starting Navigation. Watchdog initiated...
[MRPT_navigator|DEBUG|16:07:37.0441] [CAbstractNavigator::navigationStep()] Navigation Params:
navparams. Single target:
target_coords = (0.000,0.000,0.000 deg)
target_frame_id = "map"
targetAllowedDistance = 0.500
targetIsRelative = NO
targetIsIntermediaryWaypoint = NO
targetDesiredRelSpeed = 0.05
multiple_targets:
target[0]:
target_coords = (2.555,1.869,0.000 deg)
target_frame_id = "map"
targetAllowedDistance = 0.400
targetIsRelative = NO
targetIsIntermediaryWaypoint = NO
targetDesiredRelSpeed = 0.05
restrict_PTG_indices: []

[MRPT_navigator|DEBUG|16:07:37.0530] CWaypointsNavigator::checkHasReachedTarget() called with targetDist=3.60555 return=0 waypoint: wps.timestamp_nav_started=INVALID_TIMESTAMP
[MRPT_navigator|INFO |16:07:37.0566] [CReactiveNavigationSystem::STEP1_InitPTGs] Initializing PTG#0 (CPTG_DiffDrive_C,K=1)...

[CPTG_DiffDrive_CollisionGridBased::initialize] Starting... *** THIS MAY TAKE A WHILE, BUT MUST BE COMPUTED ONLY ONCE!! **
Initializing PTG './ReacNavGrid_000.dat.gz'...loaded from file OK
[MRPT_navigator|INFO |16:07:41.0283] Done!
[MRPT_navigator|INFO |16:07:41.0287] [CReactiveNavigationSystem::STEP1_InitPTGs] Initializing PTG#1 (CPTG_DiffDrive_alpha,av=57deg,aw=57deg)...

[CPTG_DiffDrive_CollisionGridBased::initialize] Starting... *** THIS MAY TAKE A WHILE, BUT MUST BE COMPUTED ONLY ONCE!! **
Initializing PTG './ReacNavGrid_001.dat.gz'...loaded from file OK
[MRPT_navigator|INFO |16:07:50.2053] Done!
[MRPT_navigator|INFO |16:07:50.2057] [CReactiveNavigationSystem::STEP1_InitPTGs] Initializing PTG#2 (CPTG_DiffDrive_C,K=-1)...

[CPTG_DiffDrive_CollisionGridBased::initialize] Starting... *** THIS MAY TAKE A WHILE, BUT MUST BE COMPUTED ONLY ONCE!! **
Initializing PTG './ReacNavGrid_002.dat.gz'...loaded from file OK
[MRPT_navigator|INFO |16:07:54.4521] Done!
[MRPT_navigator|ERROR|16:08:32.6288] [CAbstractPTGBasedReactive::performNavigationStep] Stopping robot and finishing navigation due to exception:

=============== MRPT EXCEPTION =============
void mrpt::expr::CRuntimeCompiledExpression::compile(const string&, const std::map<std::__cxx11::basic_string, double>&, const string&), line 71:
Error compiling expression (name=score: collision_free_distance): var effective_trg_d_norm := max(0,target_d_norm-move_cur_d); if (collision_free_distance>(effective_trg_d_norm+0.05), 1.0, collision_free_distance). Error: ERR186 - Undefined symbol: 'target_d_norm':
[MRPT_navigator|DEBUG|16:08:32.8244] CWaypointsNavigator::checkHasReachedTarget() called with targetDist=3.60555 return=0 waypoint: wps.timestamp_nav_started=INVALID_TIMESTAMP
[MRPT_navigator|WARN |16:08:32.8289] Timeout approaching the target. Aborting navigation.
[MRPT_navigator|ERROR|16:08:33.0357] [CAbstractNavigator::navigationStep()] Stopping Navigation due to a NAV_ERROR state!


I am currently using xubuntu-16.04, MRPT 1.9.9 (I think. I followed this and mrpt/utils does not exist for example) and ros-kinetic.

Also, I noticed just now this is the same bug as this one, but I get two navparams for some reason, one being, I assume, the robot pose and the other the goal I send.

I've emphasized in bold text the parts of the trace that seem suspicious to me. I did not include any map files since I believe the problem does not come from there, but maybe i'm mistaken, just ask if you need them.

Any idea? By the way, newbie here, so insights or explanations are well appreciated. Thanks a lot.

Best regards.


Update:
I've tried changing a couple of things myself.

First, I've modified my shape_publisher to stop sending the shape to the reactive node after five seconds, that way the shape is most likely set at the start without continuously changing it. You can find it here.
Then I get a similar exception but with Expression name collision_free_distance instead.

[MRPT_navigator|ERROR|19:06:34.2202] [CAbstractPTGBasedReactive::performNavigationStep] Stopping robot and finishing navigation due to exception:

=============== MRPT EXCEPTION =============
int mrpt::nav::CMultiObjectiveMotionOptimizerBase::decide(const std::vectormrpt::nav::TCandidateMovementPTG&, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo&), line 80:
Error: Expression name collision_free_distance already exists as an input variable.:
[MRPT_navigator|DEBUG|19:06:34.8490] CWaypointsNavigator::checkHasReachedTarget() called with targetDist=3.60555 return=0 waypoint: wps.timestamp_nav_started=INVALID_TIMESTAMP
[MRPT_navigator|WARN |19:06:34.8686] Timeout approaching the target. Aborting navigation.
[MRPT_navigator|ERROR|19:06:34.8754] [CAbstractNavigator::navigationStep()] Stopping Navigation due to a NAV_ERROR state!

I've also got 2 messages in my cmd_vel topic:
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0

linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0


After that, I've tried launching with this file. Using this config, surprisingly, navigation seems to take place, but is soon stopped due to a timeout.

[MRPT_navigator|INFO |18:15:27.8040] Done!
[MRPT_navigator|WARN |18:17:51.5740] Timing warning: Suspicious executionPeriod=191968.602 ms is far above the average of 100.000 ms
[MRPT_navigator|DEBUG|18:17:51.5783] CMD: (lin_vel=1.000 ang_vel=-0.814 ) speedScale=1.0000 T=57660.6ms Exec:43178.7ms|49003.9ms PTG#0
[MRPT_navigator|DEBUG|18:17:52.0406] CWaypointsNavigator::checkHasReachedTarget() called with targetDist=3.60555 return=0 waypoint: wps.timestamp_nav_started=INVALID_TIMESTAMP
[MRPT_navigator|WARN |18:28:54.2376] Timing warning: Suspicious executionPeriod=662659.381 ms is far above the average of 57660.581 ms
[MRPT_navigator|DEBUG|18:28:54.2381] CMD: (lin_vel=1.000 ang_vel=-0.814 ) speedScale=1.0000 T=239160.2ms Exec:228777.7ms|232960.8ms PTG#0
[MRPT_navigator|DEBUG|18:28:54.5894] CWaypointsNavigator::checkHasReachedTarget() called with targetDist=3.71347 return=0 waypoint: wps.timestamp_nav_started=INVALID_TIMESTAMP
[MRPT_navigator|WARN |18:28:54.5920] Timeout approaching the target. Aborting navigation.
[MRPT_navigator|ERROR|18:28:54.5954] [CAbstractNavigator::navigationStep()] Stopping Navigation due to a NAV_ERROR state!

Maybe I should edit this issue's title since velocity commands seem to be generating, just in an weird way.

mrpt_localization asserts as nFreeCells == 0 when using certain maps

The assert is this:

[/mrpt_localization_node  INFO 1479336265.697575744, 6.000000000]: InitializeFilter: 0.000m, 0.000m, 0.000rad 
terminate called after throwing an instance of 'std::logic_error'
  what():  

 =============== MRPT EXCEPTION =============
void mrpt::slam::CMonteCarloLocalization2D::resetUniformFreeSpace(mrpt::maps::COccupancyGridMap2D*, double, int, double, double, double, double, double, double), line 286:
Assert condition failed: nFreeCells
void mrpt::slam::CMonteCarloLocalization2D::resetUniformFreeSpace(mrpt::maps::COccupancyGridMap2D*, double, int, double, double, double, double, double, double), line 310:

located here

Is in mrpt, so maybe I should open the issue there. I do here because the problem is with ROS maps used by mrpt_localization as gridmaps, so... well make sense to me handle in a ROS context.

This issue showed up out of issue #43. As @jlblancoc said there, my map has no free space:
localization

image: localization.pgm
resolution: 0.025
origin: [-2.81815169334, -2.72403180122, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

Well.... it's crowded, admittedly. But even if I paint big areas in white, mrpt_localization still complains. However, this other map seems fine for mrpt:
localization2

free_thresh: 0.157
image: localization.pgm
negate: 0
occupied_thresh: 0.2
origin: [0.0, 0.0, 0.0]
resolution: 0.025

So no idea why one map is ok and the other not. I tried using the same values in both yaml but same result, so the difference is in the bitmaps.
I was using the same map without problem until very recently (last week, I think), so I suppose it must be something very new (I use the latets sources for both mrpt and mrpt_localization)

Thanks!

Problems with tf listener calls

  • Here we pass polling_sleep_duration instead of timeout and polling_sleep_duration.
  • Here, if update_filter_ is false, we call transformPose with Time::now() what can easily fail. We should use Time(0.0) instead.

How to publish pose topic just like /amcl_pose in AMCL?

My colleague presented to me MRPT localization which appears to render better pose estimate than AMCL. However, the mrpt_localization_node does not yet publish similar topic as amcl_pose (geometry_msgs/PoseWithCovarianceStamped) in AMCL. So, it becomes apparent to think about such possibility of implementing a similar publisher for the mentioned node.
I found that mrpt_localization.cpp does publish the mean pose using meanPose.asString().c_str(); but at present I have little knowledge on how to convert the MRPT data type to the one using geometry_msgs/PoseWithCovarianceStamped. Is it possible to convert in that way? Or it is better to directly calculate the mean pose from the published PosePointCloud topic?

I am really looking forward to use mrpt_localization_node in better localizing Turtlebot !! Thank you in advance.

Cannot convert bag to rawlog

Hi,

I am using the mrpt 1.5 installed from PPA on a fresh ubuntu 16.04 install with ROS kinetic.
I have all the mrpt ros packages in my catkin workspace and have them build successfully.
The MRPT is working as I can open the sample apps like RawLogViewer etc from the command line.

I am following the the tutorial to convert the given bag filte to the rawlog format for further analysis. The bag file comes with the mrpt ros packages inside the mrpt_rawlog/tutorial folder (driving_in_office.bag). However, the rawlog does not get saved properly.
I always get stream of continuous info messages as
$rosrun mrpt_rawlog rawlog_record_node scan:=/r1/front_laser/scan _odom_frame_id:=r1/odom _base_frame_id:=r1/base_link _raw_log_folder:=/home/arav/Documents/

 Problem to syn data for sensor frame!
 Problem to syn data for sensor frame!
 Problem to syn data for sensor frame!
writing dataset to disk...
INFO: pRawLog    entries 0
INFO: pRawLogASF entries 0

I have tried this with other bag files containing topics such as scan, odom and tf but getting same results as below:
$ rosrun mrpt_rawlog rawlog_record_node scan:=/scan _odom_frame_id:=odom _base_frame_id:=/base_link _raw_log_folder:=/home/arav/Documents/

INFO: pRawLog    entries 1093
INFO: pRawLogASF entries 260
INFO: write _home_arav_Documents_/2019_08_22,23_35_40.384428ros_log.rawlog
ERROR: Error writing to _home_arav_Documents_/2019_08_22,23_35_40.384428ros_log.rawlog
INFO: write _home_arav_Documents_/2019_08_22,23_35_40.384428ros_log_asf.rawlog
ERROR: Error writing to _home_arav_Documents_/2019_08_22,23_35_40.384428ros_log_asf.rawlog

I have successfully used it before when I was using ROS indigo with the ubuntu 14 but on Kinetic this does not work. All our PCs were upgraded to ubuntu 16 so I cannot revert back now. Tested it with MRPT 1.9 as well and getting same result.

Can you help with this because I urgently need to analyse the rawlog to finish my project.

Thanks

Missing mrpt-tfest lib; is it compiled by default on mrpt?

I'm trying to build debian packages for both mrpt and mrpt_navigation. Mrpt went fine (apart from issue MRPT/mrpt#367), but mrpt_bridge fails not finding -lmrpt-tfest:

Linking CXX shared library devel/lib/libmrpt_bridge.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/mrpt_bridge.dir/link.txt --verbose=1
/usr/bin/x86_64-linux-gnu-g++  -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -DNDEBUG -D_FORTIFY_SOURCE=2   -Wno-deprecated -Wno-long-long -Wno-variadic-macros    -shared -Wl,-soname,libmrpt_bridge.so -o devel/lib/libmrpt_bridge.so CMakeFiles/mrpt_bridge.dir/src/pose.cpp.o CMakeFiles/mrpt_bridge.dir/src/point_cloud.cpp.o CMakeFiles/mrpt_bridge.dir/src/point_cloud2.cpp.o CMakeFiles/mrpt_bridge.dir/src/laser_scan.cpp.o CMakeFiles/mrpt_bridge.dir/src/map.cpp.o CMakeFiles/mrpt_bridge.dir/src/beacon.cpp.o CMakeFiles/mrpt_bridge.dir/src/landmark.cpp.o  -L/opt/ros/indigo/lib /opt/ros/indigo/lib/libtf.so /opt/ros/indigo/lib/libtf2_ros.so /opt/ros/indigo/lib/libactionlib.so /opt/ros/indigo/lib/libmessage_filters.so /opt/ros/indigo/lib/libroscpp.so -lboost_signals -lboost_filesystem /opt/ros/indigo/lib/libxmlrpcpp.so /opt/ros/indigo/lib/libtf2.so /opt/ros/indigo/lib/librosconsole.so /opt/ros/indigo/lib/librosconsole_log4cxx.so /opt/ros/indigo/lib/librosconsole_backend_interface.so -llog4cxx -lboost_regex /opt/ros/indigo/lib/libroscpp_serialization.so /opt/ros/indigo/lib/librostime.so -lboost_date_time /opt/ros/indigo/lib/libcpp_common.so -lboost_system -lboost_thread -lpthread -lconsole_bridge -lmrpt-base -lmrpt-opengl -lmrpt-obs -lmrpt-maps -lmrpt-vision -lmrpt-tfest -lmrpt-slam -Wl,-rpath,/opt/ros/indigo/lib: 
/usr/bin/ld: cannot find -lmrpt-tfest
collect2: error: ld returned 1 exit status

So... this library is not compiled by default on mrpt? How should I enable building it?
Thanks!

build error for indigo

Hi
I update latest version from ppa

sudo add-apt-repository ppa:joseluisblancoc/mrpt
sudo apt-get update
sudo apt-get install libmrpt-dev mrpt-apps

And git clone from https://github.com/mrpt-ros-pkg/mrpt_navigation.git
When I build them (catkin_make) , show error message are the following.

/usr/bin/ld: cannot find -lmrpt-base-dbg
/usr/bin/ld: cannot find -lmrpt-opengl-dbg
/usr/bin/ld: cannot find -lmrpt-gui-dbg
/usr/bin/ld: cannot find -lmrpt-obs-dbg
/usr/bin/ld: cannot find -lmrpt-graphs-dbg
/usr/bin/ld: cannot find -lmrpt-vision-dbg
/usr/bin/ld: cannot find -lmrpt-tfest-dbg
/usr/bin/ld: cannot[ 15%] find -lmrpt-maps-dbg
/usr/bin/ld: cannot find -lmrpt-slam-dbg
collect2: error: ld returned 1 exit status
[ 15%] make[2]: *** [/home/robot/dev/catkin_ws/localizationfordynamic/devel/lib/libmrpt_localization_core.so] Error 1

Missing mvsim dependency found in .launch

I'm currently doing some research on static analysis of ROS packages at the IT University of Copenhagen, more specifically dependency checking of .launch files in ROS packages.

There seems to be a $(find mvsim) in

  • mrpt_navigation/mrpt_local_obstacles/launch/demo_with_mvsim.launch
    • that's not declared in mrpt_local_obstacles/package.xml
  • mrpt_navigation/mrpt_reactivenav2d/launch/reactive_nav_demo_with_mvsim.launch
    • that's not declared in mrpt_reactivenav2d/package.xml

Installing mrpt_navigation without having mvsim installed would make roslaunch fail on these two .launch files, right?

I'm unsure whether this is a dependency bug, since there are only two specific launch configurations using mvsim and not the entire package(s).
Nonetheless, roslaunch would fail, no?

refactor moving mrtp_bridge is breaking kinetic builds

I think that this change is causing ros/rosdistro#17692

Is causing most of the mrpt packages on this list to fail to build: http://repositories.ros.org/status_page/ros_kinetic_default.html?q=REGRESSION

With tracebacks like this:

23:15:51 Looking for the '.dsc' file of package 'ros-kinetic-mvsim' with version '0.1.2-0'
23:15:52 Traceback (most recent call last):
23:15:52   File "/usr/lib/python3/dist-packages/apt/cache.py", line 194, in __getitem__
23:15:52     return self._weakref[key]
23:15:52   File "/usr/lib/python3.5/weakref.py", line 131, in __getitem__
23:15:52     o = self.data[key]()
23:15:52 KeyError: 'ros-kinetic-mrpt-bridge'
23:15:52 
23:15:52 During handling of the above exception, another exception occurred:
23:15:52 
23:15:52 Traceback (most recent call last):
23:15:52   File "/usr/lib/python3/dist-packages/apt/cache.py", line 198, in __getitem__
23:15:52     rawpkg = self._cache[key]
23:15:52 KeyError: 'ros-kinetic-mrpt-bridge'

KLD adaptive sample size incompatible with most resampling methods

The mrpt_localization_node process dies upon initiation if resampling method 1, 2 or 3 (residual, stratified or systematic) is selected if adaptiveSampleSize is also enabled.
The node dies with the message

[mrpt_localization_node-10] process has died [pid 22358, exit code -6, cmd /opt/ros/kinetic/lib/mrpt_localization/mrpt_localization_node __name:=mrpt_localization_node __log:=/home/nvidia/.ros/log/e730a9e6-e108-11e9-b57a-00044ba56804/mrpt_localization_node-10.log].
log file: /home/nvidia/.ros/log/e730a9e6-e108-11e9-b57a-00044ba56804/mrpt_localization_node-10*.log

The log file mentioned in the error message do not exist. I'll attach the master log file from one run: master.log

Steps to replicate:

  1. Make a copy of pf-localization.ini from the tutorial.
  2. Change resamplingMethod on line 41 from 0 to 1, 2 or three.
  3. Start a localization node with the new .ini file.

Cannot release with bloom to ROS melodic

Apparently, melodic is still missing some other deps:

Pre-verifying Debian dependency keys...
Running 'rosdep update'...
Could not resolve rosdep key 'cv_bridge'
Failed to resolve cv_bridge on ubuntu:artful with: Error running generator: Failed to resolve rosdep key 'cv_bridge', aborting.
cv_bridge is depended on by these packages: ['mrpt_bridge']
<== Failed
Could not resolve rosdep key 'cv_bridge'
Failed to resolve cv_bridge on ubuntu:bionic with: Error running generator: Failed to resolve rosdep key 'cv_bridge', aborting.
cv_bridge is depended on by these packages: ['mrpt_bridge']
<== Failed
Could not resolve rosdep key 'marker_msgs'
Failed to resolve marker_msgs on ubuntu:artful with: Error running generator: Failed to resolve rosdep key 'marker_msgs', aborting.
marker_msgs is depended on by these packages: ['mrpt_bridge', 'mrpt_rawlog']
<== Failed
Could not resolve rosdep key 'marker_msgs'
Failed to resolve marker_msgs on ubuntu:bionic with: Error running generator: Failed to resolve rosdep key 'marker_msgs', aborting.
marker_msgs is depended on by these packages: ['mrpt_bridge', 'mrpt_rawlog']
<== Failed
Could not resolve rosdep key 'pcl_conversions'
Failed to resolve pcl_conversions on ubuntu:artful with: Error running generator: Failed to resolve rosdep key 'pcl_conversions', aborting.
pcl_conversions is depended on by these packages: ['mrpt_bridge']
<== Failed
Could not resolve rosdep key 'pcl_conversions'
Failed to resolve pcl_conversions on ubuntu:bionic with: Error running generator: Failed to resolve rosdep key 'pcl_conversions', aborting.
pcl_conversions is depended on by these packages: ['mrpt_bridge']
<== Failed
Could not resolve rosdep key 'pose_cov_ops'
Failed to resolve pose_cov_ops on ubuntu:artful with: Error running generator: Failed to resolve rosdep key 'pose_cov_ops', aborting.
pose_cov_ops is depended on by these packages: ['mrpt_localization']
<== Failed
Could not resolve rosdep key 'pose_cov_ops'
Failed to resolve pose_cov_ops on ubuntu:bionic with: Error running generator: Failed to resolve rosdep key 'pose_cov_ops', aborting.
pose_cov_ops is depended on by these packages: ['mrpt_localization']
<== Failed
Could not resolve rosdep key 'teleop_twist_keyboard'
Failed to resolve teleop_twist_keyboard on ubuntu:artful with: Error running generator: Failed to resolve rosdep key 'teleop_twist_keyboard', aborting.
teleop_twist_keyboard is depended on by these packages: ['mrpt_tutorials']
<== Failed
Could not resolve rosdep key 'teleop_twist_keyboard'
Failed to resolve teleop_twist_keyboard on ubuntu:bionic with: Error running generator: Failed to resolve rosdep key 'teleop_twist_keyboard', aborting.
teleop_twist_keyboard is depended on by these packages: ['mrpt_tutorials']

pose_cov_ops is ours. For the rest, I guess we should wait.

Support for .yaml ROS "map_server" maps

Is it possible to run mrpt_localization with a known map, using the .yaml format used in map_server package of ROS? I couldn't find information on how to do it.

If it is not possible, how can i generate a .simplemap / .gridmap from a .yaml. file and a bitmap?

Robustify mrpt_* compilation + CI - Build against specific hash of MRPT

@jlblancoc

Up to this point every modification in the API of MRPT classes/methods demanded a respective modifications for the objects that make use of the former in both the mrpt_navigation and mrpt_slam packages. To make the compilation of the latter more stable we can explicitly indicate the MRPT version to be used (either via a tagged version (MRPT-1.5) or a git-commit) for the CI tests as well as guarantee to the users of the packages that if they use that version the mrpt_* ROS packages will most definitely just work.

A rather straightforward implementation of this is to put a file in the root of the repo (e.g., MRPT_VERSION with a line containing that commit. Updating the mrpt version to be used would then be as simple as modifying and committing that specific file.

Thoughts?

How to use mrpt_localization with limited memory?

Hi!
I'm trying to implement mrpt-localization (PF mode), on a single board computer. Actually, I can load a .pgm/.yaml map and localize successfully my robot on it with mrpt-localization, but after 10 minutes my RAM is saturated because mrpt-localization required the use of 1MB every 1~2s.

htop_memory_leak_mrpt

Do you have any advice or solution for this problem?

Thanks!

rawlog_play: support for observation_only rawlog?

Hi,
I'm trying to play multiple rawlog files with the rawlog_play node, but most of them crash (no error msgs, just the ros node exiting). After some research I believe it may be due to sensory_frame/observation_only rawlog types. Can you kindly confirm that the observation_only rawlog format is supported at the moment?

Aside from that problem, if the input is a rawlog containing only laser_scan observations, why is the rawlog_play publishing the TF: odom_link -> base_link? Is it trying to estimate the odometry from laser_scans?

Thanks

mrpt_reactivenav2d compilation fails after latest mrpt commits

Latest mrpt commits seem to be braking the mrpt_reactivenav2d ROS package.

For starters, the mrpt-kinematics library should be included in find_package call of the CMakeLists.txt file.
Below, the error message prior to this is given below:
mrpt_navigation_bug.txt

[ 80%] Built target mrpt_bridge
Scanning dependencies of target mrpt_reactivenav2d_node
[ 80%] Building CXX object mrpt_navigation/mrpt_reactivenav2d/CMakeFiles/mrpt_reactivenav2d_node.dir/src/mrpt_reactivenav2d_node.cpp.o
In file included from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CAbstractNavigator.h:11:0,
                 from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CWaypointsNavigator.h:11,
                 from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CAbstractPTGBasedReactive.h:12,
                 from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CReactiveNavigationSystem.h:12,
                 from /home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:42:
/home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CRobot2NavInterface.h:17:44: fatal error: mrpt/kinematics/CVehicleVelCmd.h: No such file or directory
 #include <mrpt/kinematics/CVehicleVelCmd.h>
[mrpt_navigation_bug.txt](https://github.com/mrpt-ros-pkg/mrpt_navigation/files/498191/mrpt_navigation_bug.txt)

After this addition, the error message is given below:

[ 80%] Built target mrpt_bridge
[ 80%] Building CXX object mrpt_navigation/mrpt_reactivenav2d/CMakeFiles/mrpt_reactivenav2d_node.dir/src/mrpt_reactivenav2d_node.cpp.o
/home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:237:23: error: cannot declare field ‘ReactiveNav2DNode::m_reactive_if’ to be of abstract type ‘ReactiveNav2DNode::MyReactiveInterface’
  MyReactiveInterface  m_reactive_if;
                       ^
/home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:107:9: note:   because the following virtual functions are pure within ‘ReactiveNav2DNode::MyReactiveInterface’:
  struct MyReactiveInterface :
         ^
In file included from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CAbstractNavigator.h:11:0,
                 from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CWaypointsNavigator.h:11,
                 from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CAbstractPTGBasedReactive.h:12,
                 from /home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CReactiveNavigationSystem.h:12,
                 from /home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:42:
/home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CRobot2NavInterface.h:58:16: note:  virtual bool mrpt::nav::CRobot2NavInterface::getCurrentPoseAndSpeeds(mrpt::math::TPose2D&, mrpt::math::TTwist2D&, mrpt::system::TTimeStamp&)
   virtual bool getCurrentPoseAndSpeeds(mrpt::math::TPose2D &curPose, mrpt::math::TTwist2D &curVel, mrpt::system::TTimeStamp &timestamp ) = 0;
                ^
/home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CRobot2NavInterface.h:65:16: note:  virtual bool mrpt::nav::CRobot2NavInterface::changeSpeeds(const mrpt::kinematics::CVehicleVelCmd&)
   virtual bool changeSpeeds(const mrpt::kinematics::CVehicleVelCmd &vel_cmd) = 0;
                ^
/home/nick/sharedWros/codes/various/mrpt/libs/nav/include/mrpt/nav/reactive/CRobot2NavInterface.h:91:16: note:  virtual bool mrpt::nav::CRobot2NavInterface::senseObstacles(mrpt::maps::CSimplePointsMap&, mrpt::system::TTimeStamp&)
   virtual bool senseObstacles( mrpt::maps::CSimplePointsMap &obstacles, mrpt::system::TTimeStamp &timestamp) = 0;
                ^
/home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp: In member function ‘bool ReactiveNav2DNode::MyReactiveInterface::getCurrentPoseAndSpeeds(mrpt::math::TPose2D&, mrpt::math::TTwist2D&)’:
/home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:153:58: note: #pragma message: TODO: Retrieve current speeds from odometry
    MRPT_TODO("Retrieve current speeds from odometry");
                                                          ^
/home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp: In member function ‘virtual bool ReactiveNav2DNode::MyReactiveInterface::senseObstacles(mrpt::maps::CSimplePointsMap&)’:
/home/nick/sharedWros/ros/stacks/src/mrpt_navigation/mrpt_reactivenav2d/src/mrpt_reactivenav2d_node.cpp:215:50: note: #pragma message: TODO: TODO: Check age of obstacles!
    MRPT_TODO("TODO: Check age of obstacles!");
                                                  ^
make[2]: *** [mrpt_navigation/mrpt_reactivenav2d/CMakeFiles/mrpt_reactivenav2d_node.dir/src/mrpt_reactivenav2d_node.cpp.o] Error 1
make[1]: *** [mrpt_navigation/mrpt_reactivenav2d/CMakeFiles/mrpt_reactivenav2d_node.dir/all] Error 2
make: *** [all] Error 2
Base path: /home/nick/sharedWros/ros/stacks
Source space: /home/nick/sharedWros/ros/stacks/src
Build space: /home/nick/sharedWros/ros/stacks/build
Devel space: /home/nick/sharedWros/ros/stacks/devel
Install space: /home/nick/sharedWros/ros/stacks/install
####
#### Running command: "make cmake_check_build_system" in "/home/nick/sharedWros/ros/stacks/build"
####
####
#### Running command: "make -j1 -l1" in "/home/nick/sharedWros/ros/stacks/build/mrpt_navigation/mrpt_reactivenav2d"
####
Invoking "make -j1 -l1" failed

mrpt_navigation_bug2.txt

MRPT version is 1.5.0, system information is also given here

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

‘THROW_EXCEPTION_CUSTOM_MSG1’ was not declared in this scope

Hi,

Trying to compile the code I get the following error:

In static member function ‘static const bool mrpt_bridge::MapHdl::loadMap(mrpt::maps::CMultiMetricMap&, const mrpt::utils::CConfigFile&, const string&, const string&, bool)’:
/home/andrestoga/ros_Map_Merging/src/mrpt_navigation/mrpt_bridge/src/map.cpp:201:94: error: ‘THROW_EXCEPTION_CUSTOM_MSG1’ was not declared in this scope
             THROW_EXCEPTION_CUSTOM_MSG1("Map file has unknown extension: '%s'",mapExt.c_str());

Best,

librawlog_play.so: cannot open shared object file

When launching roslaunch mrpt_localization demo_ro.launch I get the error librawlog_play.so: cannot open shared object file.

There must be a dependency missing. Which package provides librawlog_play.so under Ubuntu 14.04 with Indigo?

Segfault in mrpt_localization_node

Hi,

I am using mrpt 1.9 (the latest version from github) in conjunction with mrpt_navigation. Upon running the launch file demo.launch in mrpt_localization the application segfaults. The segfault happens in mrpt_localization.cpp at line 316 where the dynamic cast is performed. More specifically, this happens during the eigen handmade_aligned_free call in Eigens Memory.h file. I am guessing something is wrongly allocated.
Commenting out the show3DDebug call and omitting this issue allows the application to finish without any further crashes.
Could you please resolve this issue?
Many Thanks.

CMake Error: could not find "marker_msgsConfig.cmake"

I compiling the mrpt 1.5 from source, and then I git the mrpt_navigation ros package,
But when I run catkin_make

Call Stack (most recent call first):
mrpt_navigation/mrpt_bridge/CMakeLists.txt:8 (find_package)

-- Could not find the required component 'marker_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 "marker_msgs" with
any of the following names:

marker_msgsConfig.cmake
marker_msgs-config.cmake

Add the installation prefix of "marker_msgs" to CMAKE_PREFIX_PATH or set
"marker_msgs_DIR" to a directory containing one of the above files. If
"marker_msgs" provides a separate development package or SDK, be sure it
has been installed.

Anyone can help me....

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.