Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
c4ac76a
Add maintainers and authors to package.xml (#886)
mikaelarguedas May 30, 2018
42b2763
Release 1.0. (#889)
pifon2a Jun 4, 2018
4fd904d
remove architecture specific definitions exported by PCL (#893)
mikaelarguedas Jun 7, 2018
6b473e3
set required version of dependencies (#892)
mikaelarguedas Jun 8, 2018
5d5ce68
Fix memory leak in simulations by removing wall timers. (#891)
MichaelGrupp Jun 11, 2018
82b5eb9
Use timing channel from PointCloud2, if available. (#896)
ojura Jun 12, 2018
4f32f88
Ensure we validate what we CHECK(...) (#897)
sebastianklose Jun 13, 2018
424e702
Revert timers other than PublishTrajectoryStates back to being WallTi…
ojura Jun 14, 2018
c560d05
Improve internal naming of local SLAM data. (#908)
MichaelGrupp Jun 25, 2018
8bbec6b
Use PoseGraphInterface::TrajectoryState from libcartographer (#910)
MichaelGrupp Jun 29, 2018
0e65aa5
Discard proto data in pbstream_map_publisher via RAII. (#912)
MichaelGrupp Jun 29, 2018
f5b583f
Allow to ignore (un-)frozen submaps in the occupancy grid node. (#899)
MichaelGrupp Jun 29, 2018
237dd83
Add internal metric families. (#914)
MichaelGrupp Jul 2, 2018
bb4aec3
Use new pure localization trimmer options. (#918)
pifon2a Jul 3, 2018
be7ecf2
Register internal metrics and provide a public interface. (#917)
MichaelGrupp Jul 4, 2018
0beb972
Minor grammar fix. (#900)
davetcoleman Jul 5, 2018
bfe0d01
Update msg_conversion.cc (#925)
ojura Jul 6, 2018
0aa6ecc
Fix bug in FinishTrajectory logic (#926)
sebastianklose Jul 6, 2018
944b225
Use 'landmarks' instead of 'landmark'. (#931)
pifon2a Jul 9, 2018
427fbe6
Allow zero pose_publish_period (#933)
gaschler Jul 10, 2018
168f4cc
List files explicitly in cartographer_ros_msgs/CMakeLists.txt (#927)
MichaelGrupp Jul 10, 2018
e07c226
Follow googlecartographer/cartographer#1241 (#923)
Jul 10, 2018
c157164
remove unused declaration (#934)
gaschler Jul 11, 2018
fb5b16d
Simplify gauge and histogram implementation. (#922)
MichaelGrupp Jul 12, 2018
54e8aa4
Warn for possible topic mismatch (#935)
gaschler Jul 12, 2018
6831292
Introduce value converter tables. (#937)
Jul 12, 2018
0572ebb
Add .clang-format file. (#938)
wohe Jul 13, 2018
a90e995
Move conversion table to LoadOccupancyGridMap. (#941)
Jul 14, 2018
b9af636
Get rid of std::bind. (#939)
wohe Jul 14, 2018
2df3b83
Add option to disable PoseExtrapolator (#946)
gaschler Jul 19, 2018
4b39ee6
Fix pbstream exporting binaries (#945)
Jul 19, 2018
97266a6
Update docs of ROS API. (#928)
MichaelGrupp Jul 25, 2018
15dece6
Follow the CMake update. (#951)
pifon2a Jul 26, 2018
2910529
Follow the Absl update. (#955)
pifon2a Jul 28, 2018
b353e1e
Follow googlecartographer/cartographer#1352 (#957)
Jul 30, 2018
7fbb628
Follow googlecartographer/cartographer#1353 (#959)
gaschler Jul 31, 2018
edf2513
Add include_unfinished_submaps parameter to SerializeState() (#966)
MichaelGrupp Aug 2, 2018
41c74de
[ABSL] Use absl::Mutex. (#969)
pifon2a Aug 7, 2018
55e83c3
Adding option to launch without rviz, similar to 2d case (#972)
sebastianklose Aug 8, 2018
c12da5e
Follow cartographer#1357 (#964)
ojura Aug 13, 2018
ea29393
Adding generic parametrizable offline_node.launch (#983)
sebastianklose Aug 27, 2018
744c03a
Removing unless from argument (#994)
sebastianklose Aug 28, 2018
c0e713c
Add --load_frozen_state to node_grpc_main.cc (#973)
MichaelGrupp Aug 29, 2018
c418ff5
Disable forwarding proto stream by default in node_grpc_main.cc (#1013)
MichaelGrupp Sep 13, 2018
aa8a62e
Add toggle for pose markers to submaps display RViz plugin. (#1012)
MichaelGrupp Sep 13, 2018
578b5df
Follow googlecartographer/cartographer#1424 (#1014)
Sep 19, 2018
4a2b19a
Fix submap pose marker toggling. (#1019)
MichaelGrupp Sep 19, 2018
00813a4
Introduce base image for melodic to speed up CI (#1021)
Sep 26, 2018
dd4d2af
feat: Publish progress of processing the bagfile (#940)
alireza-hosseini Sep 27, 2018
829e2dc
Replace custom SplitString() by absl::StrSplit() (#1026)
MichaelGrupp Sep 27, 2018
8fab3fe
Work around wstool bug in build with Docker base image. (#1041)
MichaelGrupp Oct 4, 2018
588c392
Use absl::SkipEmpty() predicate. (#1042)
MichaelGrupp Oct 4, 2018
5f2dff9
fix: Use an explicit message_counter instead of using `std::distance`…
alireza-hosseini Oct 9, 2018
e2f72ff
Only use ROS log sink in pbstream_map_publisher_main.cc (#1040)
MichaelGrupp Oct 15, 2018
6b9d8ff
Adding launch file arg for launch-prefix to offline nodes (#1066)
sebastianklose Oct 17, 2018
ed41840
move metrics messages at root of msg folder (#1020)
mikaelarguedas Oct 17, 2018
7258151
Fix Clang thread-safety warning. (#1068)
MichaelGrupp Oct 19, 2018
1e5b180
Remove deleted trajectories from submaps display. (#1065)
MichaelGrupp Oct 19, 2018
530acb5
Decrease asset writer progress log period (#1044)
ojura Oct 19, 2018
39e7faa
docs: Add documentation related to `bagfile_progress` publisher (#1039)
alireza-hosseini Oct 19, 2018
54f0cfe
Remove orphaned function in occupancy_grid_node_main.cc (#1034)
MichaelGrupp Oct 19, 2018
a4f3850
Transform landmark poses to the tracking frame. (#1076)
pifon2a Oct 25, 2018
ef0e971
Add landmarks demo to the docs. (#1077)
pifon2a Oct 25, 2018
b0420bf
Add a script for testing with fake landmarks to scripts/dev (#1071)
MichaelGrupp Oct 30, 2018
ba33291
Rework the documentation as a step-by-step guide (#952)
FlorentRevest Nov 5, 2018
d087121
Update /write_state call in assets writer docs. (#1087)
MichaelGrupp Nov 6, 2018
c493369
Only include correct source files in cmake (#1085)
redkite Nov 6, 2018
dc2476e
Consider waiting trajectories with a sensor bridge as active. (#1089)
MichaelGrupp Nov 6, 2018
94cc7f7
Add git dependency to package.xml (for Abseil build). (#1098)
MichaelGrupp Nov 14, 2018
72949a7
Configurable frame IDs in trajectory_comparison_main.cc (#1120)
MichaelGrupp Dec 6, 2018
91fd8fe
fixing compilation under OSX (#1126)
sebastianklose Dec 12, 2018
35ad459
Windows build & Azure CI (#1103)
ojura Dec 17, 2018
0d65d13
Don't run final optimization in visualize_pbstream.launch (#1157)
MichaelGrupp Jan 16, 2019
68f60ff
Fix typo (#1130)
esteve Jan 16, 2019
63eaf6d
Publish one last progress message when PlayableBag is finished. (#1160)
MichaelGrupp Jan 18, 2019
6ee68c2
Tool for extracting pbstream trajectories into bag with tf. (#1166)
sebastianklose Jan 20, 2019
5f1ff90
Fixed wrong Topic name for Landmarks (#1171)
fprott Jan 30, 2019
eb86ba6
Fix segfault by changing the destruction order. (#1235)
MichaelGrupp Mar 26, 2019
da4b3e7
Replace a few string operator+ by absl::StrCat(). (#1244)
MichaelGrupp Apr 2, 2019
1ae1209
Extend trajectory export tool to write TransformStamped topics. (#1169)
MichaelGrupp Apr 2, 2019
522fb13
Landmarks note (#1242)
fprott Apr 3, 2019
7e4af36
Expanded Landmarks documentation (#1241)
fprott Apr 3, 2019
61126ec
Update clang-format to new Google style. (#1260)
MichaelGrupp Apr 10, 2019
907080b
Unify trajectory state checks for service handlers. (#1262)
MichaelGrupp Apr 15, 2019
1f712de
Updated doc to remove abseil-cpp from ROS (#1211)
ashnarayan13 Apr 17, 2019
d497de9
Add explicit --save_state_filename to offline node options. (#1204)
MichaelGrupp Apr 17, 2019
289ec49
Service to query trajectory segments from the pose graph. (#1222)
MichaelGrupp Apr 23, 2019
2c20ec3
Simplify start_trajectory service (RFC-28) (#1245)
mgladkova May 7, 2019
920db8a
Update ROS API documentation with description of changed/new services…
mgladkova Jul 9, 2019
76f8989
Remove EOL Distros from CI matrix (#1379)
tfoote Aug 27, 2019
d872cbe
Remove unnecessary eigen_conversions dependency. (#1278)
MichaelGrupp Aug 27, 2019
f8c572b
Fix broken build for melodic. Use official ros docker image. (#1484)
bochen87 Jun 17, 2020
a463034
Change Google CLA to DCO in CONTRIBUTING.md (#1482)
bochen87 Jun 17, 2020
ad5e157
Fix build status on front page. (#1483)
wohe Jun 24, 2020
2d9a4ab
Build Abseil dependency in CI. (#1485)
wohe Jun 25, 2020
82dce2e
Remove support for Debian Jessie. (#1496)
wohe Jul 23, 2020
d903fab
Prepare GMock support for Noetic. (#1499)
wohe Jul 27, 2020
2654412
Changes for ROS Noetic support (#1494)
MichaelGrupp Jul 28, 2020
622abfb
Remove legacy Jenkins quality pipeline. (#1510)
MichaelGrupp Aug 28, 2020
30d6430
Update assets_writer.rst (#1442)
Geonhee-LEE Aug 29, 2020
108dbf9
Remove unnecessary bottlenecks from Dockerfiles to speed up CI. (#1511)
MichaelGrupp Aug 31, 2020
9023f6e
Follow cartographer-project/cartographer#1749. (#1516)
wohe Sep 14, 2020
4c8d47a
Follow cartographer-project/cartographer#1750. (#1518)
wohe Sep 24, 2020
4f730df
Minor documentation tweaks for Noetic. (#1520)
wohe Oct 5, 2020
8712d1d
Use distinct issue templates for bugs, tuning and general things. (#1…
MichaelGrupp Oct 7, 2020
108f2c6
Fix includes to follow style guide in playable_bag.h (#1524)
MichaelGrupp Oct 13, 2020
ee785ad
Fix Sphinx documentation errors & warnings. (#1523)
MichaelGrupp Oct 13, 2020
f372263
Follow cartographer-project/cartographer#1759. (#1525)
wohe Oct 13, 2020
6daa4ac
Update "Getting involved" documentation page. (#1522)
MichaelGrupp Oct 15, 2020
804595b
Make publishing tf optional, enable publishing PoseStamped (#1099)
Oct 21, 2020
1cc08e9
Add color requirement note for point_cloud_viewer (#1424)
erikreed Oct 21, 2020
820881c
Default to master in rosinstall (fixes #1122). (#1530)
MichaelGrupp Oct 22, 2020
5ef6a4f
Remove ceres-solver from cartographer_ros.rosinstall. (#1532)
wohe Oct 23, 2020
00825c9
Fix outdated build instructions (closes #1531). (#1537)
MichaelGrupp Oct 27, 2020
fb81a3f
Use PoseGraphInterface instead of PoseGraph. (#1547)
wohe Nov 4, 2020
2ae29b4
Use the MapBuilder factory function. (#1551)
wohe Nov 6, 2020
359e580
Update algo_walkthrough.rst (#1545)
zhenzhenxiang Nov 11, 2020
1dfb8a0
Check if we already publihed transformation at same timestamp Fix #15…
stribor14 Nov 13, 2020
3e0f6aa
Improve CONTRIBUTING.md and add a pull request template. (#1564)
wohe Nov 18, 2020
2cbe3f2
Fixing typo in the docs (#1588)
mohamedsayed18 Jan 25, 2021
0d7e742
typo fix (#1591)
mohamedsayed18 Jan 29, 2021
4e34fd5
Remove inactive mailing list from docs. (#1612)
MichaelGrupp Apr 19, 2021
30d4ac5
[docs] Fix parameter name of publish_tracked_pose (#1620)
May 4, 2021
a967698
ros2 conversion
May 5, 2021
b244341
remove debug compil options
May 6, 2021
9d523f5
wip not compiling
imstevenpmwork Jun 4, 2021
65e1e81
wip not compiling
imstevenpmwork Jun 15, 2021
24bd93b
more wip
imstevenpmwork Jun 15, 2021
c1a44d0
even more wip not compiling
imstevenpmwork Jun 15, 2021
385c563
wip
imstevenpmwork Jun 15, 2021
45e6d0c
Still not compiling but almost there
imstevenpmwork Jun 15, 2021
ba35440
almost compiling
imstevenpmwork Jun 18, 2021
f2d4be3
compiling but nothing happens
imstevenpmwork Jun 18, 2021
1599871
not compiling again
imstevenpmwork Jun 18, 2021
aa8baf3
fix warning
imstevenpmwork Jul 7, 2021
ddf2e31
finally compiling but getting segmentation fault
imstevenpmwork Jul 9, 2021
c398712
add backward ros
imstevenpmwork Jul 9, 2021
46d6f4a
backward changes temp
imstevenpmwork Jul 9, 2021
ebf144c
some tries
imstevenpmwork Jul 15, 2021
7154b7a
some other tries. i think the prob is in the linking to abseilcpp
imstevenpmwork Jul 16, 2021
c5f73de
solved one issue, got another one
imstevenpmwork Sep 16, 2021
7b9adbf
backward gbd
imstevenpmwork Sep 16, 2021
6924818
closer
imstevenpmwork Sep 16, 2021
6008cf3
solved one issue, got another two
imstevenpmwork Sep 16, 2021
9557e3a
dirty fix
imstevenpmwork Sep 17, 2021
60f52b8
plugin can be loaded and used but only the submap markers are visualized
imstevenpmwork Sep 17, 2021
eed779c
oof
imstevenpmwork Sep 17, 2021
624d2fb
ros1 dep
Sep 7, 2021
9aadc1c
more ros1 dep fix
Sep 7, 2021
a4bd9ec
fixes to offline node and pbstream to map
imstevenpmwork Oct 14, 2021
9d1cb2c
revert change in pbstream map node
imstevenpmwork Oct 15, 2021
2d9dbbe
Q_EMIT / slot working but material error
Oct 27, 2021
14ea582
working submps
Oct 27, 2021
991e6fb
clean xml
Oct 27, 2021
a8c2f85
carto_ros as proper lib
Oct 28, 2021
3d6bcbc
clean comments not useful
imstevenpmwork Oct 28, 2021
36e7d16
cleaned cmake rviz
imstevenpmwork Oct 28, 2021
4865f84
sync
Nov 18, 2021
71b1b69
RCL_ROS_TIME
Nov 18, 2021
7eab590
de-boostify
Nov 22, 2021
c7d0a7e
got rid of most stderr warnings
imstevenpmwork Nov 23, 2021
923c8fc
fix sharedptr operator bool misuse
imstevenpmwork Nov 23, 2021
dbcac02
using latest tf available to avoid warning
imstevenpmwork Nov 23, 2021
d1fbd06
fix deserialization
Nov 23, 2021
eb93b2d
removed unused function arg + comment
Nov 24, 2021
22b3bbc
added 100ms timeout lookuptf rviz
imstevenpmwork Nov 24, 2021
4f38194
fix offline node remappings
Dec 9, 2021
0c48092
proper cmakelists install
Jan 10, 2022
4d65069
offline_backpack_2d.launch conversion
Jan 10, 2022
c2760d6
fix demo_2d.rviz and set_remap for offline demo
Jan 10, 2022
cb2e96b
all bags launch files
Jan 13, 2022
5e04306
fix assets_writer for MultiEchoLaserScan and PointCloud2
Jan 27, 2022
d9daae8
assets writer launch conversion
Jan 27, 2022
446f5a3
args for asserts writer backpack 3d
Jan 28, 2022
c91cac5
change folder structure to standard ros2
Feb 22, 2022
9681e02
fix obsolete eigen header
Feb 22, 2022
d014100
comment buggy orientation conversion log
Feb 22, 2022
f235c55
visualize pbstream launch
Mar 7, 2022
53997c3
colcon ignore
Mar 29, 2022
48eab66
fix warning "265:59: note: use reference type to prevent copying"
Mar 29, 2022
d2af956
changing `find_package(LuaGoogle REQUIRED)` for `find_package(Lua REQ…
Mar 29, 2022
ed85808
Merge remote-tracking branch 'ros2/ros2' into rolling
Mar 29, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions .github/ISSUE_TEMPLATE

This file was deleted.

19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Bug report
about: Report a bug that you've found in this repository or in a release.

---

Please provide information for your bug report:

- if you're using cartographer_ros from source, provide the Git commit hash
(via `git log -1 --format="%H"`):

- if you're using a release package, provide the version
(e.g. via `apt show <package_name>`):

- provide all information that is needed to analyze and reproduce the bug
(logs, commands that have been used, ...)

PLEASE NOTE: we don't support custom forks or extensions.
If you need tuning advice, you can open a tuning issue instead.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/general-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
name: General issue
about: Use this issue for general questions.

---
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/tuning-advice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Help request for tuning
about: Describe tuning problems with your custom Cartographer setup to request help from the community.

---

To improve the chances that other Cartographer users can help you,
here are some guidelines for describing your tuning problem:

1. check the tuning guide on the documentation page and previous issues -
some problems might have been solved already by other people.

2. run `rosbag_validate` which does some checks on your sensor data. This
tool often finds issues that can explain poor performance and must be fixed
at recording time. Please post the full output of the tool into a
GitHub Gist at https://gist.github.com/, then link it in the issue even if
it does not report anything. You can run the tool like this:

rosrun cartographer_ros cartographer_rosbag_validate -bag_filename <bag filename>

3. post a link to a Git repository containing a branch of
`cartographer_ros` containing all the configuration, launch, and URDF files
required to reproduce your issue.
4. post a link to a bag file we can use to reproduce your issue. Put it on
Google Drive, Dropbox, any webserver or wherever it is publicly
downloadable.
5. remove this boilerplate text before submitting your issue.

PLEASE NOTE: tuning issues are not necessarily handled by the maintainers and
can be closed after a period of inactivity.
2 changes: 2 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Want to contribute? Great! Make sure you've read and understood
[CONTRIBUTING.md](https://github.com/cartographer-project/cartographer_ros/blob/master/CONTRIBUTING.md).
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,9 @@ cache:
- /home/travis/docker/

env:
- ROS_RELEASE=indigo DOCKER_CACHE_FILE=/home/travis/docker/indigo-cache.tar.gz
- ROS_RELEASE=kinetic DOCKER_CACHE_FILE=/home/travis/docker/kinetic-cache.tar.gz
- ROS_RELEASE=lunar DOCKER_CACHE_FILE=/home/travis/docker/lunar-cache.tar.gz
- ROS_RELEASE=melodic DOCKER_CACHE_FILE=/home/travis/docker/melodic-cache.tar.gz
- ROS_RELEASE=noetic DOCKER_CACHE_FILE=/home/travis/docker/noetic-cache.tar.gz

before_install:
# $GITHUB_TOKEN must be a valid GitHub access token without access rights (https://github.com/settings/tokens).
Expand Down
70 changes: 47 additions & 23 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,51 @@
Want to contribute? Great! First, read this page (including the small print at the end).
Want to contribute? Great! First, read this page.

### Before you contribute
Before we can use your code, you must sign the
[Google Individual Contributor License Agreement]
(https://cla.developers.google.com/about/google-individual)
(CLA), which you can do online. The CLA is necessary mainly because you own the
copyright to your changes, even after your contribution becomes part of our
codebase, so we need your permission to use and distribute your code. We also
need to be sure of various other things—for instance that you'll tell us if you
know that your code infringes on other people's patents. You don't have to sign
the CLA until after you've submitted your code for review and a member has
approved it, but you must do it before we can put your code into our codebase.
Before you start working on a larger contribution, you should get in touch with
us first through the issue tracker with your idea so that we can help out and
possibly guide you. Coordinating up front makes it much easier to avoid
frustration later on.

Any contribution that you make to this repository will
be under the Apache 2 License, as dictated by that
[license](http://www.apache.org/licenses/LICENSE-2.0):

```
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
```

### Developer Certificate of Origin

Contributors must sign-off each commit by adding a `Signed-off-by: ...`
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
[Developer Certificate of Origin (DCO)](https://developercertificate.org/).
You can sign-off a commit via `git commit -s`.

### Code reviews
All submissions, including submissions by project members, require review. We
use Github pull requests for this purpose.

### The small print
Contributions made by corporations are covered by a different agreement than
the one above, the
[Software Grant and Corporate Contributor License Agreement]
(https://cla.developers.google.com/about/google-corporate).

All submissions, including submissions by project members, require review.
We use GitHub pull requests for this purpose. Make sure you've read,
understood and considered all the points below before creating your PR.

#### Style guide

C++ code should adhere to the
[Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html).
You can handle the formatting part of the style guide via `git clang-format`.

#### Best practices

When preparing your PR and also during the code review make sure to follow
[best practices](https://google.github.io/eng-practices/review/developer/).
Most importantly, keep your PR under 200 lines of code and address a single
concern.

#### Testing

- Add unit tests and documentation (these do not count toward your 200 lines).
- Run tests as appropriate, e.g. `docker build . -t cartographer:noetic -f Dockerfile.noetic`.
- Keep rebasing (or merging) of master branch to a minimum. It triggers Travis
runs for every update which blocks merging of other changes.
76 changes: 0 additions & 76 deletions Dockerfile.indigo

This file was deleted.

23 changes: 12 additions & 11 deletions Dockerfile.kinetic
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM ros:kinetic
FROM osrf/ros:kinetic-desktop

ARG CARTOGRAPHER_VERSION=master

# We require a GitHub access token to be passed.
ARG github_token

# Xenial's base image doesn't ship with sudo.
RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y sudo

# First, we invalidate the entire cache if googlecartographer/cartographer has
# First, we invalidate the entire cache if cartographer-project/cartographer has
# changed. This file's content changes whenever master changes. See:
# http://stackoverflow.com/questions/36996046/how-to-prevent-dockerfile-caching-git-clone
ADD https://api.github.com/repos/googlecartographer/cartographer/git/refs/heads/master?access_token=$github_token \
ADD https://api.github.com/repos/cartographer-project/cartographer/git/refs/heads/master?access_token=$github_token \
cartographer_ros/cartographer_version.json

# wstool needs the updated rosinstall file to clone the correct repos.
Expand All @@ -39,9 +39,10 @@ COPY cartographer_ros/package.xml catkin_ws/src/cartographer_ros/cartographer_ro
COPY cartographer_ros_msgs/package.xml catkin_ws/src/cartographer_ros/cartographer_ros_msgs/
COPY cartographer_rviz/package.xml catkin_ws/src/cartographer_ros/cartographer_rviz/
COPY scripts/install_debs.sh cartographer_ros/scripts/
RUN cartographer_ros/scripts/install_debs.sh && rm -rf /var/lib/apt/lists/*
RUN cartographer_ros/scripts/install_debs.sh

# Install proto3.
# Install Abseil and proto3.
RUN /catkin_ws/src/cartographer/scripts/install_abseil.sh
RUN /catkin_ws/src/cartographer/scripts/install_proto3.sh

# Build, install, and test all packages individually to allow caching. The
Expand All @@ -50,17 +51,15 @@ RUN /catkin_ws/src/cartographer/scripts/install_proto3.sh
COPY scripts/install.sh cartographer_ros/scripts/
COPY scripts/catkin_test_results.sh cartographer_ros/scripts/

RUN cartographer_ros/scripts/install.sh --pkg cartographer && \
cartographer_ros/scripts/install.sh --pkg cartographer --make-args test

COPY cartographer_ros_msgs catkin_ws/src/cartographer_ros/cartographer_ros_msgs/
RUN cartographer_ros/scripts/install.sh --pkg cartographer_ros_msgs && \
cartographer_ros/scripts/install.sh --pkg cartographer_ros_msgs \
--catkin-make-args run_tests && \
cartographer_ros/scripts/catkin_test_results.sh build_isolated/cartographer_ros_msgs

RUN cartographer_ros/scripts/install.sh --pkg ceres-solver

RUN cartographer_ros/scripts/install.sh --pkg cartographer && \
cartographer_ros/scripts/install.sh --pkg cartographer --make-args test

COPY cartographer_ros catkin_ws/src/cartographer_ros/cartographer_ros/
RUN cartographer_ros/scripts/install.sh --pkg cartographer_ros && \
cartographer_ros/scripts/install.sh --pkg cartographer_ros \
Expand All @@ -74,6 +73,8 @@ RUN cartographer_ros/scripts/install.sh --pkg cartographer_rviz && \
cartographer_ros/scripts/catkin_test_results.sh build_isolated/cartographer_rviz

COPY scripts/ros_entrypoint.sh /

RUN rm -rf /var/lib/apt/lists/*
# A BTRFS bug may prevent us from cleaning up these directories.
# https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_cannot_delete_an_empty_directory
RUN rm -rf cartographer_ros catkin_ws || true
24 changes: 12 additions & 12 deletions Dockerfile.melodic
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM ros:melodic
FROM osrf/ros:melodic-desktop

ARG CARTOGRAPHER_VERSION=master

# We require a GitHub access token to be passed.
ARG github_token

# Bionic's base image doesn't ship with sudo.
RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y sudo

# First, we invalidate the entire cache if googlecartographer/cartographer has
# First, we invalidate the entire cache if cartographer-project/cartographer has
# changed. This file's content changes whenever master changes. See:
# http://stackoverflow.com/questions/36996046/how-to-prevent-dockerfile-caching-git-clone
ADD https://api.github.com/repos/googlecartographer/cartographer/git/refs/heads/master?access_token=$github_token \
ADD https://api.github.com/repos/cartographer-project/cartographer/git/refs/heads/master?access_token=$github_token \
cartographer_ros/cartographer_version.json

# wstool needs the updated rosinstall file to clone the correct repos.
Expand All @@ -39,28 +39,26 @@ COPY cartographer_ros/package.xml catkin_ws/src/cartographer_ros/cartographer_ro
COPY cartographer_ros_msgs/package.xml catkin_ws/src/cartographer_ros/cartographer_ros_msgs/
COPY cartographer_rviz/package.xml catkin_ws/src/cartographer_ros/cartographer_rviz/
COPY scripts/install_debs.sh cartographer_ros/scripts/
RUN cartographer_ros/scripts/install_debs.sh && rm -rf /var/lib/apt/lists/*
RUN cartographer_ros/scripts/install_debs.sh

# Install proto3.
RUN /catkin_ws/src/cartographer/scripts/install_proto3.sh
# Install Abseil.
RUN /catkin_ws/src/cartographer/scripts/install_abseil.sh

# Build, install, and test all packages individually to allow caching. The
# ordering of these steps must match the topological package ordering as
# determined by Catkin.
COPY scripts/install.sh cartographer_ros/scripts/
COPY scripts/catkin_test_results.sh cartographer_ros/scripts/

RUN cartographer_ros/scripts/install.sh --pkg cartographer && \
cartographer_ros/scripts/install.sh --pkg cartographer --make-args test

COPY cartographer_ros_msgs catkin_ws/src/cartographer_ros/cartographer_ros_msgs/
RUN cartographer_ros/scripts/install.sh --pkg cartographer_ros_msgs && \
cartographer_ros/scripts/install.sh --pkg cartographer_ros_msgs \
--catkin-make-args run_tests && \
cartographer_ros/scripts/catkin_test_results.sh build_isolated/cartographer_ros_msgs

RUN cartographer_ros/scripts/install.sh --pkg ceres-solver

RUN cartographer_ros/scripts/install.sh --pkg cartographer && \
cartographer_ros/scripts/install.sh --pkg cartographer --make-args test

COPY cartographer_ros catkin_ws/src/cartographer_ros/cartographer_ros/
RUN cartographer_ros/scripts/install.sh --pkg cartographer_ros && \
cartographer_ros/scripts/install.sh --pkg cartographer_ros \
Expand All @@ -74,6 +72,8 @@ RUN cartographer_ros/scripts/install.sh --pkg cartographer_rviz && \
cartographer_ros/scripts/catkin_test_results.sh build_isolated/cartographer_rviz

COPY scripts/ros_entrypoint.sh /

RUN rm -rf /var/lib/apt/lists/*
# A BTRFS bug may prevent us from cleaning up these directories.
# https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_cannot_delete_an_empty_directory
RUN rm -rf cartographer_ros catkin_ws || true
Loading