SmallDrop is a project being developed during my master thesis in medical robotics. It consists on a bioprinting system for in situ printing directly on burn wounds.
The main system is composed of three sub-systems:
The whole project is ROS-based and is being developed using ROS Melodic on a Linux Mint 19.2 MATE 64-bit. It has a simulation component based on the Gazebo simulator, and it also runs on the real robot. The robot is controlled via custom controllers.
This project is composed of several ROS packages that communicate with each other. Some external package dependencies were added to the project as git submodules.
Main packages
Dependencies (git submodules)
The installation takes three steps:
Just clone the project into your ROS catkin workspace src folder.
cd <catkin_ws>
git clone --recurse-submodules https://github.com/blackchacal/smalldrop.git src/smalldrop
catkin_make
source devel/setup.bash
Several dependencies not associated with ROS packages are also needed.
To operate the Franka Emika Panda robot, the C++ library libfranka is needed. The suggested procedure is to install it from source following the installation instructions from Franka Emika. It is also possible to install it as part of a ros distro.
sudo apt install ros-$ROS_DISTRO-libfranka
To operate with the real robot, it is mandatory to use a Linux real-time kernel. Follow the installation instructions from Franka Emika. The kernel version used for development is version 4.14.139-rt66.
The communication between the computer and the robot needs to be stable for proper robot operation. The CPU frequency has a direct impact on the quality of this communication. For this reason, it is recommended to disable CPU frequency scaling. Follow the instructions from Franka Emika.
If the robot is constantly collapsing or RVIZ you need to add the following line to your ~/.bashrc file, and source it:
export LC_NUMERIC="en_US.UTF-8"
This project is licensed under the MIT License.