I am interested in utilizing the "SMACC2" library, a versatile event-driven, asynchronous, behavioral state machine library designed for real-time ROS 2 applications. While I am aware that official support for the Foxy distribution has concluded, I am currently working on Ubuntu 20.04 LTS.
To address this, I have successfully built the "foxy" branch of the SMACC2 library from the GitHub repository by following the provided instructions https://github.com/robosoft-ai/SMACC2.
My workspace, located at ~/workspace/foxy_ws, consists of the build, install, and log folders, in addition to the src folder containing the downloaded source files from the aforementioned GitHub page. Now, my objective is to copy or move each package from the install directory to the /opt/foxy directory, ensuring that all the subfolders (i.e., include, lib, share) are correctly distributed within the /opt/foxy directory.
Here is the current structure of my workspace:
user@user:~/workspace/foxy_ws$ ls
build install log src
and install includes:
user@user:~/workspace/foxy_ws/install$ ls -l
... COLCON_IGNORE
... local_setup.bash
... local_setup.ps1
... local_setup.sh
... _local_setup_util_ps1.py
... _local_setup_util_sh.py
... local_setup.zsh
... ros_timer_client
... setup.bash
... setup.ps1
... setup.sh
... setup.zsh
... smacc2
... smacc2_msgs
... sm_atomic
... sm_atomic_mode_states
I am uncertain about how to incorporate packages such as ros_timer_client, smacc2, smacc2_msgs, sm_atomic, and sm_atomic_mode_states into any workspace without being confined to ~/workspace/foxy_ws in my implementations.
If anyone has encountered a similar question or has insights into this matter, I would greatly appreciate your guidance. I have conducted a search on Stack Overflow but have not found a satisfactory answer.
Thank you in advance.
I have tried to run the following command in the ~/workspace/foxy_ws
sudo colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --install-base /opt/foxy
and it destroyed the destroy the integrity of ros2 framework. I could not run the fundamental ros2 run commands after that.