This ROS package and associated GUI make use of the 6-axis force/torque sensor on the Universal Robot e-series to apply complex loads to things. We can essentially perform tests similar to an Instron Uniaxial Testing machine, but in all axes.
- Set up your robot arm for use with the Universal_Robots_ROS_Driver.
- Clone the package to the src folder of your catkin workspace
- Follow instructions in the ur_robot_driver/doc folder.
- Be sure to create a calibration package for your robot per these instructions. In this example, we have created a package called "ur_user_calibration" with a dedicated launch file "bringup_armando.launch" where the IP address of the robot is set.
- Set up this package
- Clone the simple_ur_move package to the src folder of your catkin workspace
- Clone this package (armstron) to the src folder of your catkin workspace
- In the root folder of your workspace, install dependencies:
rosdep install --from-paths src --ignore-src -r -y
- Navigate to the armstron package folder and install a few extra non-ROS python requirements:
cd src/armstron/armstron
pip install -r requirements.txt
- Navigate back to the workspace folder, and build your workspace (
catkin_make
)
- Set up the runfile (so you can run Armstron as though it is a regular application)
- Navigate to the armstron top level folder:
cd src/armstron
- Generate the run files
sudo bash armstron/bash/generate_desktop.sh [ROBOT PACKAGE] [ROBOT LAUNCH FILE]
- For example:
sudo bash armstron/bash/generate_desktop.sh ur_user_calibration bringup_armando.launch
- Now you can run Armstron with one click by going to your application menu (Super + A) and choosing "Armstron".
- Navigate to the armstron top level folder:
- (Teach Pendant) Turn on the robot, and get into manual mode.
- (Teach Pendant) Start the robot (tap the small red dot on the bottom left corner)
- (Host Computer) Choose "Armstron" from your application menu (Super + A).
- This starts communication with the robot arm, starts the Armstron test server, and starts the Armstron GUI.
- Use the GUI to load/build test profiles, set data save locations.
- Run tests
- (Teach Pendant) Move the arm around manually to set things up.
- (Teach Pendant) Once you are ready to test, run the "EXTERNAL_CONTROL.urp" program. (press "play" in the bottom bar)
- (Host Computer) Run a test using the "Run Test" button.
Since everything is modular, you can run each part of the Armstron software stack as independent ROS processes. This is useful for debugging purposes
- (Teach Pendant) Turn on the robot, get into manual mode, then load the "EXTERNAL_CONTROL.urp" program.
- (Teach Pendant) Start the robot (tap the small red dot on the bottom left corner)
- (Host Computer) (new terminal):
roslaunch ur_user_calibration bringup_armando.launch
- (Host Computer) Start the test server (new terminal):
roslaunch armstron bringup_testing.launch
- Setup the robot
- (Teach Pendant) Move the arm around manually to set things up.
- (Teach Pendant) Once you are ready to test, run the "EXTERNAL_CONTROL.urp" program. (press "play" in the bottom bar)
- (Host Computer) Start a test (new terminal):
roslaunch armstron run_test.launch config:="ceti_pull_test.yaml" save:="~/armstron_data/testing_launch.csv"
roslaunch armstron run_test.launch config:="ceti_force_hold.yaml" save:="~/armstron_data/testing_launch.csv"
- (Host Computer) Start the test server (new terminal):
roslaunch armstron bringup_testing.launch
- (Host Computer) Start the Armstron GUI (new terminal):
rosrun armstron gui.py
- Show the controller manager:
rosrun rqt_controller_manager rqt_controller_manager
- Enable sending of single messages
rqt
- Go to Plugins >> Topics >> Message Publisher