Git Product home page Git Product logo

robosoft-ai / smacc2 Goto Github PK

View Code? Open in Web Editor NEW
204.0 10.0 34.0 42.22 MB

An Event-Driven, Asynchronous, Behavioral State Machine Library for ROS2 (Robotic Operating System) applications written in C++

Home Page: https://smacc.dev

License: Apache License 2.0

CMake 2.31% C++ 85.43% Dockerfile 0.64% Shell 1.13% Python 10.49%
cplusplus cpp state-machine ros2 moveit2 nav2 mobilerobots mobile-robots ros2-galactic ros2-rolling

smacc2's People

Contributors

brettpac avatar destogl avatar mergify[bot] avatar nuclearsandwich avatar pabloinigoblasco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smacc2's Issues

QUESTION - How to republish data from one orthogonal/topic to another

Hi, sorry to be a bother!

I've looked through all the examples but couldn't quite find what I'm after...

I have an OrSubscriber which subscribes to a ros topic.
I have an OrPublisher which publishes to a ros topic using the CbDefaultPublishLoop behavior.

I want to take each message published to the OrSubscriber transform it in some way based on logic inside a state and then publish it to the CbDefaultPublishLoop behavior. I've managed to hack something together in the update loop but it is maybe not the nicest....

    void update() override
    {
      auto cbSubscriber = this->getOrthogonal<OrSubscriber>()->getClientBehavior<CbSubscriber>();

      auto cbPublisher = this->getOrthogonal<OrPublisher>()->getClientBehavior<CbDefaultPublishLoop>();
      std_msgs::msg::Float32 cbPublisherMsg;
      cbPublisherMsg.data = cbSubscriber.data; // CbSubscriber stores the last message
      cbPublisher->setMessage(cbPublisherMsg);
    }

Is there a canonical way of doing this?
Thanks!

[BUG] std_srvs/srv/empty.hpp: No such file or directory.

Describe the bug
cannot find header files.

To Reproduce
Steps to reproduce the behavior:

  1. colcon build

Expected behavior
compile success

Screenshots
If applicable, add screenshots to help explain your problem.

image

Environment (please complete the following information):

ROS DETAILS:

  • OS: Ubuntu 22.04 LTS
  • Version: Humble

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Branch: galactic
  • Commit (First 5 Digits): 193a8a3

BUILDSPACE DETAILS (List all packages):

  • ...

BUILD DETAILS

  • Build Command: colcon build --symlink-install

Additional context

  • Anything that may be unusual about your environment

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

Error Details

smacc2_sm_reference_library/sm_atomic_services/include/sm_atomic_services/clients/cl_service_server.hpp:17:10: fatal error: std_srvs/srv/empty.hpp: No such file or directory
   17 | #include <std_srvs/srv/empty.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

┆Issue is synchronized with this Jira Task by Unito

sm_three_some example not running on galactic

Describe the bug
I am currently investigating the SMACC2 usage for a project.
I need subscribers to generate events so I have taken a look at examples using subscribers.
I have tried to run the sm_three_some example but there is an error about a topic without name but then, the state machine structure is not printed as for the other examples and after some logs, the node exits with return code 245.

To Reproduce
Steps to reproduce the behavior:

  1. Clone the galactic branch
  2. Follow the README to build (vcs import and rosdep install)
  3. colcon build
  4. source install/setup.bash
  5. ros2 run sm_three_some sm_three_some_node

Expected behavior
The state machine running

Output

