just a reminder how speaker notes work in darkslide
Use arbitrary origin in Vicon Tracker and transform all objects to origin subject frame.
→ ViconTransformer
from vicon_transformer import ViconReceiverConfig, ViconReceiver, ViconTransformer def main(): config = ViconReceiverConfig() with ViconReceiver("vicon_pc_hostname", config) as receiver: vt = ViconTransformer(receiver, "my_origin_subject") # get new frame from receiver vt.update() if vt.is_visible("robot_arm_marker"): robot_tf = vt.get_transform("robot_arm_marker") ...
from pam_vicon import PamVicon def main() -> None: # requires vicon_o80_standalone to be running SEGMENT_ID = "vicon" pv = PamVicon(SEGMENT_ID) # update with latest Vicon data provided through o80 pv.update() robot_pose = pv.get_robot_pose() table_pose = pv.get_table_pose(yaw_only=True) print(f"Robot Base Pose: {robot_pose}") print(f"Table Pose: {table_pose}")
Note: Table pose is computed based on corner positions
List of objects for o80 is hard-coded in pam_vicon/o80.hpp:
constexpr std::size_t NUM_SUBJECTS = 11; enum Subjects // <-- changes here also need to be updated in Python bindings (srcpy/o80.cpp) { PING_BASE = 0, BALL_LAUNCHER_FRONT, BALL_LAUNCHER_HEAD, TABLE_CORNER_1, // ... }; const std::map<std::string, size_t> _subject_name_to_index = { {"Pamy_ceiling", Subjects::PING_BASE}, {"Ballmaschine Frontmarker", Subjects::BALL_LAUNCHER_FRONT}, {"Abschusskopf Marker", Subjects::BALL_LAUNCHER_HEAD}, {"Eckteil 1", Subjects::TABLE_CORNER_1}, // ... };
Packages (links to package documentation in READMEs)
- vicon_transformer: https://github.com/intelligent-soft-robots/vicon_transformer
- pam_vicon: https://github.com/intelligent-soft-robots/pam_vicon
- spatial_transformation: https://github.com/MPI-IS/spatial_transformation
Additional documentation in pam_documentation:
Vicon objects files: https://atlas.is.localnet/confluence/display/AGBS/Vicon+Objects
Table of Contents | t |
---|---|
Exposé | ESC |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide next slide | c |
Notes | 2 |
Help | h |