Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #76

Draft
wants to merge 130 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 118 commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
0810c23
First commit
aaronchongth Jul 27, 2020
eea6bb6
Separating cyclonedds specific packages
aaronchongth Jul 27, 2020
63486ba
Initial draft of CommandHandle
aaronchongth Aug 3, 2020
ceb0ab2
Finished abstract interface for update handle, starting on middleware…
aaronchongth Aug 4, 2020
11e039e
Finished first iteration of abstract interfaces and messages API
aaronchongth Aug 5, 2020
690fbc5
Cleaned up old libraries, started interface for client library
aaronchongth Aug 5, 2020
c19bb8e
Starting derived middleware for cyclonedds
aaronchongth Aug 7, 2020
e842e50
Refactored cyclonedds subscribing and publishing
aaronchongth Aug 11, 2020
86b4485
Generated middleware messages for derived class
aaronchongth Aug 11, 2020
bd3e6bc
Starting middleware implementation for CycloneDDS
aaronchongth Aug 19, 2020
34b2836
Touching up on the abstract interfaces, ready for review
aaronchongth Aug 19, 2020
af1d154
Mesasge utils and conversion reworked
aaronchongth Aug 28, 2020
20d81d4
Added basic pubsub test, TODO: timestamps
aaronchongth Sep 1, 2020
05c51f0
Added transient local support and tests
aaronchongth Sep 3, 2020
a5acac1
Corrected lowercase name
aaronchongth Sep 4, 2020
52c899c
Client factory function created
aaronchongth Sep 8, 2020
a4b6a84
CycloneDDS derivation of middleware completed, not tested
aaronchongth Sep 9, 2020
565f203
Basic client server tests
aaronchongth Sep 9, 2020
5ea7dd4
Cleaning up old ROS2 dependencies
aaronchongth Sep 10, 2020
0bbcb2d
Fixed faulty cmake installation
aaronchongth Sep 11, 2020
d7700b1
Change abstract API to send robot to single location instead of list …
aaronchongth Sep 11, 2020
3ec40c0
Switched back to using paths
aaronchongth Sep 24, 2020
a1124ce
Missing const for abstract interface
aaronchongth Oct 2, 2020
43d3ee6
Changed definition of command handle to use location, new idl definit…
aaronchongth Oct 14, 2020
f7c523e
Fixed the rest of the graph index to location migration
aaronchongth Oct 15, 2020
98822cf
Cleanup, corrected tests between client and manager
aaronchongth Oct 20, 2020
70d52bb
Implemented client navigation request callback, TODO: read mode and n…
aaronchongth Oct 20, 2020
3fde6c5
Pause, resume tests working
aaronchongth Oct 22, 2020
520e60f
Basic structure of manager, various tests working
aaronchongth Oct 22, 2020
b43042e
Adding the uses of waypoints, removing the interface for graph relate…
aaronchongth Oct 23, 2020
e8444a9
Added basic frame transformer to be used on the server
aaronchongth Oct 23, 2020
9f18405
Implemented FrameTransformer
aaronchongth Oct 26, 2020
999cac4
Removing default class initializer to prevent warning
aaronchongth Oct 26, 2020
d4ebd7b
Reverted back to server instead of manager
aaronchongth Oct 27, 2020
a24338a
Implementing Manager, added RelocalizationRequest message definition
aaronchongth Oct 28, 2020
e20a7d2
Fixed minor syntax issues for build
aaronchongth Oct 28, 2020
f6feaae
Basic state aggregation on manager
aaronchongth Nov 13, 2020
531ad19
Middleware modification to non-shared returns, relocalization added t…
aaronchongth Nov 13, 2020
fb08a7f
tests for free_fleet_cyclonedds
aaronchongth Nov 16, 2020
6edcf56
Fixed string conversion errors, tests for free_fleet_cyclonedds prett…
aaronchongth Nov 17, 2020
3fe9127
Build test for new free_fleet rework, TODO: run tests in actions
aaronchongth Nov 17, 2020
74d3795
Fix wrong container image name
aaronchongth Nov 18, 2020
48f99f5
Fix build test
aaronchongth Nov 18, 2020
1ace759
Manager now uses a state update fn
aaronchongth Nov 18, 2020
f17dac9
Using RobotInfo for tracking, working on RequestInfo now
aaronchongth Nov 19, 2020
a67a4b5
Failing at reinterpret cast of base class
aaronchongth Nov 19, 2020
f3db580
Fixed using std dynamic_pointer_cast
aaronchongth Nov 19, 2020
71d0ba2
Manager builds the messages from information, requests are now handle…
aaronchongth Nov 20, 2020
5b19c44
Added tests for free_fleet, makeClient
aaronchongth Nov 22, 2020
ab53bd9
Adding transformer
aaronchongth Nov 22, 2020
91fda42
Added lane distance estimate
aaronchongth Nov 23, 2020
eacacfd
Starting on graph tracker as a standalone module
aaronchongth Nov 24, 2020
338ee1d
Unsure when to populate the lanes category
aaronchongth Nov 24, 2020
ae78da3
Tracking state shifted back to robot info, TODO revamping the states
aaronchongth Nov 25, 2020
8fef44d
Changed message definitions for idl, commited new messages, using ind…
aaronchongth Nov 26, 2020
dbff859
Changed all index related to use std size_t, shifting robot task trac…
aaronchongth Nov 26, 2020
47be7a3
Removed rogue robot task map in manager
aaronchongth Nov 26, 2020
c128dd8
Idle task ID to be 0, wrap-around not tested
aaronchongth Nov 30, 2020
eaaa95b
Tracking without tasks should be completed
aaronchongth Nov 30, 2020
bf1551b
Using relocalization information to track
aaronchongth Nov 30, 2020
3f36db9
Implementation error regarding tracking states transition
aaronchongth Dec 1, 2020
8e8f469
Cleaning up the logic, making sure the tracking only happens wrt the …
aaronchongth Dec 1, 2020
bde0ae4
Tracking on navigation requests are all the same for all tracking states
aaronchongth Dec 2, 2020
d928d3c
Tracking implementation complete, not tested
aaronchongth Dec 2, 2020
d2fc27b
Added comparing operators to all messages, basic creation and API tes…
aaronchongth Dec 3, 2020
6d135ae
Simple tests for waypoint placements and tracking done
aaronchongth Dec 9, 2020
6a5f8f9
test_ModeRequestInfo done
aaronchongth Dec 21, 2020
75b248a
Tests for request info done
aaronchongth Dec 21, 2020
0fd9bcf
Test failing for lost case
aaronchongth Jan 4, 2021
dc39752
Basic tracking working, having issues with tracking onto navigation p…
aaronchongth Jan 4, 2021
fa6a971
Tracking working, tests passing
aaronchongth Jan 5, 2021
9ff17bc
Cleaned up graph tracker files
aaronchongth Jan 5, 2021
ac9cf65
Creating public API for robot info, working through uses in manager
aaronchongth Jan 7, 2021
38710a9
API migration completed
aaronchongth Jan 22, 2021
dd1514d
RobotInfo public API migrated, tested
aaronchongth Jan 22, 2021
6f15f09
make Manager tests finished
aaronchongth Jan 22, 2021
957a8b6
Callback function gets RobotInfo instead of new state message
aaronchongth Jan 25, 2021
29ea394
Finished manager related tests, refactored and fixed all the warnings
aaronchongth Jan 27, 2021
8f7e958
Fixed bug with dangling reference to nullptr when registering new robots
aaronchongth Mar 16, 2021
19b4472
Uncommented tracking meant for demo
aaronchongth Mar 16, 2021
b5a4692
Reverted version number for free_fleet package
aaronchongth Apr 5, 2021
7f9963c
Reverted version number for free_fleet_cyclonedds package
aaronchongth Apr 5, 2021
00ebfc0
Making CoordinateTransformer a pure virtual interface, implementing a…
aaronchongth Apr 5, 2021
0d45707
Fixed typo in TimeNow funciton docmentation.
aaronchongth Apr 5, 2021
50a1ef7
Removed out-of-place and outdated documentation
aaronchongth Apr 5, 2021
b2f86f4
Added start_async for Client, added docs mentioning blocking and asyn…
aaronchongth Apr 7, 2021
8b1f73d
Fixed docs for client API and fixed t_prev in while loop
aaronchongth Apr 7, 2021
51527ef
Added more tests for client construction
aaronchongth Apr 7, 2021
9e61e93
Added run and start_async for Manager, added tests
aaronchongth Apr 7, 2021
c81ee41
Manager callback function to return const& instead of a shared pointer
aaronchongth Apr 8, 2021
62e6e20
Returning shared pointers to const RobotInfo
aaronchongth Apr 8, 2021
f8bd824
Added const to Graph and CoordinateTransformer, keep Middleware as un…
aaronchongth Apr 8, 2021
9ad8498
Split middleware interface for server and client
aaronchongth Apr 8, 2021
391f76d
Made client middleware reactive to incoming messages, modified client…
aaronchongth Apr 9, 2021
c50f4f0
Breaking mode requests into specific pause, resume and dock requests,…
aaronchongth Apr 14, 2021
17fc90b
Split up mode request calls to pause, resume and dock, moved tracking…
aaronchongth Apr 16, 2021
aa80cb9
Using std::optional and std::nullopt, default to C++17
aaronchongth Jun 8, 2021
617db1b
Fixing namespaces to client and manager, relocated source files and h…
aaronchongth Jun 10, 2021
24d7798
Correcting namespace in tests, moving Client and Manager to project n…
aaronchongth Jun 14, 2021
d49365f
Added Console object for unified output streams, fixed coments regard…
aaronchongth Jun 15, 2021
d652daa
Added Worker and Executor, refactored Client and Manager to inherit W…
aaronchongth Jun 18, 2021
44c9147
Fixed const correctness and removed useless printouts
aaronchongth Jun 21, 2021
9a23f64
Removed acknowledged_time setter in RequestInfo, receives time_now_fn…
aaronchongth Jun 21, 2021
b5f2db7
Removed the use of parent in RobotInfo::Implementation, using static …
aaronchongth Jun 21, 2021
2499ef2
Added TaskId type, using nullopt for idle task, pimpl-ized messages, …
aaronchongth Jul 2, 2021
edbac20
Added NavigationPoint to be used for navigation requests, modified lo…
aaronchongth Jul 2, 2021
aec68b9
Changed distance_to_lane implementation
aaronchongth Jul 2, 2021
3afa228
Removed unused utilities function
aaronchongth Jul 2, 2021
bf0707b
Making server middleware reactive, removing optional parameter in con…
aaronchongth Jul 28, 2021
1f04ee3
Generating messages from IDL during build, implemented new conversion…
aaronchongth Jul 30, 2021
a8468c2
Conversion functions implemented
aaronchongth Aug 4, 2021
5f54e1c
Conversions tested, modified target_path_index name
aaronchongth Aug 6, 2021
8423685
Subscribers are reactive, and removed support for transient_local
aaronchongth Aug 12, 2021
a57f553
Implemented Client and Server middlewares
aaronchongth Aug 13, 2021
18d055c
Finished tests, fixed bugs related to implementation
aaronchongth Aug 19, 2021
ed5896a
Build workflow with cmake minimum version of 3.7 to match the cyclone…
aaronchongth Aug 26, 2021
7901b58
Fixed linting errors and rmf_cmake_uncrustify incantations
aaronchongth Sep 1, 2021
d455e9a
Optional next path index for states, as it is only used and available…
aaronchongth Oct 1, 2021
d24be60
Fixed all minor comments and stale includes
aaronchongth Oct 26, 2021
3643191
Removed more stale includes
aaronchongth Oct 26, 2021
be66459
Checking if callback is null
aaronchongth Oct 29, 2021
f166b01
Renaming task to command to avoid confusion with rmf tasks
aaronchongth Oct 29, 2021
13bf977
Pass a copy of time_now_fn, instead of wrapping another lambda
aaronchongth Oct 29, 2021
8f55956
Refactoring long if condition
aaronchongth Oct 29, 2021
6208beb
Reducing capture scope for lambdas, using shared pointers to manage m…
aaronchongth Oct 29, 2021
e8bec64
Keeping client data in a data structure to be shared with all lambdas
aaronchongth Nov 16, 2021
3c31a01
Removed stale enable_shared_from_this
aaronchongth Nov 16, 2021
e58cc91
Docking command returns bool to determine whether it has been recognized
aaronchongth Nov 16, 2021
a713a24
Added distinct unique and shared factory functions for cyclonedds mid…
aaronchongth Nov 26, 2021
14caa61
Bug fixes for the develop branch (#109)
chianfern Dec 9, 2021
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
106 changes: 22 additions & 84 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -1,90 +1,28 @@
name: build
on: push
jobs:
on:
push:
pull_request:
schedule:
- cron: '0 0 * * *'

ros1:
runs-on: ubuntu-18.04
container:
image: docker://ros:melodic-ros-base-bionic
steps:
- name: deps
run: |
sudo apt update && sudo apt install \
git wget \
python-rosdep \
python-catkin-tools \
python3-vcstool \
python3-colcon-common-extensions \
maven default-jdk -y
- name: workspace
shell: bash
run: |
mkdir -p /home/ros1_ws/src
cd /home/ros1_ws
wget https://raw.githubusercontent.com/osrf/free_fleet/${GITHUB_REF:11}/ros1.repos
vcs import src < ros1.repos
- name: checkout
shell: bash
run: |
cd /home/ros1_ws/src/free_fleet
git checkout "${GITHUB_REF:11}"
- name: rosdeps
shell: bash
run: |
cd /home/ros1_ws
rosdep update
source /opt/ros/melodic/setup.bash
rosdep install --from-paths src --ignore-src -y -r --skip-keys="rmf_fleet_msgs ament_lint_common rclpy rclcpp rosidl_default_generators ament_cmake builtin_interfaces"
- name: build
shell: bash
run: |
cd /home/ros1_ws
source /opt/ros/melodic/setup.bash
catkin build \
free_fleet \
ff_examples_ros1 \
ff_rviz_plugins_ros1 \
free_fleet_client_ros1
jobs:

ros2:
runs-on: ubuntu-18.04
container:
image: docker://ros:eloquent-ros-base-bionic
build:
name: build
runs-on: ubuntu-20.04
steps:
- name: pwd
run: pwd
- name: deps
run: |
sudo apt update && sudo apt install \
git wget \
python-rosdep \
python-catkin-tools \
python3-vcstool \
python3-colcon-common-extensions \
maven default-jdk -y
- name: workspace
shell: bash
run: |
mkdir -p /home/ros2_ws/src
cd /home/ros2_ws
wget https://raw.githubusercontent.com/osrf/free_fleet/${GITHUB_REF:11}/ros2.repos
vcs import src < ros2.repos
- name: checkout
shell: bash
run: |
cd /home/ros2_ws/src/free_fleet
git checkout "${GITHUB_REF:11}"
- name: rosdeps
shell: bash
run: |
cd /home/ros2_ws
rosdep update
source /opt/ros/eloquent/setup.bash
rosdep install --from-paths src --ignore-src -y -r --skip-keys="actionlib tf roscpp rviz catkin map_server turtlebot3_navigation turtlebot3_bringup turtlebot3_gazebo move_base amcl"
uses: ros-tooling/setup-ros@v0.2
with:
required-ros-distributions: galactic
- name: build
shell: bash
run: |
cd /home/ros2_ws
source /opt/ros/eloquent/setup.bash
colcon build --packages-up-to \
free_fleet \
ff_examples_ros2 \
free_fleet_server_ros2
uses: ros-tooling/action-ros-ci@v0.2
with:
target-ros2-distro: galactic
package-name: |
free_fleet
free_fleet_cyclonedds
vcs-repo-file-url: |
https://raw.githubusercontent.com/open-rmf/free_fleet/main/ff.repos
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,6 @@ venv.bak/

# vscode
.vscode/

# vim
*.swp
11 changes: 0 additions & 11 deletions ff_examples_ros1/CHANGELOG.rst

This file was deleted.

30 changes: 0 additions & 30 deletions ff_examples_ros1/CMakeLists.txt

This file was deleted.

18 changes: 0 additions & 18 deletions ff_examples_ros1/launch/fake_client.launch

This file was deleted.

90 changes: 0 additions & 90 deletions ff_examples_ros1/launch/include/single_turtlebot3_ff.launch

This file was deleted.

103 changes: 0 additions & 103 deletions ff_examples_ros1/launch/multi_turtlebot3_ff.launch

This file was deleted.

Loading