console output
$ ros2 run sm_three_some sm_three_some_node 
1646932441.267087 [0] sm_three_s: selected interface "lo" is not multicast-capable: disabling multicast
[INFO] [1646932441.272365375] [SmThreeSome]: Creating State Machine Base: /SmThreeSome
[INFO] [1646932441.272556170] [SmThreeSome]: [sm_three_some::OrTimer] creating client object, type:'cl_ros_timer::ClRosTimer' object tag: 'sm_three_some::OrTimer'
[INFO] [1646932441.272622045] [SmThreeSome]: sm_three_some::OrTimer Orthogonal is created
[INFO] [1646932441.272673740] [SmThreeSome]: [sm_three_some::OrUpdatablePublisher] creating client object, type:'cl_ros_publisher::ClRosPublisher' object tag: 'sm_three_some::OrUpdatablePublisher'
[INFO] [1646932441.272713190] [SmThreeSome]: sm_three_some::OrUpdatablePublisher Orthogonal is created
[INFO] [1646932441.272746011] [SmThreeSome]: [sm_three_some::OrKeyboard] creating client object, type:'cl_keyboard::ClKeyboard' object tag: 'sm_three_some::OrKeyboard'
[INFO] [1646932441.272790118] [SmThreeSome]: [smacc2::ClientHandler<sm_three_some::OrKeyboard, cl_keyboard::ClKeyboard>] Subscribing to topic: /keyboard_unicode
[INFO] [1646932441.273203678] [SmThreeSome]: sm_three_some::OrKeyboard Orthogonal is created
[INFO] [1646932441.273235649] [SmThreeSome]: [sm_three_some::OrSubscriber] creating client object, type:'sm_three_some::cl_subscriber::ClSubscriber' object tag: 'sm_three_some::OrSubscriber'
[ERROR] [1646932441.273276577] [SmThreeSome]: topic client with no topic name set. Skipping subscribing
[INFO] [1646932441.273293049] [SmThreeSome]: sm_three_some::OrSubscriber Orthogonal is created
[INFO] [1646932441.273306483] [SmThreeSome]: [SmaccStateMachine] Introspecting state machine via typeWalker
[INFO] [1646932441.273324766] [SmThreeSome]: Creating State Info: sm_three_some::MsRun
[INFO] [1646932441.273369956] [SmThreeSome]: static OnDefinition: dont exist for sm_three_some::MsRun
[INFO] [1646932441.273392567] [SmThreeSome]: Creating State Info: sm_three_some::StState1
[WARN] [1646932441.273422261] [SmThreeSome]: Real parent state> sm_three_some::MsRun
[INFO] [1646932441.273441264] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::StState1
[INFO] [1646932441.273960627] [static]: [states walking] State StState1client behavior count: 1
[INFO] [1646932441.274002710] [static]: [states walking] State StState1client behavior count: 2
[INFO] [1646932441.274034218] [static]: [states walking] State StState1client behavior count: 3
[INFO] [1646932441.274061452] [static]: [states walking] State StState1client behavior count: 4
[INFO] [1646932441.274070888] [SmThreeSome]: State N13sm_three_some8StState1E Walker has transition list
[INFO] [1646932441.279404674] [SmThreeSome]: State sm_three_some::StState1 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.279432887] [SmThreeSome]: State sm_three_some::StState1 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.279459664] [SmThreeSome]: Transition tag: sm_three_some::StState1::TIMEOUT
[INFO] [1646932441.279482231] [SmThreeSome]: Creating State Info: sm_three_some::StState2
[INFO] [1646932441.279506551] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::StState2
[INFO] [1646932441.279989362] [static]: [states walking] State StState2client behavior count: 1
[INFO] [1646932441.280016353] [static]: [states walking] State StState2client behavior count: 2
[INFO] [1646932441.280039820] [static]: [states walking] State StState2client behavior count: 3
[INFO] [1646932441.280068287] [static]: [states walking] State StState2client behavior count: 4
[INFO] [1646932441.283668636] [SmThreeSome]: State N13sm_three_some8StState2E Walker has transition list
[INFO] [1646932441.288629471] [SmThreeSome]: State sm_three_some::StState2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.288672206] [SmThreeSome]: State sm_three_some::StState2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.288709286] [SmThreeSome]: Transition tag: sm_three_some::StState2::TIMEOUT
[INFO] [1646932441.288722180] [SmThreeSome]: Creating State Info: sm_three_some::StState3
[INFO] [1646932441.288816230] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::StState3
[INFO] [1646932441.289371514] [static]: [states walking] State StState3client behavior count: 1
[INFO] [1646932441.289415750] [static]: [states walking] State StState3client behavior count: 2
[INFO] [1646932441.289498967] [static]: [states walking] State StState3client behavior count: 3
[INFO] [1646932441.289543580] [static]: [states walking] State StState3client behavior count: 4
[INFO] [1646932441.289554102] [SmThreeSome]: State N13sm_three_some8StState3E Walker has transition list
[INFO] [1646932441.294809550] [SmThreeSome]: State sm_three_some::StState3 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.294832302] [SmThreeSome]: State sm_three_some::StState3 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.294854379] [SmThreeSome]: Transition tag: sm_three_some::StState3::TIMEOUT
[INFO] [1646932441.294879303] [SmThreeSome]: Creating State Info: sm_three_some::SS1::Ss1
[INFO] [1646932441.294896876] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS1::Ss1
[INFO] [1646932441.294919424] [SmThreeSome]: Creating State Info: sm_three_some::SS1::sm_three_some::inner_states::StiState1
[WARN] [1646932441.294948100] [SmThreeSome]: Real parent state> sm_three_some::SS1::Ss1
[INFO] [1646932441.294971401] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS1::sm_three_some::inner_states::StiState1
[INFO] [1646932441.294989487] [SmThreeSome]: State N13sm_three_some3SS113sm_three_some12inner_states9StiState1E Walker has transition list
[INFO] [1646932441.302469996] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState1 Walker transition: smacc2::default_events::EvLoopContinue<sm_three_some::SS1::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.302514783] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState1 Walker transition: smacc2::default_events::EvLoopContinue<sm_three_some::SS1::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.302551390] [SmThreeSome]: Transition tag: smacc2::default_transition_tags::CONTINUELOOP
[INFO] [1646932441.302598906] [SmThreeSome]: Creating State Info: sm_three_some::SS1::sm_three_some::inner_states::StiState2
[INFO] [1646932441.302636957] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS1::sm_three_some::inner_states::StiState2
[INFO] [1646932441.303445770] [static]: [states walking] State StiState2client behavior count: 1
[INFO] [1646932441.303493883] [static]: [states walking] State StiState2client behavior count: 2
[INFO] [1646932441.303581065] [static]: [states walking] State StiState2client behavior count: 3
[INFO] [1646932441.303645894] [static]: [states walking] State StiState2client behavior count: 4
[INFO] [1646932441.303660595] [SmThreeSome]: State N13sm_three_some3SS113sm_three_some12inner_states9StiState2E Walker has transition list
[INFO] [1646932441.312233315] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.312313930] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.312349887] [SmThreeSome]: Transition tag: sm_three_some::SS1::sm_three_some::inner_states::StiState2::TIMEOUT
[INFO] [1646932441.312369406] [SmThreeSome]: Creating State Info: sm_three_some::SS1::sm_three_some::inner_states::StiState3
[INFO] [1646932441.312428383] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS1::sm_three_some::inner_states::StiState3
[INFO] [1646932441.313207704] [static]: [states walking] State StiState3client behavior count: 1
[INFO] [1646932441.313283246] [static]: [states walking] State StiState3client behavior count: 2
[INFO] [1646932441.313333219] [static]: [states walking] State StiState3client behavior count: 3
[INFO] [1646932441.313392904] [static]: [states walking] State StiState3client behavior count: 4
[INFO] [1646932441.313407595] [SmThreeSome]: State N13sm_three_some3SS113sm_three_some12inner_states9StiState3E Walker has transition list
[WARN] [1646932441.315174879] [SmThreeSome]: Signal detector frequency (ros param signal_detector_loop_freq): 20.000000
[INFO] [1646932441.315298238] [SmThreeSome]: [SignalDetector] loop rate hz:20
[INFO] [1646932441.321869439] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState3 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.321917786] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState3 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.321936883] [SmThreeSome]: Transition tag: sm_three_some::SS1::sm_three_some::inner_states::StiState3::TIMEOUT
[INFO] [1646932441.330363360] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.330420668] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.330471375] [SmThreeSome]: Transition tag: sm_three_some::SS1::sm_three_some::inner_states::StiState3::PREVIOUS
[INFO] [1646932441.339324147] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.339392640] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.339434453] [SmThreeSome]: Transition tag: sm_three_some::SS1::sm_three_some::inner_states::StiState3::NEXT
[INFO] [1646932441.347417561] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.347451051] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.347470901] [SmThreeSome]: Transition tag: sm_three_some::SS1::sm_three_some::inner_states::StiState2::NEXT
[INFO] [1646932441.355732515] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.355778584] [SmThreeSome]: State sm_three_some::SS1::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.355818017] [SmThreeSome]: Transition tag: sm_three_some::SS1::sm_three_some::inner_states::StiState2::PREVIOUS
[INFO] [1646932441.355881547] [SmThreeSome]: State N13sm_three_some3SS13Ss1E Walker has transition list
[INFO] [1646932441.362370123] [SmThreeSome]: State sm_three_some::SS1::Ss1 Walker transition: smacc2::default_events::EvLoopEnd<sm_three_some::SS1::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.362421726] [SmThreeSome]: State sm_three_some::SS1::Ss1 Walker transition: smacc2::default_events::EvLoopEnd<sm_three_some::SS1::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.362448286] [SmThreeSome]: Transition tag: smacc2::default_transition_tags::ENDLOOP
[INFO] [1646932441.362505519] [SmThreeSome]: Creating State Info: sm_three_some::SS2::Ss2
[INFO] [1646932441.362532319] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS2::Ss2
[INFO] [1646932441.362604876] [SmThreeSome]: Creating State Info: sm_three_some::SS2::sm_three_some::inner_states::StiState1
[WARN] [1646932441.362634963] [SmThreeSome]: Real parent state> sm_three_some::SS2::Ss2
[INFO] [1646932441.362662879] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS2::sm_three_some::inner_states::StiState1
[INFO] [1646932441.362680426] [SmThreeSome]: State N13sm_three_some3SS213sm_three_some12inner_states9StiState1E Walker has transition list
[INFO] [1646932441.370129096] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState1 Walker transition: smacc2::default_events::EvLoopContinue<sm_three_some::SS2::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.370152959] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState1 Walker transition: smacc2::default_events::EvLoopContinue<sm_three_some::SS2::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.370168043] [SmThreeSome]: Transition tag: smacc2::default_transition_tags::CONTINUELOOP
[INFO] [1646932441.370199680] [SmThreeSome]: Creating State Info: sm_three_some::SS2::sm_three_some::inner_states::StiState2
[INFO] [1646932441.370255836] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS2::sm_three_some::inner_states::StiState2
[INFO] [1646932441.371143617] [static]: [states walking] State StiState2client behavior count: 1
[INFO] [1646932441.371173889] [static]: [states walking] State StiState2client behavior count: 2
[INFO] [1646932441.371197725] [static]: [states walking] State StiState2client behavior count: 3
[INFO] [1646932441.371249234] [static]: [states walking] State StiState2client behavior count: 4
[INFO] [1646932441.371277887] [SmThreeSome]: State N13sm_three_some3SS213sm_three_some12inner_states9StiState2E Walker has transition list
[INFO] [1646932441.379001048] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.379040190] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.379077597] [SmThreeSome]: Transition tag: sm_three_some::SS2::sm_three_some::inner_states::StiState2::TIMEOUT
[INFO] [1646932441.379121175] [SmThreeSome]: Creating State Info: sm_three_some::SS2::sm_three_some::inner_states::StiState3
[INFO] [1646932441.379190030] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::SS2::sm_three_some::inner_states::StiState3
[INFO] [1646932441.379977848] [static]: [states walking] State StiState3client behavior count: 1
[INFO] [1646932441.380010456] [static]: [states walking] State StiState3client behavior count: 2
[INFO] [1646932441.380062597] [static]: [states walking] State StiState3client behavior count: 3
[INFO] [1646932441.380095948] [static]: [states walking] State StiState3client behavior count: 4
[INFO] [1646932441.380108153] [SmThreeSome]: State N13sm_three_some3SS213sm_three_some12inner_states9StiState3E Walker has transition list
[INFO] [1646932441.388188779] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState3 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.388230131] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState3 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_three_some::OrTimer>
[INFO] [1646932441.388323974] [SmThreeSome]: Transition tag: sm_three_some::SS2::sm_three_some::inner_states::StiState3::TIMEOUT
[INFO] [1646932441.396376878] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.396416954] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.396461251] [SmThreeSome]: Transition tag: sm_three_some::SS2::sm_three_some::inner_states::StiState3::PREVIOUS
[INFO] [1646932441.404829414] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.404897798] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState3 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.404924450] [SmThreeSome]: Transition tag: sm_three_some::SS2::sm_three_some::inner_states::StiState3::NEXT
[INFO] [1646932441.412548370] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.412591676] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.412610481] [SmThreeSome]: Transition tag: sm_three_some::SS2::sm_three_some::inner_states::StiState2::NEXT
[INFO] [1646932441.420510104] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.420552711] [SmThreeSome]: State sm_three_some::SS2::sm_three_some::inner_states::StiState2 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.420596271] [SmThreeSome]: Transition tag: sm_three_some::SS2::sm_three_some::inner_states::StiState2::PREVIOUS
[INFO] [1646932441.420659395] [SmThreeSome]: State N13sm_three_some3SS23Ss2E Walker has transition list
[INFO] [1646932441.426876830] [SmThreeSome]: State sm_three_some::SS2::Ss2 Walker transition: smacc2::default_events::EvLoopEnd<sm_three_some::SS2::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.426917935] [SmThreeSome]: State sm_three_some::SS2::Ss2 Walker transition: smacc2::default_events::EvLoopEnd<sm_three_some::SS2::sm_three_some::inner_states::StiState1>
[INFO] [1646932441.426954208] [SmThreeSome]: Transition tag: smacc2::default_transition_tags::ENDLOOP
[INFO] [1646932441.426991877] [SmThreeSome]: Creating State Info: sm_three_some::StState4
[INFO] [1646932441.427020152] [SmThreeSome]: EXECUTING ONDEFINITION: sm_three_some::StState4
[INFO] [1646932441.427637944] [static]: [states walking] State StState4client behavior count: 1
[INFO] [1646932441.427651499] [SmThreeSome]: State N13sm_three_some8StState4E Walker has transition list
[INFO] [1646932441.432992059] [SmThreeSome]: State sm_three_some::StState3 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.433032353] [SmThreeSome]: State sm_three_some::StState3 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.433068455] [SmThreeSome]: Transition tag: sm_three_some::StState3::PREVIOUS
[INFO] [1646932441.438236313] [SmThreeSome]: State sm_three_some::StState3 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.438277984] [SmThreeSome]: State sm_three_some::StState3 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.438326380] [SmThreeSome]: Transition tag: sm_three_some::StState3::NEXT
[INFO] [1646932441.444537234] [SmThreeSome]: State sm_three_some::StState2 Walker transition: smacc2::state_reactors::EvAllGo<smacc2::state_reactors::SrAllEventsGo, smacc2::state_reactors::EmptyObjectTag>
[INFO] [1646932441.444558754] [SmThreeSome]: State sm_three_some::StState2 Walker transition: smacc2::state_reactors::EvAllGo<smacc2::state_reactors::SrAllEventsGo, smacc2::state_reactors::EmptyObjectTag>
[INFO] [1646932441.444579681] [SmThreeSome]: Transition tag:
[INFO] [1646932441.450062618] [SmThreeSome]: State sm_three_some::StState2 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.450116362] [SmThreeSome]: State sm_three_some::StState2 Walker transition: cl_keyboard::EvKeyPressP<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.450133452] [SmThreeSome]: Transition tag: sm_three_some::StState2::PREVIOUS
[INFO] [1646932441.455257538] [SmThreeSome]: State sm_three_some::StState2 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.455334946] [SmThreeSome]: State sm_three_some::StState2 Walker transition: cl_keyboard::EvKeyPressN<cl_keyboard::CbDefaultKeyboardBehavior, sm_three_some::OrKeyboard>
[INFO] [1646932441.455364601] [SmThreeSome]: Transition tag: sm_three_some::StState2::NEXT
[WARN] [1646932441.472024905] [SmThreeSome]:
[INFO] [1646932441.472157442] [SmThreeSome]: State sm_three_some::StState1 Walker transition: smacc2::default_events::EvTopicMessage<sm_three_some::cl_subscriber::ClSubscriber, sm_three_some::OrSubscriber, std_msgs::msg::UInt16_<std::allocator<void> > >
[INFO] [1646932441.472202114] [SmThreeSome]: State sm_three_some::StState1 Walker transition: smacc2::default_events::EvTopicMessage<sm_three_some::cl_subscriber::ClSubscriber, sm_three_some::OrSubscriber, std_msgs::msg::UInt16_<std::allocator<void> > >
[INFO] [1646932441.472226347] [SmThreeSome]: Transition tag: sm_three_some::StState1::TIMEOUT
$

Environment:

ROS DETAILS:

  • OS: Ubuntu 20.04 LTS
  • Version: Galactic

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Branch: galactic
  • Commit: 8ad830

BUILD DETAILS

  • Build Command: colcon build

TEST DETAILS

  • Command: ros2 run sm_three_some sm_three_some_node
  • Launch file:ros2 launch sm_three_some sm_three_some.launch

Logging output optimizations

I realized the following "issues" when testing new Node/Logger structure to increase performance:

  1. ----------- PRINT STATE MACHINE STRUCTURE ------------------- is printed twice, where the first time one state exist in the state machine. Is this intended? Maybe it would make sense to print this only when a complete state machine is created to avoid confusion. Example output:
