Installing previous version of ROS2 dashing [closed]
I want to build a system with the following configuration.
ROS2 dashing (master branch,source build, rclcpp dependency tag:0.7.0)
Navigation2 (master branch,source build ,Commit:226f06)
teb_local_planner(dashing-branch)
I heard that teb_local_planner has been checked by Navigation2 (Commit:226f06), so I would like to reproduce the environment.
When building Navigation2 (source build ,Commit:226f06) with the latest dashing, I get an error about the version of rclcpp.
Therefore, I would like to introduce RCLCPP, RMW and other versions from the current 1.X.X to around 0.7.0.
In the official build operation
$ vcs import src < ros2.repos
then the latest dependencies will be installed. Is there a way to install all the dependencies of the previous version at once? Please let me know if anyone can help.
The following is the error that occurred when trying to introduce Navigation2 with the latest dashing.
--- stderr: nav2_lifecycle_manager
/home/fujimoto/navigation2_ws/src/navigation2/nav2_lifecycle_manager/src/lifecycle_manager_client.cpp: In member function ‘bool nav2_lifecycle_manager::LifecycleManagerClient::navigate_to_pose(double, double, double)’:
/home/fujimoto/navigation2_ws/src/navigation2/nav2_lifecycle_manager/src/lifecycle_manager_client.cpp:159:50: error: ‘std::shared_future<rclcpp_action::ClientGoalHandle<ActionT>::WrappedResult> rclcpp_action::ClientGoalHandle<ActionT>::async_result() [with ActionT = nav2_msgs::action::NavigateToPose]’ is deprecated: use rclcpp_action::Client::async_get_result() instead [-Werror=deprecated-declarations]
auto future_result = goal_handle->async_result();
^
In file included from /home/fujimoto/ros2_dashing/install/rclcpp_action/include/rclcpp_action/client_goal_handle.hpp:180:0,
from /home/fujimoto/ros2_dashing/install/rclcpp_action/include/rclcpp_action/client.hpp:39,
from /home/fujimoto/ros2_dashing/install/rclcpp_action/include/rclcpp_action/rclcpp_action.hpp:36,
from /home/fujimoto/navigation2_ws/src/navigation2/nav2_lifecycle_manager/include/nav2_lifecycle_manager/lifecycle_manager_client.hpp:25,
from /home/fujimoto/navigation2_ws/src/navigation2/nav2_lifecycle_manager/src/lifecycle_manager_client.cpp:15:
/home/fujimoto/ros2_dashing/install/rclcpp_action/include/rclcpp_action/client_goal_handle_impl.hpp:60:1: note: declared here
ClientGoalHandle<ActionT>::async_result()
^~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/nav2_lifecycle_manager_core.dir/src/lifecycle_manager_client.cpp.o] Error 1
make[1]: *** [CMakeFiles/nav2_lifecycle_manager_core.dir/all] Error 2
make: *** [all] Error 2
Not the expected answer, but it would probably be better to fix the problems of teb_local_planner in the current ROS2. I will try to work on it soon, but you might want to try it too if you want it to work now. I think there is not much to change. EDIT: oh, you want dashing. There were lots of changes between dashing and eloquent in ROS navigation. I don't recommend to use dashing.
Ditto. Eloquent fixed a TON of really important things. Unless you really know what you’re doing and that’s what you want, I wouldn’t advise it.
@croesmann Thank you very much for your response. It would be great if teb_local_planner could be modified to work with the latest dashing and Navigation2 environments. Thank you for your support.
@stevemacenski Thank you for the information about eloquent. I have to use a version of dashing for internal reasons, but certainly dashing is not very stable, so I'd like to use eloquant if I could.
sorry, I can't help you with dashing. I meant fixing it for eloquent or even foxy (there were too many changes between dashing and eloquent). Also, what I remember is that the teb_local_planner did not work with the dashing nav2 release, but only with some version from the master branch at that time (but that required compiling the whole dashing core packages from source as well if I remember correctly, it was a pain).
Sorry, I missed your edit. As you pointed out, I was trying to reproduce the specific version of the Master branch of Navigation2 that was listed on teb_local_planner's github. I tried to recreate the environment of the ROS master branch at the time of commit, but it seems to be difficult. Thank you very much. teb_local_planner is a very good package, so I hope you will continue to develop it in the future.