Skip to main content

No project description provided

Project description

Artefacts Toolkit (Charts)

Please consider this as a pre-release package, and thus subject to large, and breaking, changes prior to v1

A part of the Artefacts Toolkit, this package contains helpers to be used when creating charts from test data

Primarily designed to be used with Artefacts, the package can also be used standalone.

Usage

  • Single plot:
from artefacts_toolkit_chart import make_chart

make_chart(
    filepath,
    topic_x,
    topic_y,
    field_unit=None,
    output_dir="output",
    chart_name="chart",
    file_type="rosbag",
)
  • (HTML plot) Multiple plots for 1 axis (i.e: different critics vs time)
chart = make_chart(
        rosbag_filepath,
        ["/critics_cost/ConstraintCritic.data", "/critics_cost/GoalAngleCritic.data", "/critics_cost/GoalCritic.data", "/critics_cost/ObstaclesCritic.data", "/critics_cost/CostCritic.data", "/critics_cost/PathAlignCritic.data", "/critics_cost/PathAngleCritic.data", "/critics_cost/PathFollowCritic.data", "/critics_cost/PreferForwardCritic.data", "/critics_cost/TwirlingCritic.data", "/critics_cost/VelocityDeadbandCritic.data"],
        "time",
        x_axis_name="time",
        y_axis_name="critics",
        field_unit=None,
        chart_name="Critics vs Time",
    )
  • (HTML plot) Multiple plots for 2 axes (i.e: different trajectories on x-y coordinates):
chart = make_chart(
        rosbag_filepath,
        ["/odom.pose.pose.position.x", "/gt_odom.pose.pose.position.x"],
        ["/odom.pose.pose.position.y", "/gt_odom.pose.pose.position.y"],
        field_unit='m',
        chart_name="gt vs odom positions",
    )

Note: Currently charts can only be created from rosbags

Takes a file and creates a chart on the provided two topics. "time" can also be used as topic_x or topic_y if desired. An html chart will be created and saved to the output_dir.

Plotting time when using rosbags

  • Please note that not all ROS topics contain header timestamps. If no header is present, make_chart will use the rosbag’s own timestamps, which may cause timing inaccuracies if the rosbag was recorded or played back at non-real-time speeds.

Notes:

The Artefacts Toolkit also contains a bag_recorder helper to assist you if you require help in setting up a rosbag recording for your tests.

from artefacts_toolkit_rosbag.rosbag import get_bag_recorder
  • When using in a virtual environment, you may need to add your site packages to PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/<your_workspace>/venv/lib/python3.10/site-packages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

artefacts_toolkit_chart-1.0.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file artefacts_toolkit_chart-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for artefacts_toolkit_chart-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6cf0a5e6d8e42a0ac604ff030cb9b4816615383802ab0ec66278502f9aba0b4
MD5 20ef741da92c605dcc034dbea1da36ca
BLAKE2b-256 1d9d6dd147c4a557ae5d384b74a0bab5bfccf930f568bc610a88afb62f32087f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page