Giter Site home page Giter Site logo

marti_common's People

Contributors

agyoungs avatar cottsay avatar danthony06 avatar elliotjo avatar evenator avatar facontidavide avatar jatowler avatar jgassaway avatar kimmat avatar kinddragon avatar lopsided98 avatar matt-attack avatar mikaelarguedas avatar mschickler avatar nick-alton avatar pjreed avatar rjb0026 avatar ryandelgizzi avatar tiffanyec avatar vincentrou avatar vknisley-swri 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

marti_common's Issues

Remove gps_common dependency for ROS Jade

gps_common still hasn't been released for ROS Jade, and it looks like it's been superseded by sensor_msgs/NavSatFix ana sensor_msgs/NavSatStatus. swri_transform_util currently uses gps_common/GPSFix for the local XY origin message. We should replace these with sensor_msgs/NavSatFix or perhaps geometry_msgs/PoseStamped

Install swri_prefix_tools

The prefix scripts need to be installed to the CATKIN_PACKAGE_SHARE_DESTINATION so they can be used from an installed package.

initialize_origin.py not installed

Hello,

I try to invoke the initialize_origin.py script from my launch file as such:

    <node pkg="swri_transform_util" type="initialize_origin.py" name="initialize_origin" >
        <param name="local_xy_frame" value="/map"/>
        <param name="local_xy_origin" value="Spata"/>
        <rosparam param="local_xy_origins">
            [{ name: Spata,
             latitude: 37.9879772,
             longitude: 23.9078602,
             altitude: 129.69,
             heading: 0.0}]
        </rosparam>
    </node>

I get the error:

ERROR: cannot launch node of type [swri_transform_util/initialize_origin.py]: can't locate node [initialize_origin.py] in package [swri_transform_util]

catkin can't see the python script as executable.

I fixed it by chmod +x the .py script, but it's not ideal.
I noticed that you recently added an install target to the script but perhaps it doesn't work?

I have the latest version of marti_common git pulled in my workspace.

typedef conflict between geos and opencv2 when building on Xenial

When building on Ubuntu 16.04, the swri_geometry_util fails due to the following error:

In file included from /usr/include/geos/geom/CoordinateSequence.h:19:0,
                from /usr/include/geos/geom/CoordinateArraySequence.h:21,
                 from /root/ros/ws_ci_src/src/ci_src/swri_geometry_util/src/intersection.cpp:34:
/usr/include/geos/platform.h:66:26: error: conflicting declaration 'typedef long long int int64'
    typedef long long int int64;                      
                          ^
In file included from /usr/include/opencv2/core/core.hpp:49:0,
                from /root/ros/ws_ci_src/src/ci_src/swri_geometry_util/include/swri_geometry_util/intersection.h:31,
               from /root/ros/ws_ci_src/src/ci_src/swri_geometry_util/src/intersection.cpp:32:
/usr/include/opencv2/core/types_c.h:163:20: note: previous declaration as 'typedef int64_t int64'
    typedef int64_t int64;                            
                    ^

Contribution Guide

It would be helpful to have a document outlining the guidelines for contributing to the project, both for SwRI folks and for community contributors. It would lay out things like issue tracking, branch management, and code style.

I've started work on a document for this. When I finish a draft, I'll make a PR.

Need an RPM Key for libgeos++

