Skip to content

Feature/box2d v3 on rr upstream#39

Open
sabarish-prasannna wants to merge 81 commits into
masterfrom
feature/box2d-v3-on-rr-upstream
Open

Feature/box2d v3 on rr upstream#39
sabarish-prasannna wants to merge 81 commits into
masterfrom
feature/box2d-v3-on-rr-upstream

Conversation

@sabarish-prasannna
Copy link
Copy Markdown

No description provided.

marbosjo and others added 30 commits January 4, 2018 16:14
…ation performance suffers a lot without optimizations enabled
Signed-off-by: Emiliano Borghi <emiliano.borghi@gmail.com>
Fix ground truth Tf changing parent frame
Version bump of flatland metapackage
reorder include dirs to fix overlay builds
…ration-limit

Fix uninitialized acceleration limit, and add unit tests to TricycleDrive plugin
josephduchesne and others added 30 commits January 27, 2023 10:18
Clean up lidar flip param, and re-introduce CI testing for ros1
* Allows turning off the tf broadcaster of base_link ("body" link)
  to odom in cases where the non-Flatland code provides this
  transform.
* Improved debugging output of FlatlandViz::addTool
…adcast-optional

Make diff drive plugin tf broadcasting a configurable option
version bumped to 1.4.0 for new IMU plugin
Fixed cmake warning on ros build farm, bumped version to 1.4.1
…n speed up performance 10-20%, and is baseline faster at =0
Rebased all Rapyuta Robotics changes on top of avidbots/flatland master
(74 upstream commits: IMU plugin, laser simplify_map, diff-drive TF option,
performance improvements, version 1.4.1).

RR changes preserved:
- MessageServer: in-process pub/sub messaging (message_server.h/cpp)
- Profiler: lightweight sim profiling (profiler.h + START/END_PROFILE in laser)
- World YAML split: world.yaml + world_plugins.yaml separation (137 test files)
- SimulationManager: LoadWorldEntities(), models_path_, world_plugins_path_,
  wait-for-map loop, ros::WallRate, ServiceManager as unique_ptr member
- DiffDrive: enable_ground_truth_pub_ independent of enable_odom_pub_
- Restartable simulation, wall timer, service manager improvements

Conflict resolutions:
- laser.h/cpp: kept upstream upside_down_ (was flipped_) + always_publish_;
  activated START/END_PROFILE macros from rr-devel
- diff_drive.h/cpp: kept upstream enable_odom_tf_pub_/twist_in_local_frame_;
  added rr-devel enable_ground_truth_pub_ as independent flag
- simulation_manager.h: merged both field sets (Timekeeper/iterations + RR fields)
- simulation_manager.cpp: took rr-devel (LoadWorldEntities restructuring)
- layer.cpp: took upstream cv::inRange fix (occupied_thresh direction)
- conestogo world.yaml: took upstream
Combines Box2D v3.1.0 migration (feature/box2d-v3) on top of
rr-devel-on-upstream (upstream avidbots master + rr-devel changes).

Box2D v3 changes (from feature/box2d-v3):
- Migrate vendored Box2D 2.3.2 -> FetchContent Box2D v3.1.0
- Add enkiTS v2.10 multi-threaded task scheduler
- Full API migration: b2Body*/b2Fixture*/b2Joint* -> opaque IDs
- Replace contact callbacks with event polling (b2World_GetContactEvents)
- Replace b2RayCastCallback with free-function ray cast callbacks
- Wire enkiTS into b2WorldDef for multi-core physics solver
- Remove ThreadPool from laser plugin (enkiTS handles threading)
- Update all test files to v3 API
- MessageServer, GetWorld, LoadWorldEntities, SlowSimTime, FastSimTime
  ported from rr-devel for flatland_interface/sootballs compatibility

Conflict resolution (52 files, all took --theirs / box2d version):
- All physics API rewrites, plugin implementations, test files

Known gaps vs rr-devel-on-upstream (to add as follow-up if needed):
- simulation_manager: models_path_/world_plugins_path_ (world plugins
  path split) reverted to single-arg MakeWorld; LoadWorldEntities is
  declared in world.h but not called from simulation_manager
- diff_drive: enable_ground_truth_pub_ / enable_odom_tf_pub_ /
  twist_in_local_frame_ not present (box2d version uses old non-fast-sim API)
service_manager.cpp already references request.yaml_path which
caused a compile error. The original feature/box2d-v3 branch had
yaml_path, but it was overwritten during the rr-devel rebase onto
upstream/master. Restoring the correct field name.
…field

Three CI build failures:
1. simulation_manager.cpp:132: START_PROFILE undeclared
   - Missing #include <flatland_server/profiler.h>
2. simulation_manager.cpp:155: END_PROFILE undeclared
   - Same missing include (both macros live in profiler.h)
3. world.cpp:242: World has no member 'physics_position_iterations_'
   - Field was used in MakeWorld() 3-arg overload but not declared in world.h
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants