This is the big one. rrbtx_navigation.
– costmap_switcher (probably with move_base_z? it would be also
justified to be a component part of smacc)
create an opensource reelrbtx_msgs repo private repo for rrbtx_reel_client Keep rrbtx_navigation (for costmaps)
The f-pattern is in place, for horizontal movement, but not for vertical movement. The f-pattern needs to be reorganized so that we start with forward_2, and end on rotate_2.
The s pattern is currently not returning to home, it seems to be stuck in the loop start state.
Random Generator State Reactor
I want a state reactor, with a function that generates a random number within a specified range, similar to this.
So that on a given event, the reactor generates a random number (say between 1-12), and if x<4, it throws event A, if 5<x<8, it throws event B, and if x>9, it throws event C.
sm_three_some viewer issue
I think there is a bug in the viewer, in how it lays out the entry point for superstate. Please look to the current sm_three_some example and notice the transitions from StState3 to SS1::Ss1.
Action Client Timeout Issue
Actionclient attempt to connect to the Actionserver, and then waits with a blocking call.
Q: Can we do this asynchronously?
Ideally, we would attempt to connect and wait x amount of time, and repeat y times. Then produce a warning message if the ActionServer isn’t there.
Melodic version of SMACC Viewer
Need to get melodic version of SMACC Viewer up on packagecloud.io
Current State not showing in the RVIZ Viewer
SMACC Viewer, leaf states should show inside SS’s
Automate debian production & upload to packagecloud.io
- for rrbtx_control & rrbtx_navigation too.
We’re going to upload rrbtx_control to ROS repositories, and rrbtx_navigation will be the nucleus of the new rrbtx_reel_client
SMACC Viewer Dependencies
Can we add the current version, somewhere on the viewer, so that users are able to know if they have the most up-to-date version?
Need to add to shell script, functionality that adds commit number to the version #
***PHASE AFTER THAT***
Operation Client Buildout
The plan is adapting an Universal Robot manipulator to work with SMACC. A new example package would be created imitating dance_bot but replacing the move_base node by a move_group node. It would be needed to develop a new client: MoveBaseActionClient. The example would send the manipulator endpoint to different places. It could be even combined with some other substatebehaviors for other sensors (to show how a state machine could be useful in these contexts). For the example, the default ur5 gazebo simulation example launch file would be used.
Occupancy Map Updater for MoveIt perception client…
MoveIt Task Constructor
Stages = client behaviors, Solvers = client components
New State Machines (clone from Threesome)
New reference machine with…
- Two arms/moveit clients
- Ridgeback base
Inverse Kinematic Solution
Create new folder AI Behaviors, for a state machine level version of logic units….
First implementation (in ai library) would be a counter, that counts the number of times some certain event happens, over the running of a state machine, then records that to some type of logfile.
DON’T DO ANYTHING BELOW THIS LINE
- transition from an orthogonal that doesn’t exist.
- transition from a source that doesn’t exist.
- cb from a client that doesn’t exist – don’t worry about making clients dynamically.
We decided to hold off on this one, after coming to the conclusion that the library is too immature for us to start shutting off portions of the library. So we decided to push but comment out the changes for now.
Improved Compilation Error Msgs
For use case of state not correctly listing it’s context. Static Assert? https://gracicot.github.io/tricks/2017/07/01/deleted-function-diagnostic.html
We attempted this, but unfortunately our changes were compiled after boost.statechart, which made our attempts futile. Anyways, we tried.
Continue adding hierarchy to components
Initialization order issue – Let’s implemenent a first pass.
Mode State Work
- Need to add the ability to create orthogonals & initiate clients via some Mulitple Inheritance mechanism or something, kind of like we did with the update function, so that only states (mode, super, etc) with that explicit functionality can create orthogonals/clients
Logging – log4cpp
Need to record…
- Parameter changes to Global Variables, Client Parameters, Mode Parameters, – Requires a stylistic distinction between variables and parameters?