[smacc_sm_test_node-1] [INFO] [1635924424.339026880] [SmaccSmTest]: ----------- PRINT STATE MACHINE STRUCTURE -------------------
[smacc_sm_test_node-1] **** State: smacc_sm_test::State1
[smacc_sm_test_node-1] Index: 0
[smacc_sm_test_node-1] StateLevel: 
[smacc_sm_test_node-1]  Childstates:
[smacc_sm_test_node-1]  Transitions:
[smacc_sm_test_node-1]  - Transition.  
[smacc_sm_test_node-1]       - Index: 0
[smacc_sm_test_node-1]       - Transition Name: Transition_0
[smacc_sm_test_node-1]       - Transition Type: smacc2::default_transition_tags::DEFAULT
[smacc_sm_test_node-1]       - Event Type :smacc2::default_events::EvStateRequestFinish
[smacc_sm_test_node-1]       - Event Source: smacc_sm_test::State1
[smacc_sm_test_node-1]       - Event ObjectTag: 
[smacc_sm_test_node-1]       - Event Label: 
[smacc_sm_test_node-1]       - Destiny State: smacc_sm_test::State2
[smacc_sm_test_node-1]       - Owner State: smacc_sm_test::State2
[smacc_sm_test_node-1]       - Is History Node: 0
[smacc_sm_test_node-1]       - TransitionC++Type: smacc2::Transition<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1>, smacc_sm_test::State2, smacc2::default_transition_tags::default_transition_name, boost::statechart::detail::no_context<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1> >, &boost::statechart::detail::no_context<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1> >::no_function>
[smacc_sm_test_node-1]       - EventC++Type: smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1>
[smacc_sm_test_node-1]  Orthogonals:
[smacc_sm_test_node-1]  State event generators:
[smacc_sm_test_node-1]  State reactors:
[smacc_sm_test_node-1] - NO STATE REACTORS - 
[smacc_sm_test_node-1] ----------------------------------------------------------
[smacc_sm_test_node-1] 
[smacc_sm_test_node-1] [INFO] [1635924424.339069392] [SmaccSmTest]: ----------- PRINT STATE MACHINE STRUCTURE -------------------
[smacc_sm_test_node-1] **** State: smacc_sm_test::State1
[smacc_sm_test_node-1] Index: 0
[smacc_sm_test_node-1] StateLevel: 
[smacc_sm_test_node-1]  Childstates:
[smacc_sm_test_node-1]  Transitions:
[smacc_sm_test_node-1]  - Transition.  
[smacc_sm_test_node-1]       - Index: 0
[smacc_sm_test_node-1]       - Transition Name: Transition_0
[smacc_sm_test_node-1]       - Transition Type: smacc2::default_transition_tags::DEFAULT
[smacc_sm_test_node-1]       - Event Type :smacc2::default_events::EvStateRequestFinish
[smacc_sm_test_node-1]       - Event Source: smacc_sm_test::State1
[smacc_sm_test_node-1]       - Event ObjectTag: 
[smacc_sm_test_node-1]       - Event Label: 
[smacc_sm_test_node-1]       - Destiny State: smacc_sm_test::State2
[smacc_sm_test_node-1]       - Owner State: smacc_sm_test::State2
[smacc_sm_test_node-1]       - Is History Node: 0
[smacc_sm_test_node-1]       - TransitionC++Type: smacc2::Transition<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1>, smacc_sm_test::State2, smacc2::default_transition_tags::default_transition_name, boost::statechart::detail::no_context<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1> >, &boost::statechart::detail::no_context<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1> >::no_function>
[smacc_sm_test_node-1]       - EventC++Type: smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State1>
[smacc_sm_test_node-1]  Orthogonals:
[smacc_sm_test_node-1]  State event generators:
[smacc_sm_test_node-1]  State reactors:
[smacc_sm_test_node-1] - NO STATE REACTORS - 
[smacc_sm_test_node-1] ----------------------------------------------------------
[smacc_sm_test_node-1] **** State: smacc_sm_test::State2
[smacc_sm_test_node-1] Index: 1
[smacc_sm_test_node-1] StateLevel: 
[smacc_sm_test_node-1]  Childstates:
[smacc_sm_test_node-1]  Transitions:
[smacc_sm_test_node-1]  - Transition.  
[smacc_sm_test_node-1]       - Index: 0
[smacc_sm_test_node-1]       - Transition Name: Transition_0
[smacc_sm_test_node-1]       - Transition Type: smacc2::default_transition_tags::DEFAULT
[smacc_sm_test_node-1]       - Event Type :smacc2::default_events::EvStateRequestFinish
[smacc_sm_test_node-1]       - Event Source: smacc_sm_test::State2
[smacc_sm_test_node-1]       - Event ObjectTag: 
[smacc_sm_test_node-1]       - Event Label: 
[smacc_sm_test_node-1]       - Destiny State: smacc_sm_test::State1
[smacc_sm_test_node-1]       - Owner State: smacc_sm_test::State1
[smacc_sm_test_node-1]       - Is History Node: 0
[smacc_sm_test_node-1]       - TransitionC++Type: smacc2::Transition<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State2>, smacc_sm_test::State1, smacc2::default_transition_tags::default_transition_name, boost::statechart::detail::no_context<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State2> >, &boost::statechart::detail::no_context<smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State2> >::no_function>
[smacc_sm_test_node-1]       - EventC++Type: smacc2::default_events::EvStateRequestFinish<smacc_sm_test::State2>
[smacc_sm_test_node-1]  Orthogonals:
[smacc_sm_test_node-1]  State event generators:
[smacc_sm_test_node-1]  State reactors:
[smacc_sm_test_node-1] - NO STATE REACTORS - 
[smacc_sm_test_node-1] ----------------------------------------------------------
  1. Please check the output from the new logger from a state. Maybe this could be optimized a bit.

┆Issue is synchronized with this Jira Task by Unito

Adding transition guards?

Hello hello, thanks again for all your great work!

I've had one feature on my mind and I'm very keen to hear your thoughts. That is transition guards. This can partially be achieved with a SrConditional state reactor but I think adding guards to the transition table would be a much tidier, more efficient and more flexible solution...

Example syntax

  // TRANSITION TABLE
  typedef boost::mpl::list<
    Transition<EvSomeEvent<CbSomeClientBehavior, OrSomeOrthogonal>, State1, SUCCESS>
    >reactions;
    
  // TRANSITION TABLE WITH CLASS GUARD SYNTAX??
  typedef boost::mpl::list<
    Transition<EvSomeEvent<CbSomeClientBehavior, OrSomeOrthogonal>, GdSomeGuard, State1, SUCCESS>
    >reactions;

I'm unsure if passing a Gd (guard) class into the template is the best way to achieve this as it probably? doesn't need any lifecycle methods. Nonetheless, I can imagine some niche scenarios where a Gd class provides a convenient state-container for guard-related logic eg) if the guard prevents a transition > N times, do something such as trigger a Client Behavior.

It may might better if it is simple a function:

  • Takes in an Event. This is particularly useful for things like EvTopicMessage which may have msgData which is very useful to a guard.0

  • Some guarding logic - it should have easy access to any state stored in the smacc state, parent state(s) or the configured Orthogonals, Clients or Client Behaviors. Maybe this would mean the guard would need to be added at runtime? This also provides a point to hook into any transition (as there is currently no onTransition hook on the smacc state. This is useful for doing things like sending notifications onto a ROS topic once a transition is triggered.

  • Returns a bool:

    • true - good to transition
    • false - don't transition

Thoughts and comments?

sm_dance_bot: Extrapolation error

Describe the bug
A clear and concise description of what the bug is.

sm_dance_bot gets stuck on south-west wall and output a message about it not being able to extrapolate into the past. Will include image from terminal.

To Reproduce
Steps to reproduce the behavior:

set iterations of radial patterns to 2 for faster tesing.
launch sm_dance_bot via ros2 launch sm_dance_bot sm_dance_bot_launch.py
ran sm_dance_bot until it got stuck on that wall.

Expected behavior
A clear and concise description of what you expected to happen.

it would navigate around the wall

Screenshots
If applicable, add screenshots to help explain your problem.

Screenshot from 2021-10-11 09-50-45

Screenshot from 2021-10-11 09-43-33

Environment (please complete the following information):

ROS DETAILS:

  • OS: Ubuntu 20.04 LTS
  • Version Rolling

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Branch: master
  • Commit (First 5 Digits): b0ba4

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: [e.g. colcon build --symlink-install]
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

TEST DETAILS

  • Launch file: ros2 launch sm_dance_bot sm_dance_bot_launch.py

Additional context

  • Anything that may be unusual about your environment

suspected to be dirty

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

The only modification that was made to the code was changing the number of iterations of the radial patterns.

Error Details

Cut and Paste Here... (e.g. terminal output)

memlogger.py

Should also go into performance_tools folder.
Idea is to log memory usage of sm_atomic_24hr.
Options for application and entire system.

test2

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

ROS DETAILS:

  • OS: [e.g. Ubuntu 20.04 LTS]
  • Version [e.g. Rolling]

REPO DETAILS:

  • Repository: [e.g. robosoft-ai/SMACC2]
  • Branch: [e.g. master]
  • Commit (First 5 Digits): [e.g. 6bade]

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: [e.g. colcon build --symlink-install]

TEST DETAILS

  • Launch file: [e.g. ros2 launch sm_dance_bot sm_dance_bot_launch.py]

Additional context

  • Anything that may be unusual about your environment

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

Error Details

Cut and Paste Here... (e.g. terminal output)

┆Issue is synchronized with this Jira Task by Unito

How to trigger an event from a message on a topic?

I would like to trigger an event on message reception on a topic with an empty message type.

I have than created a client:
cl_empty_subscriber.hpp

#pragma once
#include <smacc2/client_bases/smacc_subscriber_client.hpp>
#include <std_msgs/msg/empty.hpp>

namespace sm_sub_example
{
namespace cl_empty_subscriber
{
class ClEmptySubscriber : public smacc2::client_bases::SmaccSubscriberClient<std_msgs::msg::Empty>
{
public:
  ClEmptySubscriber(const std::string& _topic_name)
  : smacc2::client_bases::SmaccSubscriberClient<std_msgs::msg::Empty>(_topic_name)
  {
  }
};
}  // namespace cl_empty_subscriber
}  // namespace sm_sub_example

Then a client behavior that do nothing special because as I understand, SmaccSubscriberClient already triggers an EvTopicMessage:
cb_empty_subscriber_behavior.hpp

#pragma once
#include "sm_sub_example/clients/cl_empty_subscriber/cl_empty_subscriber.hpp"

namespace sm_sub_example
{
namespace cl_empty_subscriber
{
class CbEmptySubscriberBehavior : public smacc2::SmaccClientBehavior
{
public:
  typedef std_msgs::msg::Empty TMessageType;

  void onEntry() { }
};
}  // namespace cl_empty_subscriber
}  // namespace sm_sub_example

Now, an orthogonal that set the topic:
or_empty_subscriber.hpp

#pragma once
#include <smacc2/smacc.hpp>
#include "sm_sub_example/clients/cl_empty_subscriber/cl_empty_subscriber.hpp"

namespace sm_sub_example
{
class OrEmptySubscriber : public smacc2::Orthogonal<OrEmptySubscriber>
{
public:
  void onInitialize() override { auto client = this->createClient<cl_empty_subscriber::ClEmptySubscriber>("/next"); }
};
}  // namespace sm_sub_example

In the state machine declaration (from sm_atomic example), I only add the creation of the orthogonal:

this->createOrthogonal<OrEmptySubscriber>();

And in the st_state_1.hpp, I add the transition and the configure_orthogonal statements:

#pragma once
#include <smacc2/smacc.hpp>

namespace sm_sub_example
{
using namespace cl_empty_subscriber;
using namespace smacc2::default_transition_tags;

struct State1 : smacc2::SmaccState<State1, SmAtomic>
{
  using SmaccState::SmaccState;

  typedef mpl::list<

    Transition<EvTopicMessage<CbEmptySubscriberBehavior, OrEmptySubscriber>, State2, SUCCESS>

    >reactions;


  static void staticConfigure()
  {
    configure_orthogonal<OrEmptySubscriber, CbEmptySubscriberBehavior>();
  }

  void runtimeConfigure() {}

  void onEntry() { RCLCPP_INFO(getLogger(), "On Entry!"); }

  void onExit() { RCLCPP_INFO(getLogger(), "On Exit!"); }
};
}  // namespace sm_sub_example

Am I missing something?

When I run this simple example, I get a Segmentation Fault that looks like #259

Output
$ ros2 run sm_sub_example sm_sub_example_node
1646937059.280354 [0] sm_sub_exa: selected interface "lo" is not multicast-capable: disabling multicast
[INFO] [1646937059.284953181] [SmAtomic]: Creating State Machine Base: /SmAtomic
[INFO] [1646937059.285102664] [SmAtomic]: [sm_sub_example::OrTimer] creating client object, type:'cl_ros_timer::ClRosTimer' object tag: 'sm_sub_example::OrTimer'
[INFO] [1646937059.285158359] [SmAtomic]: sm_sub_example::OrTimer Orthogonal is created
[INFO] [1646937059.285179008] [SmAtomic]: [sm_sub_example::OrEmptySubscriber] creating client object, type:'sm_sub_example::cl_empty_subscriber::ClEmptySubscriber' object tag: 'sm_sub_example::OrEmptySubscriber'
[INFO] [1646937059.285206713] [SmAtomic]: [smacc2::ClientHandler<sm_sub_example::OrEmptySubscriber, sm_sub_example::cl_empty_subscriber::ClEmptySubscriber>] Subscribing to topic: /next
[INFO] [1646937059.285652758] [SmAtomic]: sm_sub_example::OrEmptySubscriber Orthogonal is created
[INFO] [1646937059.285678535] [SmAtomic]: [SmaccStateMachine] Introspecting state machine via typeWalker
[INFO] [1646937059.285710092] [SmAtomic]: Creating State Info: sm_sub_example::State1
[INFO] [1646937059.285750100] [SmAtomic]: EXECUTING ONDEFINITION: sm_sub_example::State1
[INFO] [1646937059.286240445] [static]: [states walking] State State1client behavior count: 1
[INFO] [1646937059.286253281] [SmAtomic]: State N14sm_sub_example6State1E Walker has transition list
[WARN] [1646937059.306842751] [SmAtomic]:
[INFO] [1646937059.306972472] [SmAtomic]: State sm_sub_example::State1 Walker transition: smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >
[INFO] [1646937059.307012790] [SmAtomic]: State sm_sub_example::State1 Walker transition: smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >
[INFO] [1646937059.307036157] [SmAtomic]: Transition tag: smacc2::default_transition_tags::SUCCESS
[INFO] [1646937059.307072050] [SmAtomic]: Creating State Info: sm_sub_example::State2
[INFO] [1646937059.307113725] [SmAtomic]: EXECUTING ONDEFINITION: sm_sub_example::State2
[INFO] [1646937059.307628383] [static]: [states walking] State State2client behavior count: 1
[INFO] [1646937059.307641225] [SmAtomic]: State N14sm_sub_example6State2E Walker has transition list
[INFO] [1646937059.313064223] [SmAtomic]: State sm_sub_example::State2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_sub_example::OrTimer>
[INFO] [1646937059.313089327] [SmAtomic]: State sm_sub_example::State2 Walker transition: cl_ros_timer::EvTimer<cl_ros_timer::CbTimerCountdownOnce, sm_sub_example::OrTimer>
[INFO] [1646937059.313110395] [SmAtomic]: Transition tag: smacc2::default_transition_tags::SUCCESS
Backtrace
#0  0x0000555555695ab8 in __gnu_cxx::__normal_iterator<std::shared_ptr<smacc2::introspection::TypeInfo>*, std::vector<std::shared_ptr<smacc2::introspection::TypeInfo>, std::allocator<std::shared_ptr<smacc2::introspection::TypeInfo> > > >::__normal_iterator (this=0x7ffff5256bc0, __i=<error reading variable>) at /usr/include/c++/9/bits/stl_iterator.h:807
#1  0x00005555556912bc in std::vector<std::shared_ptr<smacc2::introspection::TypeInfo>, std::allocator<std::shared_ptr<smacc2::introspection::TypeInfo> > >::begin (this=0x0) at /usr/include/c++/9/bits/stl_vector.h:809
#2  0x000055555568dc23 in std::vector<std::shared_ptr<smacc2::introspection::TypeInfo>, std::allocator<std::shared_ptr<smacc2::introspection::TypeInfo> > >::front (this=0x0) at /usr/include/c++/9/bits/stl_vector.h:1121
#3  0x000055555568943a in smacc2::introspection::SmaccStateInfo::declareTransition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > > (this=0x7ffff007e490,
    dstState=std::shared_ptr<smacc2::introspection::SmaccStateInfo> (use count 4, weak count 1) = {...}, transitionTag="smacc2::default_transition_tags::SUCCESS", transitionType="smacc2::default_transition_tags::SUCCESS", history=false, transitionTypeInfo=std::shared_ptr<smacc2::introspection::TypeInfo> (empty) = {...})
    at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:263
#4  0x0000555555684213 in smacc2::introspection::processTransitionAux<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS> (
    sourceState=std::shared_ptr<smacc2::introspection::SmaccStateInfo> (use count 5, weak count 1) = {...}, history=false, transitionTypeInfo=std::shared_ptr<smacc2::introspection::TypeInfo> (empty) = {...}) at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:226
#5  0x000055555567ec2e in smacc2::introspection::processTransition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS> (t=0x0,
    sourceState=std::shared_ptr<smacc2::introspection::SmaccStateInfo> (use count 5, weak count 1) = {...}) at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:190
#6  0x0000555555678421 in smacc2::introspection::processTransitions<smacc2::Transition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS, boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >, &boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >::no_function> > (sourceState=std::shared_ptr<smacc2::introspection::SmaccStateInfo> (use count 5, weak count 1) = {...}) at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:344
#7  0x0000555555671a93 in smacc2::introspection::AddTransition::operator()<smacc2::introspection::type_<smacc2::Transition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS, boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >, &boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >::no_function> > > (this=0x7ffff5258070) at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:416
#8  0x000055555566cba7 in boost::mpl::aux::for_each_impl<false>::execute<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<1l>, smacc2::introspection::type_<smacc2::Transition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS, boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >, &boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >::no_function> >, boost::mpl::l_end> >, boost::mpl::l_iter<boost::mpl::l_end>, boost::mpl::identity<mpl_::na>, smacc2::introspection::AddTransition> (f=...) at /usr/include/boost/mpl/for_each.hpp:78
#9  0x0000555555667efa in boost::mpl::for_each<boost::mpl::l_item<mpl_::long_<1l>, smacc2::introspection::type_<smacc2::Transition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS, boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >, &boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >::no_function> >, boost::mpl::l_end>, boost::mpl::identity<mpl_::na>, smacc2::introspection::AddTransition> (f=...) at /usr/include/boost/mpl/for_each.hpp:105
#10 0x0000555555662ca9 in boost::mpl::for_each<boost::mpl::l_item<mpl_::long_<1l>, smacc2::introspection::type_<smacc2::Transition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS, boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >, &boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >::no_function> >, boost::mpl::l_end>, smacc2::introspection::AddTransition> (f=...) at /usr/include/boost/mpl/for_each.hpp:118
#11 0x000055555565e904 in smacc2::introspection::processTransitions<boost::mpl::list<smacc2::Transition<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > >, sm_sub_example::State2, smacc2::default_transition_tags::SUCCESS, boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >, &boost::statechart::detail::no_context<smacc2::default_events::EvTopicMessage<sm_sub_example::cl_empty_subscriber::CbEmptySubscriberBehavior, sm_sub_example::OrEmptySubscriber, std_msgs::msg::Empty_<std::allocator<void> > > >::no_function>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> > (
    sourceState=std::shared_ptr<smacc2::introspection::SmaccStateInfo> (use count 5, weak count 1) = {...}) at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:168
#12 0x000055555565a2ec in smacc2::introspection::WalkStatesExecutor<sm_sub_example::State1>::walkStates (parentState=std::shared_ptr<smacc2::introspection::SmaccStateInfo> (use count 5, weak count 1) = {...}, rootInitialNode=true) at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:461
#13 0x0000555555657c87 in smacc2::introspection::SmaccStateMachineInfo::buildStateMachineInfo<sm_sub_example::State1> (this=0x7ffff007ef40) at /home/rre/victor_ws/install/smacc2/include/smacc2/introspection/smacc_state_machine_info.hpp:470
#14 0x0000555555656c82 in smacc2::ISmaccStateMachine::buildStateMachineInfo<sm_sub_example::State1> (this=0x7ffff0000b60) at /home/rre/victor_ws/install/smacc2/include/smacc2/impl/smacc_state_machine_impl.hpp:601
#15 0x00005555556554b9 in smacc2::SmaccStateMachineBase<sm_sub_example::SmAtomic, sm_sub_example::State1>::initiate_impl (this=0x7ffff0000b60) at /home/rre/victor_ws/install/smacc2/include/smacc2/smacc_state_machine_base.hpp:75
#16 0x000055555563e18b in boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > >::initiate (this=0x7ffff0000e40) at /usr/include/boost/statechart/event_processor.hpp:44
#17 0x0000555555637d9a in boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >::initiate_processor_impl (this=0x7fffffffcfa8, processor=...)
    at /usr/include/boost/statechart/processor_container.hpp:397
#18 0x000055555564e12c in boost::_mfi::mf1<void, boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >, boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > > > > const&>::operator() (this=0x5555557a39d0, p=0x7fffffffcfa8, a1=...) at /usr/include/boost/bind/mem_fn_template.hpp:165
#19 0x000055555564b79a in boost::_bi::list2<boost::_bi::value<boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >*>, boost::_bi::value<boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > > > > > >::operator()<boost::_mfi::mf1<void, boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >, boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > > > > const&>, boost::_bi::list0> (this=0x5555557a39e0, f=..., a=...) at /usr/include/boost/bind/bind.hpp:319
#20 0x0000555555648788 in boost::_bi::bind_t<void, boost::_mfi::mf1<void, boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >, boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > > > > const&>, boost::_bi::list2<boost::_bi::value<boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >*>, boost::_bi::value<boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > > > > > > >::operator() (this=0x5555557a39d0) at /usr/include/boost/bind/bind.hpp:1294
#21 0x0000555555643fe1 in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf1<void, boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >, boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > > > > const&>, boost::_bi::list2<boost::_bi::value<boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, boost::function0<void>, std::allocator<boost::statechart::none> >*>, boost::_bi::value<boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> > > > > > > >, void>::invoke (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:158
#22 0x0000555555621fbb in boost::function0<void>::operator() (this=0x7ffff52594d0) at /usr/include/boost/function/function_template.hpp:763
#23 0x0000555555631211 in boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >::operator() (this=0x7fffffffcfd8, maxItemCount=0) at /usr/include/boost/statechart/fifo_worker.hpp:134
#24 0x000055555562b9b3 in boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >::operator() (this=0x7fffffffcfa0, maxEventCount=0) at /usr/include/boost/statechart/fifo_scheduler.hpp:187
#25 0x0000555555658688 in boost::_mfi::mf1<unsigned long, boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, unsigned long>::operator() (this=0x5555557c9ca8, p=0x7fffffffcfa0, a1=0) at /usr/include/boost/bind/mem_fn_template.hpp:165
#26 0x00005555556573d5 in boost::_bi::list2<boost::_bi::value<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >*>, boost::_bi::value<int> >::operator()<unsigned long, boost::_mfi::mf1<unsigned long, boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, unsigned long>, boost::_bi::list0> (this=0x5555557c9cb8, f=..., a=...) at /usr/include/boost/bind/bind.hpp:309
#27 0x0000555555655e96 in boost::_bi::bind_t<unsigned long, boost::_mfi::mf1<unsigned long, boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, unsigned long>, boost::_bi::list2<boost::_bi::value<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >*>, boost::_bi::value<int> > >::operator() (this=0x5555557c9ca8) at /usr/include/boost/bind/bind.hpp:1294
#28 0x0000555555653b6a in boost::detail::thread_data<boost::_bi::bind_t<unsigned long, boost::_mfi::mf1<unsigned long, boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >, unsigned long>, boost::_bi::list2<boost::_bi::value<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator<boost::statechart::none> >, std::allocator<boost::statechart::none> >*>, boost::_bi::value<int> > > >::run (this=0x5555557c9b70) at /usr/include/boost/thread/detail/thread.hpp:120
#29 0x00007ffff78cc43b in ?? () from /lib/x86_64-linux-gnu/libboost_thread.so.1.71.0
#30 0x00007ffff794a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#31 0x00007ffff75e8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

