SMACC releases new family of trajectory based client behaviors for the SMACC MoveGroupInterface Client (with VIDEO!)

Ladies, Gentlemen, Droids,

I’d like to present cb_pouring_motion and the new trajectory based family of client behaviors for the SMACC MoveGroupInterfaceClient.

I highly recommend viewing the video at 720p.

Here’s the code for this example…
https://github.com/reelrbtx/SMACC/tree/noetic-devel/smacc_sm_reference_library/sm_fetch_two_table_whiskey_pour
Instructions on how to run the example can be found in the readme (just scroll down).

This example utilizes a library of client behaviors that allows ROS application developers to quickly and easily control MoveIt! via SMACC’s MoveGroupInterface Client.

The MoveGroupInterface Client is found in the SMACC Client library…
https://github.com/reelrbtx/SMACC/tree/master/smacc_client_library

And the new MoveGroupInterface client behaviors can be found here…
https://github.com/reelrbtx/SMACC/tree/master/smacc_client_library/move_group_interface_client/include/move_group_interface_client/client_behaviors

Here is a previous example that also shows off some of the capabilities of the SMACC MoveGroupInterface Client,

The code for this example can be found right here…
https://github.com/reelrbtx/SMACC/tree/noetic-devel/smacc_sm_reference_library/sm_fetch_six_table_pick_n_sort_1
Instructions on how to run this example can be found in the readme (just scroll down) as well.


These examples merely scratch the surface of what is possible with SMACC...
There are worlds to conquer.

And lastly I’d like to dedicate these videos to my daughter Zara, who’s scheduled to be born early Sunday morning.


Cheers,

4 Likes

Very interesting example. But I’m not seeing too clearly how this relates to MoveIt!.

Essentially we are implementing in smacc a set of built-in “client behaviors” to perform basic manipulation tasks. For example: “Move Joints to configuration”, “Move end effector to some pose in a cartesian motion”, “Move the end effector orbitating around some axis” (the already mentioned pouring motion and shown in the video).

These client behaviors are, just small configurable programs that are integrated in the SMACC event system to create state machines for your application.

They are related to moveit because these “client behaviors” are implemented on top of the MoveGroupInterface and PlanningSceneInterface, so essentially it is an abstraction layer on top of moveit integrated with smacc. You also can create your own smacc client behaviors based on these moveit interfaces.

We keep working on these ideas!
Regards!