roboskin.examples.calibration package

Submodules

roboskin.examples.calibration.analyze_method_robustness module

roboskin.examples.calibration.analyze_method_robustness.initialize_optimizers_and_loggers(args, robotic_configs, imu_mappings, datadir, evaluator)[source]
roboskin.examples.calibration.analyze_method_robustness.plot_performance(data_logger, method_names, colors, ave_euclidean_distance, total_time, n_noise, sigma, filename, title)[source]
roboskin.examples.calibration.analyze_method_robustness.run_optimizations(measured_data, optimizers, data_loggers, method_names, n_noise=10, sigma=0.1, outlier_ratio=1)[source]

roboskin.examples.calibration.calibrate_imu_poses module

Module for Kinematics Estimation.

roboskin.examples.calibration.calibrate_imu_poses.parse_arguments()[source]

Parse Arguments

roboskin.examples.calibration.plot_data module

roboskin.examples.calibration.plot_data.calc_ylim(y, margin=0.1)[source]
roboskin.examples.calibration.plot_data.check_data(y_dict: dict, ylabels: List[str])[source]
roboskin.examples.calibration.plot_data.clean_data(data)[source]

TO DO - this is hardcoded from ros_robotic_skin, will fix later yea….

roboskin.examples.calibration.plot_data.estimate_acceleration_batch(kinematic_chain, data: numpy.ndarray, rotate_joint: int, i_joint: int, i_su: int, inds: dict, method: str)[source]
roboskin.examples.calibration.plot_data.fit_sin(t, y, rotate_joint)[source]
roboskin.examples.calibration.plot_data.hampel_filter_forloop(input_series, window_size, n_sigmas=3)[source]

Implementation of Hampel Filter for outlier detection.

Parameters
  • input_series (np.array) – The input data to use for outlier detection.

  • window_size (int) – The sliding window size to use for the filter on input_series.

  • n_sigmas (int) – The number of standard deviations to determine what data points are outliers.

roboskin.examples.calibration.plot_data.is_first(i)[source]

Returns whether it’s the first row/column

roboskin.examples.calibration.plot_data.is_last(i, n)[source]

Returns whether it’s the last row/column

roboskin.examples.calibration.plot_data.is_left(n_row, n_col, i)[source]
roboskin.examples.calibration.plot_data.low_pass_filter(data, samp_freq, cutoff_freq=15.0)[source]

Implementation of the standard pass filter, also known as a exponential moving average filter.

Parameters
  • data – data to be filtered.

  • samp_freq – sampling frequency of the data

  • cutoff_freq – cutoff frequency; that is, data that is > = cutoff_freq will be attentuated.

roboskin.examples.calibration.plot_data.plot_in_one_graph(y_dict: dict, ylabels: List[str], xlabel: str, title: str, x: Optional[numpy.ndarray] = None, show=True, save=False)[source]

Plot all y_dict data in 1 graph. Each y_dict data is assumed to be 2 dimension. Shape=(length, data)

Parameters
  • x (np.ndarray) – x axis data

  • xlabel – Normally it’s Time [s] or No. Data Points

  • y_dict (dict) – Data stored in a dictionary. Keys are the names of the data. (Ex. Method names) Values include the actual data. This function mainly targets time series data y_dict[‘key’].shape = (length, data)

  • ylabels (List[str]) – Labels of the data

  • title (str) – Title

  • show (bool) – Show plot

  • save (bool) – Save plot

roboskin.examples.calibration.plot_data.plot_side_by_side(y_dict: dict, title: str, xlabel: str, x: Optional[numpy.ndarray] = None, ylabels: List[str] = ['ax', 'ay', 'az'], show=True, save=False)[source]

Plot data side by side: y1 on the left and y2 on the right

Parameters
  • y1 (np.ndarray) – Data. This function mainly targets time series data Shape = (length, data)

  • y2 (np.ndarray) – Data. This function mainly targets time series data Shape = (length, data)

  • title1 (str) – Title of y1

  • title2 (str) – Title of y2

  • xlabel (str) – Normally, t’s Time [s] or No. Data Points

  • ylabels (List[str]) – Data’s label

  • show (bool) –

roboskin.examples.calibration.plot_data.savefig(dirname: str, filename: str)[source]
roboskin.examples.calibration.plot_data.set_captions(ax, xlabel, ylabels, title, ylims, i_row, n_row, n_col)[source]
roboskin.examples.calibration.plot_data.verify_acceleration_estimate(data, pose_names: List[str], joint_names: List[str], imu_names: List[str], robot_configs: dict, imu_mappings: dict)[source]
roboskin.examples.calibration.plot_data.verify_noise_added_correctly(data, pose_names: List[str], joint_names: List[str], su_names: List[str], sigma: float = 1.0, outlier_ratio: float = 0.5)[source]
roboskin.examples.calibration.plot_data.ylims_by_rows(y_dict)[source]

roboskin.examples.calibration.stats_generator module

The stats generator file will output the following stats: 1) A graph with SU’s euclidean distance between real and predicted points.

One legend will be Mittendorfer’s method and another will be ours

  1. A table comparing the dh params individually of our method and the others

  2. A table comparing the orientation differences between Mittendorfer’s method and ours

roboskin.examples.calibration.stats_generator.add_image_to_md(filename, img_filename)[source]
roboskin.examples.calibration.stats_generator.add_table_to_md(filename, table, headers)[source]

filename: str table: list headers: list

roboskin.examples.calibration.stats_generator.append_true_parameters(data_logger, robot_configs)[source]
roboskin.examples.calibration.stats_generator.array_to_table_string(dh_params_array)[source]

dh_params_array: np.ndarray

Returns

Return type

list

roboskin.examples.calibration.stats_generator.create_cascaded_table(method_names, data_loggers, target_measure, column_names, row_names)[source]

method_names: list data_loggers: list target_measure: str column_names: list row_names: list

roboskin.examples.calibration.stats_generator.list_to_html_table(my_list, is_header=False)[source]

my_list: list is_header: bool

Returns

Return type

str

roboskin.examples.calibration.stats_generator.save_plt(filename)[source]

Module contents