sm_dance_bot: "Authority undetectable"

Describe the bug
A clear and concise description of what the bug is.

Soon after launching, the robot froze on the first radial pattern. After some time passed (a few minutes) and there was no activity in the terminals, planner_server, sm_dance_bot_node, and the original terminal in which sm_dance_bot was launched from were all filled with a repeating message saying some variant of "Authority undetectable."
Will attach picture below

To Reproduce
Steps to reproduce the behavior:

Iterations of radial patterns were set to two before launching.
Launch sm_dance_bot via ros2 launch sm_dance_bot sm_dance_bot_launch.py
let it run until it stops

(Aside: the tests I have done have been back to back with little to no changes. What causes this variability? It completed all three radial pasterns and the f-pattern before failing last time. Is there something I need to do to ensure the same conditions each test?)

Expected behavior
A clear and concise description of what you expected to happen.

Expected it to make more progress in its dance.

Screenshots
If applicable, add screenshots to help explain your problem.

Screenshot from 2021-10-11 10-08-19

Screenshot from 2021-10-11 10-13-18

Screenshot from 2021-10-11 10-14-39
Environment (please complete the following information):

ROS DETAILS:

  • OS: Ubuntu 20.04 LTS
  • Version Rolling

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Branch: master
  • Commit (First 5 Digits): b0ba4

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: [e.g. colcon build --symlink-install]
  • colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

TEST DETAILS

  • Launch file: ros2 launch sm_dance_bot sm_dance_bot_launch.py

Additional context

  • Anything that may be unusual about your environment
    suspected dirty system after failed NVIDIA driver install and recovery but uncertain.

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

Only change was the number of iterations in each radial pattern. Set to two for faster testing.

Error Details

Cut and Paste Here... (e.g. terminal output)

rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[recoveries_server-12] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[recoveries_server-12] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[recoveries_server-12]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[sync_slam_toolbox_node-9] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[sync_slam_toolbox_node-9] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[sync_slam_toolbox_node-9]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[sync_slam_toolbox_node-9] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[sync_slam_toolbox_node-9] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[sync_slam_toolbox_node-9]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[recoveries_server-12] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[recoveries_server-12] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[recoveries_server-12]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] [INFO] [1633972510.959791399] [rviz2]: Message Filter dropping message: frame 'odom' at time 3324.835 for reason 'the timestamp on the message is earlier than all the data in the transform cache'
[rviz2-8] [INFO] [1633972510.959857538] [rviz2]: Message Filter dropping message: frame 'odom' at time 3324.937 for reason 'the timestamp on the message is earlier than all the data in the transform cache'
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame base_footprint at time 3325.107000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame wheel_left_link at time 3325.107000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame wheel_right_link at time 3325.107000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame wheel_left_link at time 3325.107000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame wheel_right_link at time 3325.107000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[recoveries_server-12] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[recoveries_server-12] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[recoveries_server-12]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[sync_slam_toolbox_node-9] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[sync_slam_toolbox_node-9] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[sync_slam_toolbox_node-9]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[recoveries_server-12] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[recoveries_server-12] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[recoveries_server-12]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[sync_slam_toolbox_node-9] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[sync_slam_toolbox_node-9] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[sync_slam_toolbox_node-9]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[sync_slam_toolbox_node-9] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[sync_slam_toolbox_node-9] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[sync_slam_toolbox_node-9]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[rviz2-8] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[rviz2-8] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[rviz2-8]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[recoveries_server-12] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[recoveries_server-12] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[recoveries_server-12]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[ERROR] [temperature_sensor_node-5]: process has died [pid 57577, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/sm_dance_bot/lib/sm_dance_bot/temperature_sensor_node --ros-args'].
[ERROR] [lifecycle_manager-15]: process has died [pid 57637, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/nav2_lifecycle_manager/lib/nav2_lifecycle_manager/lifecycle_manager --ros-args --log-level INFO --ros-args -r __node:=lifecycle_manager_navigation --params-file /tmp/launch_params_w028c0sv --params-file /tmp/launch_params_6rjuyr16 --params-file /tmp/launch_params_xlxf27vj'].
[ERROR] [led_action_server_node-6]: process has died [pid 57579, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/sm_dance_bot/lib/sm_dance_bot/led_action_server_node --ros-args'].
[ERROR] [service_node_3.py-4]: process has died [pid 57575, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/sm_dance_bot/lib/sm_dance_bot/service_node_3.py --ros-args --params-file /tmp/launch_params_ta_ogqnv'].
[ERROR] [sm_dance_bot_node-3]: process has died [pid 57573, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/sm_dance_bot/lib/sm_dance_bot/sm_dance_bot_node --ros-args --log-level INFO --ros-args -r __node:=SmDanceBot --params-file /home/dec/workspace/rolling_ws/install/sm_dance_bot/share/sm_dance_bot/params/sm_dance_bot_config.yaml'].
[ERROR] [planner_server-11]: process has died [pid 57603, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/nav2_planner/lib/nav2_planner/planner_server --ros-args --log-level INFO --ros-args -r __node:=planner_server --params-file /tmp/tmp_kivvnl1 -r /tf:=tf -r /tf_static:=tf_static'].
[ERROR] [controller_server-10]: process has died [pid 57589, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/nav2_controller/lib/nav2_controller/controller_server --ros-args --log-level INFO --ros-args --params-file /tmp/tmp3otjbwbt -r /tf:=tf -r /tf_static:=tf_static'].
[ERROR] [bt_navigator-13]: process has died [pid 57619, exit code 2, cmd 'xterm -xrm XTerm*scrollBar:  true -xrm xterm*rightScrollBar: true -hold -geometry 1000x600 -sl 10000 -e /home/dec/workspace/rolling_ws/install/nav2_bt_navigator/lib/nav2_bt_navigator/bt_navigator --ros-args --log-level INFO --ros-args -r __node:=bt_navigator --params-file /tmp/tmp2prom7mo -r /tf:=tf -r /tf_static:=tf_static'].
[waypoint_follower-14] [INFO] [1633972510.996291180] [rclcpp]: signal_handler(signal_value=2)
[waypoint_follower-14] [INFO] [1633972511.000316622] [waypoint_follower]: Destroying
[rviz2-8] [INFO] [1633972510.996367096] [rclcpp]: signal_handler(signal_value=2)
[rviz2-8] [INFO] [1633972510.997104174] [rviz2]: Message Filter dropping message: frame 'odom' at time 3324.801 for reason 'the timestamp on the message is earlier than all the data in the transform cache'
[rviz2-8] [INFO] [1633972510.997216689] [rviz2]: Message Filter dropping message: frame 'odom' at time 3324.971 for reason 'the timestamp on the message is earlier than all the data in the transform cache'
[sync_slam_toolbox_node-9] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[sync_slam_toolbox_node-9] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[sync_slam_toolbox_node-9]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[sync_slam_toolbox_node-9] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[sync_slam_toolbox_node-9] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[sync_slam_toolbox_node-9]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[sync_slam_toolbox_node-9] [INFO] [1633972511.010153220] [rclcpp]: signal_handler(signal_value=2)
[robot_state_publisher-7] [INFO] [1633972511.004338046] [rclcpp]: signal_handler(signal_value=2)
[recoveries_server-12] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[recoveries_server-12] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[recoveries_server-12]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[recoveries_server-12] Warning: TF_OLD_DATA ignoring data from the past for frame odom at time 3325.155000 according to authority Authority undetectable
[recoveries_server-12] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[recoveries_server-12]          at line 355 in /tmp/binarydeb/ros-rolling-tf2-0.18.0/src/buffer_core.cpp
[recoveries_server-12] [INFO] [1633972511.017613156] [rclcpp]: signal_handler(signal_value=2)
[recoveries_server-12] [INFO] [1633972511.025174518] [recoveries_server]: Destroying
[ERROR] [sync_slam_toolbox_node-9]: process has died [pid 57585, exit code -11, cmd '/home/dec/workspace/rolling_ws/install/slam_toolbox/lib/slam_toolbox/sync_slam_toolbox_node --ros-args -r __node:=slam_toolbox --params-file /home/dec/workspace/rolling_ws/install/slam_toolbox/share/slam_toolbox/config/mapper_params_online_sync.yaml --params-file /tmp/launch_params_nkdgze36']



cpulogger.py

Also goes in performance_tools folder.
Will work with sm_atomic_24hr.

[BUG] Or-Cb must be configured in all leaf states to trigger the transition table in the parent state.

description

there is a need when hmi system shutdown the system off, to let state-machine from MsGuardianAutoMode to StManual
So, I created the transition table and configure or-cb toolchain in MsGuardianAutoMode definition hpp
And THAT'S NOT WORKING

class MsGuardianAutoMode : public smacc2::SmaccState<MsGuardianAutoMode, SmGuardian, StStandby>
{
public:
   using SmaccState::SmaccState;

   typedef mpl::list<

    Transition<EvDriveModeOff<CbHmi, OrHmi>, StManual, SUCCESS>,
    Transition<EvTakeOver<CbScu, OrScu>, StManual, SUCCESS>

    >reactions;

// STATE FUNCTIONS
    static void staticConfigure()
    {
        // configuring or-cb here is not working
        // must configure or-cb in leaf states
        // configure_orthogonal<OrHmi, CbHmi>();
        // configure_orthogonal<OrScu, CbScu>();

        // debug
        // configure_orthogonal<OrTimer, CbTimerCountdownOnce>(2);
    }
};

And when I put the or-cb tool-chain in the leaf state StStandby, The transition defined in MsGuardianAutoMode can be enabled

the StStandby definition is in the below

struct StStandby : smacc2::SmaccState<StStandby, MsGuardianAutoMode>
{
    using SmaccState::SmaccState;

// TRANSITION TABLE
    ...
    // debug
    // Transition<EvTimer<CbTimerCountdownOnce, OrTimer>, SS1::SsApa, SUCCESS>
    >reactions;


// STATE FUNCTIONS
    static void staticConfigure()
    {
...

        // top
        configure_orthogonal<OrHmi, CbHmi>();
        configure_orthogonal<OrScu, CbScu>();

        // debug
        // configure_orthogonal<OrTimer, CbTimerCountdownOnce>(5);
    }

};

question

Must Or-Cb be configured in leaf states?

┆Issue is synchronized with this Jira Task by Unito
┆Link To Issue: https://robosoft-ai.atlassian.net/browse/SMACC2-19

split up base library and examples

Hey. I found project smacc2 merged base library code (smacc2 and smacc2_msgs) and sample code(smacc2_client_library, smacc2_sm_reference_library, smacc2_event_generator_library, etc) and some performance tools code together. It's not good for intergrate this project to others.

Perhaps isolating this project as a base library. And create several repositories for examples, tools and other samples is a good idea.

simple_sm_generator.py

Here is how I make new state machines....

Copy the SM (folder) you're going to use as your base (sm_atomic, sm_threesome, are good choices)
Rename your new SM folder (sm_atomic to sm_my_project)

Go into your config folder...
Change the yaml file name from sm_atomic.yaml to sm_my_project.yaml

Go into your include folder...
Change the name of the folder to sm_my_project.yaml
Change the name of the state machine header file to sm_my_project.hpp

Go into the launch folder...
Change the name of the .launch file to sm_my_project.yaml
Rename the name of the .py file to sm_my_project.py

Go into the src folder...
Change the state machine filename from sm_atomic_node.cpp to sm_my_project_node

Search and Replace
sm_atomic with sm_my_project

Search and Replace
SmAtomic with SmMyProject

And that's it. Compile and Run.

Make all formatters working - task list

  • ament_cppcheck - done in #24

    • rename *.h files into *.hpp files
    • enable in pre-commit config
    • enable in ROS-linters
  • ament_cpplint

    • exchange #pragma once if #ifndef ... header guard (needs discussion)
      • remove build/header_guard flag from the ament_cpplint configuration
      • remove from ROS-linters
    • Use " instead <> around private headers (needs discussion) - already used in some places, e.g., smacc_updatable.h
      • remove build/include_order flag from config
      • remove from ROS-linters
    • Do not use namespace using-directives. Use using-declarations instead.
      • remove build/namespaces flag from config
      • remove from ROS-linters
    • Replace use of unsigned long with something else (uint64?)
      • remove runtime/int flag from config
      • remove from ROS-linters

Enable build of disabled packges

  • backward_global_planner
  • backward_local_planner
  • forward_global_planner
  • forward_local_planner
  • move_base_z_planners_common
  • pure_spinning_local_planner
  • undo_path_global_planner
  • move_base_z_client_plugin
  • sm_dance_bot
  • sm_dance_bot_msgs
  • sm_dance_bot_strikes_back

sm_dance_bot: "Robot is out of bounds of the costmap!" & 3 minute wait time

Describe the bug
A clear and concise description of what the bug is.

When sm_dance_bot launches, it remains still for about 3 minutes and shows this
"Robot is out of bounds of the costmap!" message.
Then the robot begins to move.

To Reproduce
Steps to reproduce the behavior:
launch sm_dance_bot via
ros2 launch sm_dance_bot sm_dance_bot_launch.py

Expected behavior
A clear and concise description of what you expected to happen.

Thought the robot would begin moving sooner after Gazebo opened.

Screenshots
If applicable, add screenshots to help explain your problem.

Screenshot from 2021-10-10 23-54-13

Environment (please complete the following information):

ROS DETAILS:

  • OS: Ubuntu 20.04 LTS
  • Version Rolling

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Branch: master
  • Commit (First 5 Digits): a5986

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

^where do I go to check this?

BUILD DETAILS

  • Build Command: colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

TEST DETAILS

  • Launch file: ros2 launch sm_dance_bot sm_dance_bot_launch.py

Additional context

  • Anything that may be unusual about your environment

Could be dirty, but unsure.

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

Error Details
Screenshot from 2021-10-10 23-38-06

ros2 launch sm_aws_warehouse_navigation sm_aws_warehouse_navigation.launch

My current result from ros2 launch sm_aws_warehouse_navigation sm_aws_warehouse_navigation.launch

brett@ubuntu:$ source /opt/ros/rolling/setup.bash
brett@ubuntu:
$ source /workspace/rolling_ws/install/setup.bash
brett@ubuntu:
$ ros2 launch sm_aws_warehouse_navigation sm_aws_warehouse_navigation.launch
[INFO] [launch]: All log files can be found below /home/brett/.ros/log/2021-10-04-12-54-42-310509-ubuntu-18070
[INFO] [launch]: Default logging verbosity is set to INFO
Task exception was never retrieved
future: <Task finished name='Task-2' coro=<LaunchService._process_one_event() done, defined at /opt/ros/rolling/lib/python3.8/site-packages/launch/launch_service.py:226> exception=PackageNotFoundError("package 'neo_simulation2' not found, searching: ['/home/brett/workspace/rolling_ws/install/undo_path_global_planner', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_strikes_back', '/home/brett/workspace/rolling_ws/install/sm_dance_bot', '/home/brett/workspace/rolling_ws/install/sm_aws_warehouse_navigation', '/home/brett/workspace/rolling_ws/install/sr_event_countdown', '/home/brett/workspace/rolling_ws/install/sr_conditional', '/home/brett/workspace/rolling_ws/install/sm_three_some', '/home/brett/workspace/rolling_ws/install/sm_respira_1', '/home/brett/workspace/rolling_ws/install/sm_multi_stage_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_c_1', '/home/brett/workspace/rolling_ws/install/sm_advanced_recovery_1', '/home/brett/workspace/rolling_ws/install/sr_all_events_go', '/home/brett/workspace/rolling_ws/install/smacc2_rta', '/home/brett/workspace/rolling_ws/install/sm_ferrari', '/home/brett/workspace/rolling_ws/install/sm_branching', '/home/brett/workspace/rolling_ws/install/sm_atomic_subscribers_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_trace_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_b_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_2', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_24hr', '/home/brett/workspace/rolling_ws/install/sm_atomic', '/home/brett/workspace/rolling_ws/install/ros_timer_client', '/home/brett/workspace/rolling_ws/install/ros_publisher_client', '/home/brett/workspace/rolling_ws/install/multirole_sensor_client', '/home/brett/workspace/rolling_ws/install/move_base_z_client_plugin', '/home/brett/workspace/rolling_ws/install/keyboard_client', '/home/brett/workspace/rolling_ws/install/eg_random_generator', '/home/brett/workspace/rolling_ws/install/eg_conditional_generator', '/home/brett/workspace/rolling_ws/install/smacc2', '/home/brett/workspace/rolling_ws/install/smacc2_msgs', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_msgs', '/home/brett/workspace/rolling_ws/install/nav2_system_tests', '/home/brett/workspace/rolling_ws/install/nav2_bringup', '/home/brett/workspace/rolling_ws/install/slam_toolbox', '/home/brett/workspace/rolling_ws/install/pure_spinning_local_planner', '/home/brett/workspace/rolling_ws/install/navigation2', '/home/brett/workspace/rolling_ws/install/nav2_dwb_controller', '/home/brett/workspace/rolling_ws/install/nav2_controller', '/home/brett/workspace/rolling_ws/install/forward_local_planner', '/home/brett/workspace/rolling_ws/install/backward_global_planner', '/home/brett/workspace/rolling_ws/install/forward_global_planner', '/home/brett/workspace/rolling_ws/install/dwb_plugins', '/home/brett/workspace/rolling_ws/install/dwb_critics', '/home/brett/workspace/rolling_ws/install/dwb_core', '/home/brett/workspace/rolling_ws/install/backward_local_planner', '/home/brett/workspace/rolling_ws/install/nav_2d_utils', '/home/brett/workspace/rolling_ws/install/dwb_msgs', '/home/brett/workspace/rolling_ws/install/nav_2d_msgs', '/home/brett/workspace/rolling_ws/install/nav2_waypoint_follower', '/home/brett/workspace/rolling_ws/install/nav2_theta_star_planner', '/home/brett/workspace/rolling_ws/install/nav2_smac_planner', '/home/brett/workspace/rolling_ws/install/nav2_regulated_pure_pursuit_controller', '/home/brett/workspace/rolling_ws/install/nav2_recoveries', '/home/brett/workspace/rolling_ws/install/nav2_planner', '/home/brett/workspace/rolling_ws/install/nav2_navfn_planner', '/home/brett/workspace/rolling_ws/install/nav2_bt_navigator', '/home/brett/workspace/rolling_ws/install/nav2_core', '/home/brett/workspace/rolling_ws/install/costmap_queue', '/home/brett/workspace/rolling_ws/install/nav2_costmap_2d', '/home/brett/workspace/rolling_ws/install/nav2_voxel_grid', '/home/brett/workspace/rolling_ws/install/nav2_rviz_plugins', '/home/brett/workspace/rolling_ws/install/nav2_map_server', '/home/brett/workspace/rolling_ws/install/nav2_lifecycle_manager', '/home/brett/workspace/rolling_ws/install/nav2_behavior_tree', '/home/brett/workspace/rolling_ws/install/nav2_amcl', '/home/brett/workspace/rolling_ws/install/nav2_util', '/home/brett/workspace/rolling_ws/install/nav2_simple_commander', '/home/brett/workspace/rolling_ws/install/nav2_msgs', '/home/brett/workspace/rolling_ws/install/nav2_common', '/home/brett/workspace/rolling_ws/install/move_base_z_planners_common', '/opt/ros/rolling']")>
Traceback (most recent call last):
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/packages.py", line 58, in get_package_prefix
content, package_prefix = get_resource('packages', package_name)
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/resources.py", line 86, in get_resource
raise LookupError(
LookupError: Could not find the resource 'neo_simulation2' of type 'packages'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/launch_service.py", line 228, in _process_one_event
await self.__process_event(next_event)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/launch_service.py", line 248, in __process_event
visit_all_entities_and_collect_futures(entity, self.__context))
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
[Previous line repeated 1 more time]
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures
sub_entities = entity.visit(context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/action.py", line 108, in visit
return self.execute(context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/actions/declare_launch_argument.py", line 184, in execute
perform_substitutions(context, self.default_value)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in perform_substitutions
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/launch_context.py", line 197, in perform_substitution
return substitution.perform(self)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch_ros/substitutions/find_package.py", line 79, in perform
result = self.find(package)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch_ros/substitutions/find_package.py", line 112, in find
return get_package_share_directory(package_name)
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/packages.py", line 80, in get_package_share_directory
path = os.path.join(get_package_prefix(package_name), 'share', package_name)
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/packages.py", line 60, in get_package_prefix
raise PackageNotFoundError(
ament_index_python.packages.PackageNotFoundError: "package 'neo_simulation2' not found, searching: ['/home/brett/workspace/rolling_ws/install/undo_path_global_planner', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_strikes_back', '/home/brett/workspace/rolling_ws/install/sm_dance_bot', '/home/brett/workspace/rolling_ws/install/sm_aws_warehouse_navigation', '/home/brett/workspace/rolling_ws/install/sr_event_countdown', '/home/brett/workspace/rolling_ws/install/sr_conditional', '/home/brett/workspace/rolling_ws/install/sm_three_some', '/home/brett/workspace/rolling_ws/install/sm_respira_1', '/home/brett/workspace/rolling_ws/install/sm_multi_stage_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_c_1', '/home/brett/workspace/rolling_ws/install/sm_advanced_recovery_1', '/home/brett/workspace/rolling_ws/install/sr_all_events_go', '/home/brett/workspace/rolling_ws/install/smacc2_rta', '/home/brett/workspace/rolling_ws/install/sm_ferrari', '/home/brett/workspace/rolling_ws/install/sm_branching', '/home/brett/workspace/rolling_ws/install/sm_atomic_subscribers_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_trace_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_b_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_2', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_24hr', '/home/brett/workspace/rolling_ws/install/sm_atomic', '/home/brett/workspace/rolling_ws/install/ros_timer_client', '/home/brett/workspace/rolling_ws/install/ros_publisher_client', '/home/brett/workspace/rolling_ws/install/multirole_sensor_client', '/home/brett/workspace/rolling_ws/install/move_base_z_client_plugin', '/home/brett/workspace/rolling_ws/install/keyboard_client', '/home/brett/workspace/rolling_ws/install/eg_random_generator', '/home/brett/workspace/rolling_ws/install/eg_conditional_generator', '/home/brett/workspace/rolling_ws/install/smacc2', '/home/brett/workspace/rolling_ws/install/smacc2_msgs', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_msgs', '/home/brett/workspace/rolling_ws/install/nav2_system_tests', '/home/brett/workspace/rolling_ws/install/nav2_bringup', '/home/brett/workspace/rolling_ws/install/slam_toolbox', '/home/brett/workspace/rolling_ws/install/pure_spinning_local_planner', '/home/brett/workspace/rolling_ws/install/navigation2', '/home/brett/workspace/rolling_ws/install/nav2_dwb_controller', '/home/brett/workspace/rolling_ws/install/nav2_controller', '/home/brett/workspace/rolling_ws/install/forward_local_planner', '/home/brett/workspace/rolling_ws/install/backward_global_planner', '/home/brett/workspace/rolling_ws/install/forward_global_planner', '/home/brett/workspace/rolling_ws/install/dwb_plugins', '/home/brett/workspace/rolling_ws/install/dwb_critics', '/home/brett/workspace/rolling_ws/install/dwb_core', '/home/brett/workspace/rolling_ws/install/backward_local_planner', '/home/brett/workspace/rolling_ws/install/nav_2d_utils', '/home/brett/workspace/rolling_ws/install/dwb_msgs', '/home/brett/workspace/rolling_ws/install/nav_2d_msgs', '/home/brett/workspace/rolling_ws/install/nav2_waypoint_follower', '/home/brett/workspace/rolling_ws/install/nav2_theta_star_planner', '/home/brett/workspace/rolling_ws/install/nav2_smac_planner', '/home/brett/workspace/rolling_ws/install/nav2_regulated_pure_pursuit_controller', '/home/brett/workspace/rolling_ws/install/nav2_recoveries', '/home/brett/workspace/rolling_ws/install/nav2_planner', '/home/brett/workspace/rolling_ws/install/nav2_navfn_planner', '/home/brett/workspace/rolling_ws/install/nav2_bt_navigator', '/home/brett/workspace/rolling_ws/install/nav2_core', '/home/brett/workspace/rolling_ws/install/costmap_queue', '/home/brett/workspace/rolling_ws/install/nav2_costmap_2d', '/home/brett/workspace/rolling_ws/install/nav2_voxel_grid', '/home/brett/workspace/rolling_ws/install/nav2_rviz_plugins', '/home/brett/workspace/rolling_ws/install/nav2_map_server', '/home/brett/workspace/rolling_ws/install/nav2_lifecycle_manager', '/home/brett/workspace/rolling_ws/install/nav2_behavior_tree', '/home/brett/workspace/rolling_ws/install/nav2_amcl', '/home/brett/workspace/rolling_ws/install/nav2_util', '/home/brett/workspace/rolling_ws/install/nav2_simple_commander', '/home/brett/workspace/rolling_ws/install/nav2_msgs', '/home/brett/workspace/rolling_ws/install/nav2_common', '/home/brett/workspace/rolling_ws/install/move_base_z_planners_common', '/opt/ros/rolling']"
brett@ubuntu:~$ ros2 launch sm_aws_warehouse_navigation sm_aws_warehouse_navigation.launch
[INFO] [launch]: All log files can be found below /home/brett/.ros/log/2021-10-04-12-55-15-602038-ubuntu-18072
[INFO] [launch]: Default logging verbosity is set to INFO
Task exception was never retrieved
future: <Task finished name='Task-2' coro=<LaunchService._process_one_event() done, defined at /opt/ros/rolling/lib/python3.8/site-packages/launch/launch_service.py:226> exception=PackageNotFoundError("package 'neo_simulation2' not found, searching: ['/home/brett/workspace/rolling_ws/install/undo_path_global_planner', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_strikes_back', '/home/brett/workspace/rolling_ws/install/sm_dance_bot', '/home/brett/workspace/rolling_ws/install/sm_aws_warehouse_navigation', '/home/brett/workspace/rolling_ws/install/sr_event_countdown', '/home/brett/workspace/rolling_ws/install/sr_conditional', '/home/brett/workspace/rolling_ws/install/sm_three_some', '/home/brett/workspace/rolling_ws/install/sm_respira_1', '/home/brett/workspace/rolling_ws/install/sm_multi_stage_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_c_1', '/home/brett/workspace/rolling_ws/install/sm_advanced_recovery_1', '/home/brett/workspace/rolling_ws/install/sr_all_events_go', '/home/brett/workspace/rolling_ws/install/smacc2_rta', '/home/brett/workspace/rolling_ws/install/sm_ferrari', '/home/brett/workspace/rolling_ws/install/sm_branching', '/home/brett/workspace/rolling_ws/install/sm_atomic_subscribers_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_trace_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_b_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_2', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_24hr', '/home/brett/workspace/rolling_ws/install/sm_atomic', '/home/brett/workspace/rolling_ws/install/ros_timer_client', '/home/brett/workspace/rolling_ws/install/ros_publisher_client', '/home/brett/workspace/rolling_ws/install/multirole_sensor_client', '/home/brett/workspace/rolling_ws/install/move_base_z_client_plugin', '/home/brett/workspace/rolling_ws/install/keyboard_client', '/home/brett/workspace/rolling_ws/install/eg_random_generator', '/home/brett/workspace/rolling_ws/install/eg_conditional_generator', '/home/brett/workspace/rolling_ws/install/smacc2', '/home/brett/workspace/rolling_ws/install/smacc2_msgs', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_msgs', '/home/brett/workspace/rolling_ws/install/nav2_system_tests', '/home/brett/workspace/rolling_ws/install/nav2_bringup', '/home/brett/workspace/rolling_ws/install/slam_toolbox', '/home/brett/workspace/rolling_ws/install/pure_spinning_local_planner', '/home/brett/workspace/rolling_ws/install/navigation2', '/home/brett/workspace/rolling_ws/install/nav2_dwb_controller', '/home/brett/workspace/rolling_ws/install/nav2_controller', '/home/brett/workspace/rolling_ws/install/forward_local_planner', '/home/brett/workspace/rolling_ws/install/backward_global_planner', '/home/brett/workspace/rolling_ws/install/forward_global_planner', '/home/brett/workspace/rolling_ws/install/dwb_plugins', '/home/brett/workspace/rolling_ws/install/dwb_critics', '/home/brett/workspace/rolling_ws/install/dwb_core', '/home/brett/workspace/rolling_ws/install/backward_local_planner', '/home/brett/workspace/rolling_ws/install/nav_2d_utils', '/home/brett/workspace/rolling_ws/install/dwb_msgs', '/home/brett/workspace/rolling_ws/install/nav_2d_msgs', '/home/brett/workspace/rolling_ws/install/nav2_waypoint_follower', '/home/brett/workspace/rolling_ws/install/nav2_theta_star_planner', '/home/brett/workspace/rolling_ws/install/nav2_smac_planner', '/home/brett/workspace/rolling_ws/install/nav2_regulated_pure_pursuit_controller', '/home/brett/workspace/rolling_ws/install/nav2_recoveries', '/home/brett/workspace/rolling_ws/install/nav2_planner', '/home/brett/workspace/rolling_ws/install/nav2_navfn_planner', '/home/brett/workspace/rolling_ws/install/nav2_bt_navigator', '/home/brett/workspace/rolling_ws/install/nav2_core', '/home/brett/workspace/rolling_ws/install/costmap_queue', '/home/brett/workspace/rolling_ws/install/nav2_costmap_2d', '/home/brett/workspace/rolling_ws/install/nav2_voxel_grid', '/home/brett/workspace/rolling_ws/install/nav2_rviz_plugins', '/home/brett/workspace/rolling_ws/install/nav2_map_server', '/home/brett/workspace/rolling_ws/install/nav2_lifecycle_manager', '/home/brett/workspace/rolling_ws/install/nav2_behavior_tree', '/home/brett/workspace/rolling_ws/install/nav2_amcl', '/home/brett/workspace/rolling_ws/install/nav2_util', '/home/brett/workspace/rolling_ws/install/nav2_simple_commander', '/home/brett/workspace/rolling_ws/install/nav2_msgs', '/home/brett/workspace/rolling_ws/install/nav2_common', '/home/brett/workspace/rolling_ws/install/move_base_z_planners_common', '/opt/ros/rolling']")>
Traceback (most recent call last):
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/packages.py", line 58, in get_package_prefix
content, package_prefix = get_resource('packages', package_name)
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/resources.py", line 86, in get_resource
raise LookupError(
LookupError: Could not find the resource 'neo_simulation2' of type 'packages'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/launch_service.py", line 228, in _process_one_event
await self.__process_event(next_event)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/launch_service.py", line 248, in __process_event
visit_all_entities_and_collect_futures(entity, self.__context))
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
[Previous line repeated 1 more time]
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures
sub_entities = entity.visit(context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/action.py", line 108, in visit
return self.execute(context)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/actions/declare_launch_argument.py", line 184, in execute
perform_substitutions(context, self.default_value)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in perform_substitutions
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/rolling/lib/python3.8/site-packages/launch/launch_context.py", line 197, in perform_substitution
return substitution.perform(self)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch_ros/substitutions/find_package.py", line 79, in perform
result = self.find(package)
File "/opt/ros/rolling/lib/python3.8/site-packages/launch_ros/substitutions/find_package.py", line 112, in find
return get_package_share_directory(package_name)
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/packages.py", line 80, in get_package_share_directory
path = os.path.join(get_package_prefix(package_name), 'share', package_name)
File "/opt/ros/rolling/lib/python3.8/site-packages/ament_index_python/packages.py", line 60, in get_package_prefix
raise PackageNotFoundError(
ament_index_python.packages.PackageNotFoundError: "package 'neo_simulation2' not found, searching: ['/home/brett/workspace/rolling_ws/install/undo_path_global_planner', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_strikes_back', '/home/brett/workspace/rolling_ws/install/sm_dance_bot', '/home/brett/workspace/rolling_ws/install/sm_aws_warehouse_navigation', '/home/brett/workspace/rolling_ws/install/sr_event_countdown', '/home/brett/workspace/rolling_ws/install/sr_conditional', '/home/brett/workspace/rolling_ws/install/sm_three_some', '/home/brett/workspace/rolling_ws/install/sm_respira_1', '/home/brett/workspace/rolling_ws/install/sm_multi_stage_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_c_1', '/home/brett/workspace/rolling_ws/install/sm_advanced_recovery_1', '/home/brett/workspace/rolling_ws/install/sr_all_events_go', '/home/brett/workspace/rolling_ws/install/smacc2_rta', '/home/brett/workspace/rolling_ws/install/sm_ferrari', '/home/brett/workspace/rolling_ws/install/sm_branching', '/home/brett/workspace/rolling_ws/install/sm_atomic_subscribers_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_trace_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_b_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_2', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test_a_1', '/home/brett/workspace/rolling_ws/install/sm_atomic_performance_test', '/home/brett/workspace/rolling_ws/install/sm_atomic_24hr', '/home/brett/workspace/rolling_ws/install/sm_atomic', '/home/brett/workspace/rolling_ws/install/ros_timer_client', '/home/brett/workspace/rolling_ws/install/ros_publisher_client', '/home/brett/workspace/rolling_ws/install/multirole_sensor_client', '/home/brett/workspace/rolling_ws/install/move_base_z_client_plugin', '/home/brett/workspace/rolling_ws/install/keyboard_client', '/home/brett/workspace/rolling_ws/install/eg_random_generator', '/home/brett/workspace/rolling_ws/install/eg_conditional_generator', '/home/brett/workspace/rolling_ws/install/smacc2', '/home/brett/workspace/rolling_ws/install/smacc2_msgs', '/home/brett/workspace/rolling_ws/install/sm_dance_bot_msgs', '/home/brett/workspace/rolling_ws/install/nav2_system_tests', '/home/brett/workspace/rolling_ws/install/nav2_bringup', '/home/brett/workspace/rolling_ws/install/slam_toolbox', '/home/brett/workspace/rolling_ws/install/pure_spinning_local_planner', '/home/brett/workspace/rolling_ws/install/navigation2', '/home/brett/workspace/rolling_ws/install/nav2_dwb_controller', '/home/brett/workspace/rolling_ws/install/nav2_controller', '/home/brett/workspace/rolling_ws/install/forward_local_planner', '/home/brett/workspace/rolling_ws/install/backward_global_planner', '/home/brett/workspace/rolling_ws/install/forward_global_planner', '/home/brett/workspace/rolling_ws/install/dwb_plugins', '/home/brett/workspace/rolling_ws/install/dwb_critics', '/home/brett/workspace/rolling_ws/install/dwb_core', '/home/brett/workspace/rolling_ws/install/backward_local_planner', '/home/brett/workspace/rolling_ws/install/nav_2d_utils', '/home/brett/workspace/rolling_ws/install/dwb_msgs', '/home/brett/workspace/rolling_ws/install/nav_2d_msgs', '/home/brett/workspace/rolling_ws/install/nav2_waypoint_follower', '/home/brett/workspace/rolling_ws/install/nav2_theta_star_planner', '/home/brett/workspace/rolling_ws/install/nav2_smac_planner', '/home/brett/workspace/rolling_ws/install/nav2_regulated_pure_pursuit_controller', '/home/brett/workspace/rolling_ws/install/nav2_recoveries', '/home/brett/workspace/rolling_ws/install/nav2_planner', '/home/brett/workspace/rolling_ws/install/nav2_navfn_planner', '/home/brett/workspace/rolling_ws/install/nav2_bt_navigator', '/home/brett/workspace/rolling_ws/install/nav2_core', '/home/brett/workspace/rolling_ws/install/costmap_queue', '/home/brett/workspace/rolling_ws/install/nav2_costmap_2d', '/home/brett/workspace/rolling_ws/install/nav2_voxel_grid', '/home/brett/workspace/rolling_ws/install/nav2_rviz_plugins', '/home/brett/workspace/rolling_ws/install/nav2_map_server', '/home/brett/workspace/rolling_ws/install/nav2_lifecycle_manager', '/home/brett/workspace/rolling_ws/install/nav2_behavior_tree', '/home/brett/workspace/rolling_ws/install/nav2_amcl', '/home/brett/workspace/rolling_ws/install/nav2_util', '/home/brett/workspace/rolling_ws/install/nav2_simple_commander', '/home/brett/workspace/rolling_ws/install/nav2_msgs', '/home/brett/workspace/rolling_ws/install/nav2_common', '/home/brett/workspace/rolling_ws/install/move_base_z_planners_common', '/opt/ros/rolling']"
brett@ubuntu:~$

Test

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

ROS DETAILS:

  • OS: [e.g. Ubuntu 20.04 LTS]
  • Version [e.g. Rolling]

REPO DETAILS:

  • Repository: [e.g. robosoft-ai/SMACC2]
  • Branch: [e.g. master]
  • Commit (First 5 Digits): [e.g. 6bade]

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: [e.g. colcon build --symlink-install]

Additional context

  • Anything that may be unusual about your environment

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

Error Details

Cut and Paste Here... (e.g. terminal output)

┆Issue is synchronized with this Jira Task by Unito

sm_dance_bot_strikes_back extrapolation error

Describe the bug
A clear and concise description of what the bug is.

Before s-pattern and at the end of the course, the planner terminal reads, "Extrapolation Error looking up target frame: Lookup would require extrapolation into the past."

To Reproduce
Steps to reproduce the behavior:

  1. Launch sm_dance_bot_strikes_back
  2. monitor planner_server until error appears in the stated locations
    (Happens reliably at those locations)

Expected behavior
A clear and concise description of what you expected to happen.

No errors thrown.

Screenshots
If applicable, add screenshots to help explain your problem.

Screenshot from 2021-11-04 12-54-41
Screenshot from 2021-11-04 13-05-37
Environment (please complete the following information):

ROS DETAILS:

  • OS: Ubuntu 20.04 LTS
  • Version: Rolling

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Branch: master
  • Commit (First 5 Digits): 6bba1
    BUILDSPACE DETAILS (List all packages):
  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

TEST DETAILS

  • Launch file: ros2 launch sm_dance_bot_strikes_back sm_dance_bot_strikes_back_launch.py

test3

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

ROS DETAILS:

  • OS: [e.g. Ubuntu 20.04 LTS]
  • Version [e.g. Rolling]

REPO DETAILS:

  • Repository: [e.g. robosoft-ai/SMACC2]
  • Branch: [e.g. master]
  • Commit (First 5 Digits): [e.g. 6bade]

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: [e.g. colcon build --symlink-install]

Additional context

  • Anything that may be unusual about your environment

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

Error Details

Cut and Paste Here... (e.g. terminal output)

┆Issue is synchronized with this Jira Task by Unito

improve the precision on undo-motions

Describe the bug
A clear and concise description of what the bug is.

sm_dance_bot_strikes_back_node will on occasion output a "Incorrect odom clearing motion" message when returning from a radial endpoint.
The robot continues as normal once returning to the origin of the radial pattern.

To Reproduce
Steps to reproduce the behavior:

  1. launch sm_dance_bot_strikes_back via ros2 launch sm_dance_bot_strikes_back sm_dance_bot_strikes_back_launch.py

  2. monitor sm_dance_bot_strikes_back_node for the message (seems to appear on the 15th, and sometimes 7th, iteration)

Expected behavior
A clear and concise description of what you expected to happen.

The robot was behaving as expected within RViz and Gazebo. Didn't expect this message and wanted to note it.

Screenshots
If applicable, add screenshots to help explain your problem.
Screenshot from 2021-11-04 10-40-35

Environment (please complete the following information):

ROS DETAILS:

  • OS: Ubuntu 20.04 LTS
  • Version Rolling

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Branch: feature/sm_dance_bot_strikes_back_refactoring
  • Commit (First 5 Digits): e653c

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

TEST DETAILS

  • Launch file: ros2 launch sm_dance_bot_strikes_back sm_dance_bot_strikes_back_launch.py

Additional context

  • Anything that may be unusual about your environment

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

Error Details

Cut and Paste Here... (e.g. terminal output)

Code optimization discussion

When analyzing code with Valgrind and looking into it in detail, I found the following (potential) issues. These comments are regarding sm_atomic_performance_test package, but maybe be also present in the other packages.

Code issues:

  1. There is no header file guarding in state files — adding #pragma once solves this.
  2. States are forward-declared in the main .hpp file as classes, but later as struct in their respective files, State1, State2. This could lead to linking issues on windows.
  • The struct/class issue it would be nice to solve it, but lets follow the priorities on the pending tasks because does not look critical.
  • The pragma once guard for states, sounds good but I am not sure if that would work everywhere. In general I have to say that the state files are only referenced once in the main header file, nowhere else.

sm_dance_bot: Overshooting goal

Describe the bug
A clear and concise description of what the bug is.

When the robot overshoots a goal it gets stuck and continually outlines a circle.

To Reproduce
Steps to reproduce the behavior:

Changed radial pattern iterations to two for faster testing.
launched sm_dance_bot via ros2 launch sm_dance_bot sm_dance_bot_launch.py

Expected behavior
A clear and concise description of what you expected to happen.

The robot would complete its dance.

Screenshots
If applicable, add screenshots to help explain your problem.

Screenshot from 2021-10-11 14-04-40

Screenshot from 2021-10-11 13-46-39

Screenshot from 2021-10-11 13-57-55

Screenshot from 2021-10-11 14-05-45

Environment (please complete the following information):

ROS DETAILS:

  • OS: Ubuntu 20.04 LTS
  • Version Rolling

REPO DETAILS:

  • Repository: robosoft-ai/SMACC2
  • Commit (First 5 Digits): de618

BUILDSPACE DETAILS (List all packages):

  • [e.g. ros2_control - 6bbde]
  • [e.g. moveit2 - 6bbde]
  • ...

BUILD DETAILS

  • Build Command: [e.g. colcon build --symlink-install]
    -colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

TEST DETAILS

  • Launch file: ros2 launch sm_dance_bot sm_dance_bot_launch.py

Additional context

  • Anything that may be unusual about your environment

Suspect a possibly dirty system but am uncertain.

Add any other context about the problem here, especially include any modifications to smacc2 that relate to this issue.

The only change made to SMACC2 was the number of iterations for the radial patterns to two for faster testing.

Error Details


Foxy Ros build farm failure?

I am getting the following flooding emails:

image

It looks to me like smacc2 is not building for foxy. Could we disable that ros build farm case?

Workflow rename

Please change...

Doxygen Doc Deployment to Doxygen Deployment

Purely cosmetic to the Readme

State Reactors Template Names Change

In smacc_state_machine_info.cpp,

All the Orthogonals are like this...
getOrthogonalName()
TOrthogonal TSource

But the Reactors are like this...
TObjectTag TDerived

I can't remember if we decided to go with TStateReactor TSource, or TStateReactor TParentState.

┆Issue is synchronized with this Jira Task by Unito

trace_generator.py

Model here is to basically pull all traces (both ros2 and smacc2) and then do all of the analysis in excel, or maybe ms access.

I'm thinking ideal output would be CSV? with the expectation that the CSV file in question gets properly imported into excel, including the first row for headings.

Declan has a spreadsheet he made the other day that can serve as a starting point. I would attach it here, but don't think I can.

┆Issue is synchronized with this Jira Task by Unito

Difference between using SMACC2 and QP/C++ framework?

I am relatively new to ROS and come from an embedded background. A well-known framework for Hierarchical state machines is the QP/C++ framework.

I would like to know from the ROS perspective, what are the out-of-the-box advantages that SMACC2 has when developing an event-driven state machine in comparison to using a HSM framework (such as QP) and integrating the ROS SDK directly.

Kind regards,
Victor

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.