sr_hand_health_report package from sr_tools reposr_3dmouse sr_grasp_fast_planner sr_grasp_stability sr_hand_health_report sr_movements sr_tools strain_gauge_calibration |
|
Package Summary
Tags | No category tags. |
Version | 0.0.1 |
License | Private |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/shadow-robot/sr_tools.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2022-03-09 |
Dev Status | UNMAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Shadow Robot Software Team
Authors
- Giuseppe Barbieri
SR_HAND_HEALTH_REPORT PACKAGE
Package that contains code to run Automatic Health Report tests.
The purpose of the script will be to collect information on the health of the hand at time of manufacture. Production and Clients will then be able to run this script when they suspect a fault or degraded performance of the hand. The script will generate a health report with checks, to investigate possible causes of fault.
Usage
Get AWS Access Key
This step is necessary in order to be able to upload and download results to AWS.
The AWS keys can be retrieved from here, copy and paste one from the Table of Customer Keys.
If you already have a container installed which does not contain an AWS key, retrieve one of the keys from the link above and within your container run the following command:
echo "your_aws_customer_key" | sudo tee /usr/local/bin/customer_key.key
If you need to set-up a new container, do so by following the instruction in the Docker One liner Confluence page.
N.B. This command will overwrite your current container if you have one, if you don’t want that to happen, add the container_name tag to this command. E.g. container_name=my_new_container:
To get the AWS Access Key in your container remember to set the following lines in your docker creation command:
--read-secure customer_key use_aws=true
During installation you will be prompted for a AWS customer key. Retrieve it from the link of Shadow Wiki linkgiven above.
If you can’t open the link or if you have any doubts about this process, contact the software team at software@shadowrobot.com.
Run the hand
In order to run the script, first run the hand with the following command:
roslaunch sr_ethercat_hand_hand_health_report sr_hand.launch
This launch file will run the driver and load the required PWM controllers.
Before starting the test make sure the hand is in a position similar to the one showed in the picture below:
In order to move the hand in the wanted position you can run it in Teach Mode by following the instructions here:
In the terminal execute the following command:
rqt
On the top-left bar select Plugins->ShadowRobot->ChangeControllers. In the window that will show up select Teach Mode for the hand under test as shown in the picture below.
Health report launch file
The launch file to run the health report checks and generate the report is called sr_hand_health_report.launch.
The launch file allows you to specify which side of the hand is under test (left or right), which checks you want to execute and for which finger.
The available tests are:
- monotonicity_check
- positions_sensor_noise_check
To run all the checks for all the fingers run the following command:
roslaunch sr_hand_health_report sr_hand_health_report.launch hand_side:=<hand_side>
If, for instance, you only want to run the position_sensor_noise_check for First finger and Middle Finger, you can run the following command:
roslaunch sr_hand_health_report sr_hand_health_report.launch hand_side:=<hand_side> checks_to_run:="[position_sensor_noise_check]" fingers_to_test=:"[FF, MF]"
Data visualization and Upload
To access the reports execute the followin command:
cd /home/user/sr_hand_health_reports
This folder will contain a folder per hand serial number, which will contain a folder with the date and time at which the check was executed. Each test folder contains the health_report_result.yml, the health_report_bag_file.bag and the param_dump.yaml file.
If you want to upload a certain folder to AWS run the following command:
roslaunch sr_log_aws_files.launch upload:=true hand_serial:=<hand_serial> test_date:=<test_date> test_time:=<test_time>
This will upload the test result to the shadowrobot.healthreport.results bucket.
Data Download
To download a specific test result run the following command:
roslaunch sr_log_aws_files.launch download:=true hand_serial:=<hand_serial> test_date:=<test_date> test_time:=<test_time>
This will download a given report to your home folder.
FOR SOFTWARE: Run tests on bag files
To run a test on a bag file, run the following command:
roslaunch sr_hand_health_report sr_hand_health_report.launch hand_side:=<hand_side> real_hand:=false
hand_serial:=<hand_serial> test_date:=<test_date> test_time:=<test_time>
This will automatically play a rosbag and run the wanted checks on it.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
sr_system_info | |
sr_controllers_tools | |
message_runtime | |
std_msgs | |
rospy |
System Dependencies
Name |
---|
python-numpy |
Dependant Packages
Launch files
- launch/sr_hand_health_report.launch
-
- hand_side [default: right]
- checks_to_run [default: [position_sensor_noise_check, monotonicity_check]]
- fingers_to_test [default: [FF, MF, RF, LF, TH, WR]]
- results_path [default: /home/user/]
- hand_serial [default: 2346]
- test_date [default: 2020-02-10]
- test_time [default: 15-53-32]
- real_hand [default: true]
- rosbag_path [default: /home/user/sr_hand_health_reports/$(arg hand_serial)/health_report_results_$(arg test_date)_$(arg test_time)]
- rosbag_name [default: health_report_bag_file.bag]
- launch/sr_log_aws_files.launch
-
- download [default: false]
- upload [default: false]
- hand_serial [default: 2346]
- test_date [default: 2020-02-10]
- test_time [default: 15-53-32]
- file_path [default: /home/user/sr_hand_health_reports]
- folder_path [default: $(arg hand_serial)/health_report_results_$(arg test_date)_$(arg test_time)]
- report_name [default: health_report_file.yml]
- bag_name [default: health_report_bag_file.bag]
- param_dump_file_name [default: param_dump.yaml]
- launch/sr_hand.launch
-
- eth_port [default: enp5s0]
- hand_serial [default: 2346]
- hand_id [default: lh]
- hand_trajectory [default: false]
- hand_ctrl [default: false]
- pwm_control [default: true]
- pwm_control [default: $(arg pwm_control)]