-
Notifications
You must be signed in to change notification settings - Fork 5
Remove warnings and errors that occur when using GCC >= 7.0. #17
Conversation
make rostest in CMakeLists optional (ros/rosdistro#3010)
fix cmake use of yaml-cpp and sdl / sdl-image in map_server
* [kinetic] amcl: Add std_srvs to find_package and catkin_package * [kinetic] costmap_2d: Add visualization_msgs to find_package and catkin_package * [kinetic] amcl: std_srvs only needed in find_package * [kinetic] move_base: Add std_srvs to find_package
Initialization of filter with GPS and odometry.
fix order of parameters (closes ros-planning#553)
When building amcl with recent enough gcc v7 compilation fails with the error src/amcl/map/map_cspace.cpp: In function 'void enqueue(map_t*, unsigned int, unsigned int, unsigned int, unsigned int, std::priority_queue<CellData>&, CachedDistanceMap*, unsigned char*)': src/amcl/map/map_cspace.cpp:98:34: error: call of overloaded 'abs(unsigned int)' is ambiguous unsigned int di = abs(i - src_i); Use `int abs(int)` flavour of the abs() function.
@mikaelarguedas Do I run a packaging job for this one or the normal CI? |
Can this be submitted upstream instead? looks like this overlap fixes already merged upstream (ros-planning#587) |
The tf2 stuff can be submitted in this repo given that ROS1 navigation port to tf2 is still pending.
Neither the packaging job or normal CI test this repository. Please launch a |
Yes, that appears to be a similar patch. Should I bother with a submission upstream since that fix was already merged? I could rebase on top of ros-planning/navigation, if that's the best solution (might be good to catch up anyway).
Thanks. |
If the fix is similar no need to submit anything.
Yeah it would be great to catch up, that may be a mess to resolve conflicts. maybe it's worth waiting after ros-planning#590 and ros-planning#591 are merged |
…pendency Cleanup PCL imports: fixes compilation on zesty and stretch
Definitely. I'll keep an eye on ros-planning#591. |
* Fix CMakeLists + package.xmls This fixes compilation errors when rosjava is installed on the system. It also removes a lot of errors reported by catkin_lint. Fixes ros-planning#537 . * Fix more CMakeLists.txt + package.xmls * amcl: disambiguate include path This fixes the following catkin_lint warning: amcl: warning: include paths 'include/amcl/map' and 'include' are ambiguous * You have used two include paths where one is a parent of the * other. Thus the same headers can be included with two different * include paths which may confuse users. It is recommended that * you keep your include paths consistent.
* Remove dynamic reconfigure * Remove rosbag functionality * Remove message filter use * tf -> tf2 * Strip leading / from frame IDs * Re-enable message filter * Don't use deperecated quaternion constructor * Revert "Re-enable message filter" This reverts commit c4160c2. * Fix test failures by increasing transform timeouts * WIP ros1->ros2 * Namespace of ::msg or ::srv * ConstPtr -> ::ConstPtr * ros::Time -> tf2::TimePoint * ros::Duration -> tf2::Duration * ros -> rclcpp * ros2 timer * Disable sigint handler * Not using boost::shared_ptr * Appropriate boost header for recursive_mutex * Shared ptrs everywhere * Use new durationFromSec tf2 function * Subscribers using qos settings * Leftover missing ::msg * Use new tf2_ros::fromMsg * Reinstate node ptr * Disable most logging * chrono fix * 'msg.' -> 'msg->' * Store node * Create services properly * Set parameters * Comment more logging * tf2 fixes * fix service callback signatures * tf2 changes * misc * only callbacks use shared_ptr * map request service * Fix boost link error * Comment these for now just to move forward * Use ament_auto_package * tf2::Duration -> tf2::durationFromSec * Re-enable "logging" * Prevent node already added to executor crash * (hack) use 'latest' TF info * Debug * Fixup (whitespace etc) * Use rate for map request * Don't use tf2 time for checkLaserReceived timer * Clarify which TODOs are for before merge * Add wait_for_service * Restore initial qos choices * Restore tolerance * Demo ROS 1 launch file to be used with bridge * [hack] Use map from topic instead of service * Remove debug prints * It probably won't be the map server publishing the map topic in that case (or we'd use the service) * Expose use_map_topic as command line option * Put initial pose back to 0 (can be set on 'initialpose' topic) * Use tf2 time because ROS times can't be subtracted a.t.m. * Revert test tolerance increase (needed for use without message filters) * Remove commented delete that will never be re-enabled * Tidy up workaround for 'latest' TF data If the timestamp of the requested transform is 0 it will get latest * Remove most workarounds for 'latest' TF data * Prevent unused variable warnings * Remove boost dependency * Use CMAKE_CXX_STANDARD * Alphabetical ordering * Whitespace fixup * Leftover debug prints * Restore original default d_thresh * Revert "Prevent unused variable warnings" This reverts commit e624b1f. * Prevent unused variable warnings * Let ament_cmake_ros have control over the BUILD_SHARED_LIBS cmake flag * Pedantic is a bit much * simplify ament_target_dependencies call * Correct usage of ament_target_dependencies * Remove custom leading forward slash removal Not necessary in ROS 2 * Remove ROS 1 testing launch file * Avoid race condition with map_server topic usage Issue with large services using fastrtps
* Make laser subscription best effort Otherwise it can't subscribe to best effort publishers (and is generally more appropriate) * Use rcutils logging macros * Start a parameter server for external nodes to interact with * Reduce diff with upstream
1724090
to
2400e0e
Compare
@mikaelarguedas Ok, rebased on top of the |
map_server/CMakeLists.txt
Outdated
@@ -55,6 +55,7 @@ target_link_libraries(map_server | |||
) | |||
|
|||
add_executable(map_server-map_saver src/map_saver.cpp) | |||
add_dependencies(map_server-map_saver ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is catkin specific. catkin_EXPORTED_TARGETS
will not exist in an ament build
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup -- caught this one while building. My bad.
map_server/src/image_loader.cpp
Outdated
@@ -42,6 +42,9 @@ | |||
// We use SDL_image to load the image from disk | |||
#include <SDL/SDL_image.h> | |||
|
|||
// Use Bullet's Quaternion object to create one from Euler angles | |||
#include <LinearMath/btQuaternion.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bullet is not installed on the build machines AFAIK so this will likely fail to compile. We use tf2 quaternions in ROS 2 for now I think (see line 49)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ya, that's right. I'll fix it.
@mikaelarguedas Ok, all should be ready for CI now. |
@@ -91,25 +91,25 @@ class MapServer | |||
#endif | |||
try { | |||
doc["resolution"] >> res; | |||
} catch (YAML::InvalidScalar) { | |||
} catch (YAML::InvalidScalar &) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should be submitted upstream rather than here isn't it ? Or is it ROS 2 specific code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose that should be upstreamed, yes. I'll do that right now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, filed upstream.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you put them in a separate commit in this PR ? That'll be cleaner for history and rebasing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes
0eba1d3
to
a2ac47d
Compare
@mikaelarguedas done |
thanks ! looks good to me, feel free to launch CI on this. (note we wont "squash and merge" this one to keep history close to the one of the upstream repo) |
will do
I was just about to ask... This is a "Rebase and Merge" then, right (assuming CI passes). |
Not it will be a simple merge because we want the ros2 commits on top of the ros1 commits. |
Ok. Got it. |
Building and testing on a physical turtlebot 2, just to put this in the record. |
Ok, it works. Merging. |
This is another small GCC >= 7 change.
connects to ros2/rclcpp#343