RoboStack / ros-noetic

vinca configuration files for ros-noetic
https://robostack.github.io
449 stars 70 forks source link

Extend and build workspace #387

Closed zichunxx closed 10 months ago

zichunxx commented 10 months ago

Hi!

Thanks to the whole team for the effort to maintain this repo. It indeed offers me some additional options to solve the problem.

Since this is my first time using ros-related libraries through a virtual environment, some of my questions may seem dumb but hopefully could be answered.

Thanks!

Tobias-Fischer commented 10 months ago

Hi @STAY-Melody, great to see you are giving RoboStack a go :).

Basically, if you want to use RoboStack, then you should use the libraries that are provided with conda-forge, not your system libraries. This explains why a workspace that was built with your system ROS is incompatible with your RoboStack environment.

To avoid incompatibilities, I highly recommend to build the workspace after activating the robostackenv. This will require a catkin clean or similar first.

I am not sure what you mean by "the workspace should not contain some cpp files and only Python files are allowed". RoboStack/conda support both C++ and Python (and much more).

Regarding roslaunch moveit: Again I am not sure I understand 100% what you mean. You can happily continue to use your system's ROS installation, that can exist in parallel to your robostackenv. So you can use the robostackenv in one terminal, and your system's ROS in another terminal. However, you need to make sure that you do not source /opt/ros/noetic/setup.bash by default - it must not be sourced as this would lead to incompatibilities as per above. To avoid this, if necessary, simply remove it from your ~/.bashrc or similar.

Let us know if you have more questions :)

zichunxx commented 10 months ago

@Tobias-Fischer Thanks for the detailed explanation.

Also, the workspace should not contain some cpp files, and only Python files are allowed.

I previously thought RoboStack only supported Python, but now I have a whole new perspective on it.

You can happily continue to use your system's ROS installation, that can exist in parallel to your robostackenv. So you can use the robostackenv in one terminal, and your system's ROS in another terminal. However, you need to make sure that you do not source /opt/ros/noetic/setup.bash by default - it must not be sourced as this would lead to incompatibilities as per above. To avoid this, if necessary, simply remove it from your ~/.bashrc or similar.

I will try this method like you said.

BTW, I think RoboStack is not only a library but a good community. I'd like to contribute when I'm free. But at the moment, I think I don't have the skills to compile some pakcages and pull a request. So, is there any documentation I can refer to in order to add a new package to RoboStack. It is also a good chance for me to learn something.

Thanks!

Tobias-Fischer commented 10 months ago

Great! Please refer to our paper on how to add new packages to robostack, and check out our contributing guide on https://robostack.github.io/Contributing.html

Many thanks, and let us know if you have more questions.

Best, Tobi