Skip to article frontmatterSkip to article content

The SmartArmStack (sas) has been developed (with this name) in support of the SmartArm robot described in Marinho et al. (2020), at the University of Tokyo. It has then been used in dozens of projects and updated in Marinho et al. (2024) for the AI Science Platform. Please cite one of these references if you use sas in your own work.

Focus on your application🔍

sas is a C++ framework with Python bindings to enable fast prototyping using ROS 2 toolchain.

ROS 2 where it shines✨

Split away ROS 2 code into client and server classes, communicate via ROS 2 without ROS 2 code.

Multiple robots🤖

Enjoy drivers for DensoWave, UR, and KUKA. With ongoing developments for Franka Emika and Unitree robots.

Please note that sas is originally based on developments circa 2013 by Murilo M. Marinho. Affiliation with the University of Tokyo has ceased on December 2023 and this project is currently affiliated with the University of Manchester.

Quickstart

Docker

Docker Pulls

docker run -it murilomarinho/sas:jazzy

Installation

SAS Debian Builder

The command below will add and install the sas packages via apt-get.

curl -s --compressed "https://smartarmstack.github.io/smart_arm_stack_ROS2/KEY.gpg" \
| gpg --dearmor \
| sudo tee /etc/apt/trusted.gpg.d/smartarmstack_lgpl.gpg >/dev/null
sudo curl -s --compressed -o /etc/apt/sources.list.d/smartarmstack_lgpl.list \
"https://smartarmstack.github.io/smart_arm_stack_ROS2/smartarmstack_lgpl.list"
sudo apt update
sudo apt-get install ros-jazzy-sas-*

License

SAS and ROS2

Figure 1:SAS and ROS2

sas has worked in a dual-licensing scheme, described in the dropdown boxes below.

Tutorials

Please refer to https://ros2-tutorial.readthedocs.io/en/latest/sas/index.html.

Packaging

LGPL

The PPA for the LGPL version is available at https://smartarmstack.github.io/smart_arm_stack_ROS2/.

The archive is available at https://github.com/SmartArmStack/smart_arm_stack_ROS2/releases in case you need to rely on older versions.

Older versions

Older (and unsupported) versions are available at:

Acknowledgements

SAS Dependencies

Figure 2:SAS Dependencies

The main dependencies to note are ros2, dqrobotics, eigen3, and pybind11.

Packaging was made possible by intructive resources such as Hosting your own PPA repository on GitHub.

References
  1. Marinho, M. M., Harada, K., Morita, A., & Mitsuishi, M. (2020). SmartArm: Integration and validation of a versatile surgical robotic system for constrained workspaces. The International Journal of Medical Robotics and Computer Assisted Surgery, 16(2). 10.1002/rcs.2053
  2. Marinho, M. M., Quiroz-Omaña, J. J., & Harada, K. (2024). A Multiarm Robotic Platform for Scientific Exploration: Its Design, Digital Twins, and Validation. IEEE Robotics & Automation Magazine, 31(4), 10–20. 10.1109/mra.2023.3336472