Right now, the bloom script complains that there is no key for installing libgeos++ in fedora:heisenbug. You can just tell it to skip the generator for that distribution (and really, who's running ROS on non-Ubuntu systems?) but we should figure out what the RPM key is for that library and add it to the rosdep db.

swri_roscpp changelog cannot have future versions in it

debian packaging takes the highest changelog. Thus debian's buildpackage is tagging your package with 0.1.0 not 0.0.6

https://github.com/swri-robotics/marti_common/blob/indigo-devel/swri_roscpp/CHANGELOG.rst#010-2015-09-29

See the console output here: http://jenkins.ros.org/view/Isrc/job/ros-indigo-swri-roscpp_sourcedeb/41/console which means that this job is continuously triggering and rebuilding trying to get the version declared in the rosdistro.

Our nextgen buildfarm is more strict and it's failing every cycle: http://54.183.26.131:8080/view/Isrc_uT/job/Isrc_uT__swri_roscpp__ubuntu_trusty__source/73/console

Negative route distances are marginal, not cumulative

Arc lengths before the start point will always be the (negative) distance between the current point and the next, instead of the cumulative distance backward from the start point.

https://github.com/swri-robotics/marti_common/blob/indigo-devel/swri_route_util/src/util.cpp#L468
https://github.com/swri-robotics/marti_common/blob/indigo-devel/swri_route_util/src/util.cpp#L483

In both cases, the code should probably look something like

arc_lengths[i] = arc_lengths[i+1] - (pt2-pt1).length();
                              ^---change to plus

Remove can_util package

This is an outdated package that is not actively used anymore and not recommended for use.

update xterm_prefix for latest psutil version

xterm_prefix in swri_prefix_tools calls .get_children() on a psutil Process object. The name of this function has been changed to .children() in the latest version:
http://grodola.blogspot.com/2014/01/psutil-20-porting.html
Maybe other changes are required, because I made this change and the function still fails to find any children. The function terminates at:
if grandchild is None:
print "Found no running process for node. Quitting."
sys.exit(1)

FYI, I'm using swri_prefix_tools in combination with swri_nodelet, in case that's relevant.

Rename Packages to be Less Generic

@dirk-thomas raised the objection that most of the package names in this repository are overly generic. I plan to rename all of the packages with swri_ prefixes. This change should only be applied in the indigo-devel branch.

FindGeos.cmake fails on Ubuntu Xenial

Because the path to libgeos is now /usr/lib/x86_64-linux-gnu/geos-3.5.0, the regex to find the library name matches on a portion of the library directory, resulting in broken linker flags:

[swri_geometry_util:cmake] -- Found GEOS: inux-gnugeos-3.5.0 (version: 3.5.0, includes: /usr/include)

...

[swri_geometry_util:make] [100%] Linking CXX shared library /root/ros/ws_ci_src/devel/.private/swri_geometry_util/lib/libswri_geometry_util.so
[swri_geometry_util:make] /usr/bin/cmake -E cmake_link_script CMakeFiles/swri_geometry_util.dir/link.txt --verbose=1
[swri_geometry_util:make] /usr/bin/c++  -fPIC   -shared -Wl,-soname,libswri_geometry_util.so -o /root/ros/ws_ci_src/devel/.private/swri_geometry_util/lib/libswri_geometry_util.so CMakeFiles/swri_geometry_util.dir/src/intersection.cpp.o CMakeFiles/swri_geometry_util.dir/src/polygon.cpp.o CMakeFiles/swri_geometry_util.dir/src/geometry_util.cpp.o CMakeFiles/swri_geometry_util.dir/src/cubic_spline.cpp.o /opt/ros/kinetic/lib/libtf.so /opt/ros/kinetic/lib/libtf2_ros.so /opt/ros/kinetic/lib/libactionlib.so /opt/ros/kinetic/lib/libmessage_filters.so /opt/ros/kinetic/lib/libroscpp.so -lboost_signals -lboost_filesystem /opt/ros/kinetic/lib/libxmlrpcpp.so /opt/ros/kinetic/lib/libtf2.so /opt/ros/kinetic/lib/libroscpp_serialization.so /opt/ros/kinetic/lib/librosconsole.so /opt/ros/kinetic/lib/librosconsole_log4cxx.so /opt/ros/kinetic/lib/librosconsole_backend_interface.so -llog4cxx -lboost_regex -lboost_chrono -lboost_atomic /opt/ros/kinetic/lib/librostime.so -lboost_date_time /opt/ros/kinetic/lib/libcpp_common.so -lboost_system -lboost_thread -lpthread -lconsole_bridge /usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_ocl.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_gpu.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_contrib.so.2.4.9 -linux-gnugeos-3.5.0 /usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_legacy.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_ml.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_features2d.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4.9 /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.9 -Wl,-rpath,/opt/ros/kinetic/lib: 
[swri_geometry_util:make] /usr/bin/ld: cannot find -linux-gnugeos-3.5.0

Modify the Travis CI build to install OpenCV3

marti_common uses OpenCV 2 and actually does not depend on 3 at all, but having 3 installed is useful for testing the build scripts because it will cause the builds to fail if they don't explicitly depend on 2.

Add parameter to set local_xy_frame.

local_xy_util was recently changed to read the local_xy_frame from the header of the local_xy_origin GPS message. This is the preferred way to set the origin, but is incompatible with older bag files that were recorded before the change.

A straightforward way to work around this problem is to add a global parameter /local_xy_frame that can be used to set the origin. We could either have the local_xy_frame parameter always override the local_xy_origin frame, or just use it as a fallback when the frame_id empty.

Flaky Tests in swri_transform_util

All of the tests that depend on interaction with initialize_origin.py (transform_manager.test, local_xy_util.test) have potential race conditions that make the tests flaky. They seem to fail more on heavily-loaded systems (i.e. systems that are simultaneously building other code).

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.