Common
common packages for kyubic
 
Loading...
Searching...
No Matches
web_controller.main.WebVisualizerNode Class Reference
+ Inheritance diagram for web_controller.main.WebVisualizerNode:
+ Collaboration diagram for web_controller.main.WebVisualizerNode:

Public Member Functions

def __init__ (self, viser.ViserServer server, Path mesh_path, float pub_targets_period)
 
def odom_callback (self, Odometry msg)
 
def target_callback (self, Targets msg)
 
def camera_callback (self, Image msg, viser.ImageHandle view)
 
def update_robot (self, pos, orient)
 
def update_trajectory (self, pos)
 
def update_plots (self)
 
def clear_trajectory (self)
 
def set_targets (self)
 
def toggle_publishing (self)
 
def publish_target (self)
 
def front_camera_callback (self, Image msg)
 
def bottom_camera_callback (self, Image msg)
 

Public Attributes

 server
 
 mesh_path
 
 pub_targets_period
 
 lock
 
 bridge
 
 trajectory_points
 
 trajectory_colors
 
 targets
 
 is_publishing_targets
 
 publish_timer
 
 MAX_DATAPOINTS
 
 odom_data
 
 target_buffer
 
 targets_data
 
 robot
 
 front_cam_view
 
 bottom_cam_view
 
 trajectory
 
 trajectory_clear_button
 
 gui_target_posi
 
 gui_z_type
 
 gui_target_orient
 
 set_targets_button
 
 publish_button
 
 target_publisher
 
 odom_subscriber
 
 target_subscriber
 
 front_cam_sub
 
 bottom_cam_sub
 

Protected Member Functions

def _setup_3d_scene (self)
 
def _setup_gui (self)
 
def _setup_ros_communication (self)
 
def _init_plot_data (self)
 

Detailed Description

A ROS2 node that creates a web-based visualizer for a robot using Viser.

Constructor & Destructor Documentation

◆ __init__()

def web_controller.main.WebVisualizerNode.__init__ (   self,
viser.ViserServer  server,
Path  mesh_path,
float  pub_targets_period 
)

Member Function Documentation

◆ _init_plot_data()

def web_controller.main.WebVisualizerNode._init_plot_data (   self)
protected
Returns an empty dictionary to store plot data.

◆ _setup_3d_scene()

def web_controller.main.WebVisualizerNode._setup_3d_scene (   self)
protected
Initializes the 3D scene in Viser, including the robot mesh and camera views.

◆ _setup_gui()

def web_controller.main.WebVisualizerNode._setup_gui (   self)
protected
Creates all GUI elements in Viser.

◆ _setup_ros_communication()

def web_controller.main.WebVisualizerNode._setup_ros_communication (   self)
protected
Initializes ROS2 publishers and subscribers.

◆ bottom_camera_callback()

def web_controller.main.WebVisualizerNode.bottom_camera_callback (   self,
Image  msg 
)

◆ camera_callback()

def web_controller.main.WebVisualizerNode.camera_callback (   self,
Image  msg,
viser.ImageHandle  view 
)
Generic callback to convert ROS Image to numpy and update a Viser view.

◆ clear_trajectory()

def web_controller.main.WebVisualizerNode.clear_trajectory (   self)

◆ front_camera_callback()

def web_controller.main.WebVisualizerNode.front_camera_callback (   self,
Image  msg 
)

◆ odom_callback()

def web_controller.main.WebVisualizerNode.odom_callback (   self,
Odometry  msg 
)
Callback for receiving odometry data and updating the visualizer.

◆ publish_target()

def web_controller.main.WebVisualizerNode.publish_target (   self)
Publish targets as a ROS2 message.

◆ set_targets()

def web_controller.main.WebVisualizerNode.set_targets (   self)
Reads target values from the GUI

◆ target_callback()

def web_controller.main.WebVisualizerNode.target_callback (   self,
Targets  msg 
)
Callback for receiving target data for plotting.

◆ toggle_publishing()

def web_controller.main.WebVisualizerNode.toggle_publishing (   self)
Starts or stops the periodic publishing of target values.

◆ update_plots()

def web_controller.main.WebVisualizerNode.update_plots (   self)
Updates the line plots in Viser with current data.

◆ update_robot()

def web_controller.main.WebVisualizerNode.update_robot (   self,
  pos,
  orient 
)

◆ update_trajectory()

def web_controller.main.WebVisualizerNode.update_trajectory (   self,
  pos 
)

Member Data Documentation

◆ bottom_cam_sub

web_controller.main.WebVisualizerNode.bottom_cam_sub

◆ bottom_cam_view

web_controller.main.WebVisualizerNode.bottom_cam_view

◆ bridge

web_controller.main.WebVisualizerNode.bridge

◆ front_cam_sub

web_controller.main.WebVisualizerNode.front_cam_sub

◆ front_cam_view

web_controller.main.WebVisualizerNode.front_cam_view

◆ gui_target_orient

web_controller.main.WebVisualizerNode.gui_target_orient

◆ gui_target_posi

web_controller.main.WebVisualizerNode.gui_target_posi

◆ gui_z_type

web_controller.main.WebVisualizerNode.gui_z_type

◆ is_publishing_targets

web_controller.main.WebVisualizerNode.is_publishing_targets

◆ lock

web_controller.main.WebVisualizerNode.lock

◆ MAX_DATAPOINTS

web_controller.main.WebVisualizerNode.MAX_DATAPOINTS

◆ mesh_path

web_controller.main.WebVisualizerNode.mesh_path

◆ odom_data

web_controller.main.WebVisualizerNode.odom_data

◆ odom_subscriber

web_controller.main.WebVisualizerNode.odom_subscriber

◆ pub_targets_period

web_controller.main.WebVisualizerNode.pub_targets_period

◆ publish_button

web_controller.main.WebVisualizerNode.publish_button

◆ publish_timer

web_controller.main.WebVisualizerNode.publish_timer

◆ robot

web_controller.main.WebVisualizerNode.robot

◆ server

web_controller.main.WebVisualizerNode.server

◆ set_targets_button

web_controller.main.WebVisualizerNode.set_targets_button

◆ target_buffer

web_controller.main.WebVisualizerNode.target_buffer

◆ target_publisher

web_controller.main.WebVisualizerNode.target_publisher

◆ target_subscriber

web_controller.main.WebVisualizerNode.target_subscriber

◆ targets

web_controller.main.WebVisualizerNode.targets

◆ targets_data

web_controller.main.WebVisualizerNode.targets_data

◆ trajectory

web_controller.main.WebVisualizerNode.trajectory

◆ trajectory_clear_button

web_controller.main.WebVisualizerNode.trajectory_clear_button

◆ trajectory_colors

web_controller.main.WebVisualizerNode.trajectory_colors

◆ trajectory_points

web_controller.main.WebVisualizerNode.trajectory_points

The documentation for this class was generated from the following file: