ROBOTIS-GIT / turtlebot3

ROS packages for Turtlebot3
http://turtlebot3.robotis.com
Apache License 2.0
1.44k stars 1k forks source link

turtlebot3_navigation2 has a transitive dependency on dynamixel_sdk #581

Open ruffsl opened 4 years ago

ruffsl commented 4 years ago

It looks like for the ros2 packages, that the dependency relationship turtlebot3_navigation2 -> turtlebot3_bringup -> turtlebot3_node requires the installation turtlebot3 drivers even when only turtlebot3_simulations is attempted to be used.

https://github.com/ROBOTIS-GIT/turtlebot3/blob/1ff16b4831aa8b4478b2c2e5a59376673635683c/turtlebot3_bringup/package.xml#L22

Is there a reason that turtlebot3_bringup needs turtlebot3_node or that turtlebot3_navigation2 needs turtlebot3_bringup? Is there a way we could use turtlebot3_navigation2 with turtlebot3_simulations without needing to install hardware drivers?

Related: https://github.com/ROBOTIS-GIT/turtlebot3/issues/481

ruffsl commented 4 years ago

It also seems that turtlebot3_gazebo depends on turtlebot3 -> turtlebot3_node->dynamixel_sdk. I think turtlebot3_gazebo may want to explicitly depend only on packages it really needs.

ROBOTIS-Will commented 4 years ago

@ruffsl The package is designed for the users who have the TurtleBot3 platform in their hand as our eManual is written with step by step instructions. In the instruction, simulation comes in the later part so the package had to be prepared in the earlier stage. We understand this dependency requires unnecessary package installation for the simulation only users. We'll review this with ROS2 Foxy support and how we can improve our package structure to meet the vast majority of ROS users interest. Thank you for your voice.