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
fuse -> ROS 2 fuse_optimizers: Port fuse_optimizers #307
fuse -> ROS 2 fuse_optimizers: Port fuse_optimizers #307
Conversation
9fa6009
to
d69cc5b
Compare
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: methylDragon <methylDragon@gmail.com>
e82af9e
to
3733599
Compare
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.
In progress review - will continue tomorrow
fuse_optimizers/include/fuse_optimizers/fixed_lag_smoother_params.h
Outdated
Show resolved
Hide resolved
e4f55b6
to
e2b585e
Compare
Signed-off-by: methylDragon <methylDragon@gmail.com>
e2b585e
to
92fa8ef
Compare
Uses user provided timestamp to construct TimestampManager::MotionModelSegment to ensure all rclcpp::Time points use the same clock type that's being fed in. Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: methylDragon <methylDragon@gmail.com>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
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 are my last comments on this PR. Once they're addressed and methylDragon#5 is included then this PR will LGTM 🚀
fuse_models/src/graph_ignition.cpp
Outdated
// It needs to be free to handle the response to this service call. | ||
// Have a callback do the rest of the work when a response comes. | ||
auto result_future = reset_client_->async_send_request(srv, | ||
[this, post_process, &graph, msg](rclcpp::Client<std_srvs::srv::Empty>::SharedFuture result){ |
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.
It looks like graph
is a local variable (of type std::unique_ptr<...>
), so if I understand correctly it will probably already be destructed by the time this lambda is run. I think this needs to be a move capture , graph = std::move(graph),
instead
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 had to convert the graph uniqueptr into a shared_ptr so it can be copyable.
- This is because the async service call signature we're using requires a std::function, which must be copyable (and so requires all args to be copyable)
But aside from that, this bug is fixed! Nice catch!
fuse_optimizers/src/optimizer.cpp
Outdated
|
||
#include <XmlRpcValue.h> | ||
//#include <XmlRpcValue.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.
nit, delete this line
fuse_optimizers/src/optimizer.cpp
Outdated
// TODO(CH3): pass a rclcpp::Context, and a CallbackGroup | ||
Optimizer::Optimizer(rclcpp::NodeOptions options, fuse_core::Graph::UniquePtr graph) : | ||
Node("optimizer_node", options), | ||
// XXX pass a rclcpp::Context, and a CallbackGroup |
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.
Nit, comment no longer required
fuse_optimizers/test/CMakeLists.txt
Outdated
test_variable_stamp_index | ||
) | ||
|
||
foreach(test_name ${TEST_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.
nit, looks like the loop and TEST_TARGETS
variable are no longer necessary. I'd recommend removing them
// Load a positive parameter: | ||
{ | ||
double parameter{default_value}; | ||
fuse_core::getPositiveParam(node, "positive_parameter", parameter); |
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 looks like a copy of a test from fuse_core
. I think this file can be deleted.
Signed-off-by: methylDragon <methylDragon@gmail.com>
b96524e
to
81d9202
Compare
See: #276
Description
This PR ports the entirety of fuse_optimizers, including:
Pinging @svwilliams for visibility.