OpTaS
1.0.7
An optimization-based task specification library for trajectory optimization and model predictive control.
|
This class defines the Visualizer for simple visualization. More...
Public Member Functions | |
def | __init__ (self, List[int] window_size=[1440, 810], ArrayType background_color=[0.0, 0.0, 0.0], ArrayType camera_position=[2, 2, 2], ArrayType camera_focal_point=[0, 0, 0], ArrayType camera_view_up=[0, 0, 1], Union[None, float] quit_after_delay=None) |
Initializer for the Visualizer class. More... | |
def | reset_camera (self, position, view_dir, view_up) |
Reset the camera pose. More... | |
vtk.vtkActor | line (self, ArrayType start=[0.0, 0.0, 0.0], ArrayType end=[1.0, 0.0, 0.0], Union[None, ArrayType] rgb=None, float alpha=1.0, float linewidth=1.0) |
Draw a line. More... | |
vtk.vtkActor | sphere (self, float radius=1.0, ArrayType position=[0.0, 0.0, 0.0], Union[None, ArrayType] rgb=None, float alpha=1.0, int theta_resolution=20, int phi_resolution=20) |
Draw a sphere. More... | |
List[vtk.vtkActor] | sphere_traj (self, ArrayType position_traj, float radius=1.0, Union[None, ArrayType] rgb=None, int theta_resolution=20, int phi_resolution=20, Union[None, Dict] alpha_spec=None, animate=False, duration=5.0) |
Draw a sphere trajectory. More... | |
vtk.vtkActor | box (self, ArrayType scale=[1, 1, 1], Union[None, ArrayType] rgb=None, float alpha=1.0, ArrayType position=[0.0, 0.0, 0.0], ArrayType orientation=[0.0, 0.0, 0.0], str euler_seq="xyz", bool euler_degrees=False) |
Draw a box. More... | |
vtk.vtkActor | cylinder (self, float radius=1.0, float height=1.0, Union[None, ArrayType] rgb=None, float alpha=1.0, int resolution=20, ArrayType position=[0.0, 0.0, 0.0], ArrayType orientation=[0.0, 0.0, 0.0], str euler_seq="xyz", bool euler_degrees=False) |
Draw a cylinder (with main axis along y-axis). More... | |
vtk.vtkActor | cylinder_urdf (self, radius=1.0, height=1.0, rgb=None, alpha=1.0, resolution=20, position=[0.0, 0.0, 0.0], orientation=[0.0, 0.0, 0.0], euler_seq="xyz", euler_degrees=False) |
Draw a cylinder (with main axis along the z-axis, i.e. More... | |
vtk.vtkFollower | text (self, str msg="Hello, world!", ArrayType position=[0.0, 0.0, 0.0], ArrayType scale=[1.0, 1.0, 1.0], Union[None, ArrayType] rgb=None, float alpha=1.0) |
Draw text. More... | |
List[vtk.vtkActor] | link (self, ArrayType T=None, float axis_scale=0.1, float axis_linewidth=1.0, float center_radius=0.01, Union[None, ArrayType] center_rgb=None, float center_alpha=1.0, int center_theta_resolution=20, int center_phi_resolution=20, float axis_alpha=1.0) |
Draw a link. More... | |
List[vtk.vtkActor] | grid_floor (self, int num_cells=10, Union[None, ArrayType] rgb=None, float alpha=1.0, float linewidth=3.0, Union[None, ArrayType] inner_rgb=None, Union[None, float] inner_alpha=None, float inner_linewidth=1.0, float stride=1.0, ArrayType euler=[0, 0, 0], str euler_seq="xyz", bool euler_degrees=True) |
Draw a grid floor. More... | |
def | obj (self, str obj_filename, str png_texture_filename=None, ArrayType position=[0.0, 0.0, 0.0], ArrayType orientation=[0.0, 0.0, 0.0], str euler_seq="xyz", bool euler_degrees=False) |
Load .obj file. More... | |
vtk.vtkActor | stl (self, filename, scale=None, rgb=None, alpha=1.0, position=[0.0, 0.0, 0.0], orientation=[0.0, 0.0, 0.0], euler_seq="xyz", euler_degrees=False) |
Load .stl file. More... | |
List[vtk.vtkActor] | robot (self, RobotModel robot_model, ArrayType q=None, float alpha=1.0, bool show_links=False, float link_axis_scale=0.2, float link_axis_linewidth=1.0, float link_center_radius=0.01, Union[None, ArrayType] link_center_rgb=None, Union[None, ArrayType] link_center_alpha=None, bool display_link_names=False, ArrayType link_names_scale=[0.005, 0.005, 0.005], ArrayType link_names_rgb=[1, 1, 1], float link_names_alpha=1.0) |
Draw a robot. More... | |
def | robot_traj (self, robot_model, Q, alpha_spec=None, show_links=False, link_axis_scale=0.2, link_axis_linewidth=1.0, link_center_rgb=1, link_center_alpha=None, link_center_radius=0.01, display_link_names=False, link_names_scale=[0.01, 0.01, 0.01], link_names_rgb=[1, 1, 1], link_names_alpha=1.0, animate=False, duration=5.0) |
Draw a robot through a trajectory. More... | |
def | save (self, file_name) |
Save the visualizer window as png image. More... | |
None | start (self) |
Start the visualizer. More... | |
None | close (self, obj, event) |
Close the visualizer. More... | |
Static Public Member Functions | |
DM | cvt_orientation_to_rotation_matrix (ArrayType orientation, str euler_seq, bool euler_degrees) |
Convert an orientation input to a rotation matrix. More... | |
None | set_tf (vtk.vtkActor actor, ArrayType position, ArrayType orientation, str euler_seq, bool euler_degrees) |
Sets a transform to a vtk Actor. More... | |
None | set_transformation (vtk.vtkActor actor, ArrayType tf) |
Sets a transformation to a vtk Actor. More... | |
None | set_rgba (vtk.vtkActor actor, ArrayType rgb, float alpha) |
Set the RGB and alpha channels for an actor. More... | |
None | set_translation (vtk.vtkActor actor, ArrayType translation) |
Set translation for an actor. More... | |
Public Attributes | |
ren | |
renWin | |
camera | |
iren | |
actors | |
animate_callbacks | |
This class defines the Visualizer for simple visualization.
def optas.visualize.Visualizer.__init__ | ( | self, | |
List[int] | window_size = [1440, 810] , |
||
ArrayType | background_color = [0.0, 0.0, 0.0] , |
||
ArrayType | camera_position = [2, 2, 2] , |
||
ArrayType | camera_focal_point = [0, 0, 0] , |
||
ArrayType | camera_view_up = [0, 0, 1] , |
||
Union[None, float] | quit_after_delay = None |
||
) |
Initializer for the Visualizer class.
@param window_size The window size [W, H] for the visualizer. @param background_color The color of the background (RGB), default is black. @param camera_position The position of the camera in the global frame. @param camera_focal_point The focus point of the camera. @param camera_view_up Direction of the up direction for the camera. @param quit_after_delay Number of seconds to keep visualizer running, if None then the visualizer is run indefinitely until the user quits the window. @return An instance of the Visualizer class.
vtk.vtkActor optas.visualize.Visualizer.box | ( | self, | |
ArrayType | scale = [1, 1, 1] , |
||
Union[None, ArrayType] | rgb = None , |
||
float | alpha = 1.0 , |
||
ArrayType | position = [0.0, 0.0, 0.0] , |
||
ArrayType | orientation = [0.0, 0.0, 0.0] , |
||
str | euler_seq = "xyz" , |
||
bool | euler_degrees = False |
||
) |
Draw a box.
@param scale The length, width, and height for the box [L, W, H]. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @param position The position of the transformation. @param orientation Orientation of the transformation, either a quaternion or Euler angles. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False. @return The box actor.
None optas.visualize.Visualizer.close | ( | self, | |
obj, | |||
event | |||
) |
Close the visualizer.
|
static |
Convert an orientation input to a rotation matrix.
@param orientation Either a quaternion or Euler angles. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False. @return Rotation matrix.
vtk.vtkActor optas.visualize.Visualizer.cylinder | ( | self, | |
float | radius = 1.0 , |
||
float | height = 1.0 , |
||
Union[None, ArrayType] | rgb = None , |
||
float | alpha = 1.0 , |
||
int | resolution = 20 , |
||
ArrayType | position = [0.0, 0.0, 0.0] , |
||
ArrayType | orientation = [0.0, 0.0, 0.0] , |
||
str | euler_seq = "xyz" , |
||
bool | euler_degrees = False |
||
) |
Draw a cylinder (with main axis along y-axis).
@param radius The cylinder radius. @param height The height of the cylinder. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @param resolution The number of facets used to define cylinder. @param position The position of the object. @param orientation Orientation of the object, either a quaternion or Euler angles. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False. @return The cylinder actor.
vtk.vtkActor optas.visualize.Visualizer.cylinder_urdf | ( | self, | |
radius = 1.0 , |
|||
height = 1.0 , |
|||
rgb = None , |
|||
alpha = 1.0 , |
|||
resolution = 20 , |
|||
position = [0.0, 0.0, 0.0] , |
|||
orientation = [0.0, 0.0, 0.0] , |
|||
euler_seq = "xyz" , |
|||
euler_degrees = False |
|||
) |
Draw a cylinder (with main axis along the z-axis, i.e.
similar to URDF).
@param radius The cylinder radius. @param height The height of the cylinder. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @param resolution The number of facets used to define cylinder. @param position The position of the object. @param orientation Orientation of the object, either a quaternion or Euler angles. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False. @return The cylinder actor.
List[vtk.vtkActor] optas.visualize.Visualizer.grid_floor | ( | self, | |
int | num_cells = 10 , |
||
Union[None, ArrayType] | rgb = None , |
||
float | alpha = 1.0 , |
||
float | linewidth = 3.0 , |
||
Union[None, ArrayType] | inner_rgb = None , |
||
Union[None, float] | inner_alpha = None , |
||
float | inner_linewidth = 1.0 , |
||
float | stride = 1.0 , |
||
ArrayType | euler = [0, 0, 0] , |
||
str | euler_seq = "xyz" , |
||
bool | euler_degrees = True |
||
) |
Draw a grid floor.
@param num_cells The number of cells for the grid floor. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @param linewidth The line width for the grid. @param inner_rgb The Red-Green-Blue values in range [0, 1] for the inner lines at half the stride length. @param inner_alpha Transparency of the actor in range [0, 1] for the inner lines at half the stride length. @param inner_linewidth The line width for the grid for the inner lines at half the stride length. @param stride The length of each main grid cell. @param euler The Euler angles that defines the orientation of the plane the grid is defined on. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False. @return The grid actors.
vtk.vtkActor optas.visualize.Visualizer.line | ( | self, | |
ArrayType | start = [0.0, 0.0, 0.0] , |
||
ArrayType | end = [1.0, 0.0, 0.0] , |
||
Union[None, ArrayType] | rgb = None , |
||
float | alpha = 1.0 , |
||
float | linewidth = 1.0 |
||
) |
Draw a line.
@param start The start of the line. @param end The end of the line. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @param linewidth The width of the line. @return The line actor.
List[vtk.vtkActor] optas.visualize.Visualizer.link | ( | self, | |
ArrayType | T = None , |
||
float | axis_scale = 0.1 , |
||
float | axis_linewidth = 1.0 , |
||
float | center_radius = 0.01 , |
||
Union[None, ArrayType] | center_rgb = None , |
||
float | center_alpha = 1.0 , |
||
int | center_theta_resolution = 20 , |
||
int | center_phi_resolution = 20 , |
||
float | axis_alpha = 1.0 |
||
) |
Draw a link.
@param T Homogeneous transformation matrix. @param axis_scale The axis length. @param axis_linewidth Width of the axis lines. @param center_radius The radius of the central sphere. @param center_rgb The Red-Green-Blue values in range [0, 1]. @param center_alpha Transparency of the centeral sphere in range [0, 1]. @param center_theta_resolution The number of points in the longitude direction. @param center_phi_resolution The number of points in the latitude direction. @param axis_alpha Transparency of the axes in range [0, 1]. @return The link actors.
def optas.visualize.Visualizer.obj | ( | self, | |
str | obj_filename, | ||
str | png_texture_filename = None , |
||
ArrayType | position = [0.0, 0.0, 0.0] , |
||
ArrayType | orientation = [0.0, 0.0, 0.0] , |
||
str | euler_seq = "xyz" , |
||
bool | euler_degrees = False |
||
) |
Load .obj file.
@param obj_filename The filename for the .obj file. @param png_texture_filename The texture filename. @param position The position of the object. @param orientation Orientation of the object, either a quaternion or Euler angles. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False. @return The actor representing the .obj file.
def optas.visualize.Visualizer.reset_camera | ( | self, | |
position, | |||
view_dir, | |||
view_up | |||
) |
Reset the camera pose.
@param position The position of the camera. @param view_dir The direction that the camera should view. @param view_up The up direction for the image.
List[vtk.vtkActor] optas.visualize.Visualizer.robot | ( | self, | |
RobotModel | robot_model, | ||
ArrayType | q = None , |
||
float | alpha = 1.0 , |
||
bool | show_links = False , |
||
float | link_axis_scale = 0.2 , |
||
float | link_axis_linewidth = 1.0 , |
||
float | link_center_radius = 0.01 , |
||
Union[None, ArrayType] | link_center_rgb = None , |
||
Union[None, ArrayType] | link_center_alpha = None , |
||
bool | display_link_names = False , |
||
ArrayType | link_names_scale = [0.005, 0.005, 0.005] , |
||
ArrayType | link_names_rgb = [1, 1, 1] , |
||
float | link_names_alpha = 1.0 |
||
) |
Draw a robot.
@param robot_model The robot model defining the robot kinematics and visuals. @param q Joint configuration to draw robot. @param alpha Transparency of the actor in range [0, 1]. @param show_links When true, the robot links are shown. @param link_axis_scale The scale for the link axes when shown. @param link_axis_linewidth The linewidth for the axes of the robot links when shown. @param link_center_radius The radius of the axis central sphere when shown. @param link_center_rgb The RGB values for the central sphere in range [0, 1] when shown. @param link_center_alpha The transparency for the central sphere in the range [0, 1] when shown. @param display_link_names When true, the names of the robot link are shown. @param link_names_scale The size of the link names text when shown. @param link_names_rgb The RGB values in range [0, 1] for the robot link names text when shown. @param link_names_alpha The transparency in range [0, 1] for the robot link names when shown. @return The actors representing the robot.
def optas.visualize.Visualizer.robot_traj | ( | self, | |
robot_model, | |||
Q, | |||
alpha_spec = None , |
|||
show_links = False , |
|||
link_axis_scale = 0.2 , |
|||
link_axis_linewidth = 1.0 , |
|||
link_center_rgb = 1 , |
|||
link_center_alpha = None , |
|||
link_center_radius = 0.01 , |
|||
display_link_names = False , |
|||
link_names_scale = [0.01, 0.01, 0.01] , |
|||
link_names_rgb = [1, 1, 1] , |
|||
link_names_alpha = 1.0 , |
|||
animate = False , |
|||
duration = 5.0 |
|||
) |
Draw a robot through a trajectory.
@param robot_model The robot model defining the robot kinematics and visuals. @param Q Joint configuration trajectory to draw robot. @param alpha_spec Transparency specification of the robots in motion. @param show_links When true, the robot links are shown. @param link_axis_scale The scale for the link axes when shown. @param link_axis_linewidth The linewidth for the axes of the robot links when shown. @param link_center_radius The radius of the axis central sphere when shown. @param link_center_rgb The RGB values for the central sphere in range [0, 1] when shown. @param link_center_alpha The transparency for the central sphere in the range [0, 1] when shown. @param display_link_names When true, the names of the robot link are shown. @param link_names_scale The size of the link names text when shown. @param link_names_rgb The RGB values in range [0, 1] for the robot link names text when shown. @param link_names_alpha The transparency in range [0, 1] for the robot link names when shown. @return The actors representing the robot.
def optas.visualize.Visualizer.save | ( | self, | |
file_name | |||
) |
Save the visualizer window as png image.
Note, saving animations is currently not supported.
|
static |
Set the RGB and alpha channels for an actor.
@param actor A vtk actor object. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1].
|
static |
Sets a transform to a vtk Actor.
@param actor A vtk actor object. @param position The position of the transformation. @param orientation Orientation of the transformation, either a quaternion or Euler angles. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False.
|
static |
Sets a transformation to a vtk Actor.
@param actor A vtk actor object. @param tf A homogenous transformation matrix.
|
static |
Set translation for an actor.
@param actor A vtk actor object. @param translation The translation in the global frame.
vtk.vtkActor optas.visualize.Visualizer.sphere | ( | self, | |
float | radius = 1.0 , |
||
ArrayType | position = [0.0, 0.0, 0.0] , |
||
Union[None, ArrayType] | rgb = None , |
||
float | alpha = 1.0 , |
||
int | theta_resolution = 20 , |
||
int | phi_resolution = 20 |
||
) |
Draw a sphere.
@param radius The radius of the sphere. @param position The position of the sphere. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @param theta_resolution The number of points in the longitude direction. @param phi_resolution The number of points in the latitude direction. @return The sphere actor.
List[vtk.vtkActor] optas.visualize.Visualizer.sphere_traj | ( | self, | |
ArrayType | position_traj, | ||
float | radius = 1.0 , |
||
Union[None, ArrayType] | rgb = None , |
||
int | theta_resolution = 20 , |
||
int | phi_resolution = 20 , |
||
Union[None, Dict] | alpha_spec = None , |
||
animate = False , |
|||
duration = 5.0 |
|||
) |
Draw a sphere trajectory.
@param position_traj The position trajectory for the spheres. @param radius The radius of the spheres. @param rgb The Red-Green-Blue values in range [0, 1]. @param theta_resolution The number of points in the longitude direction. @param phi_resolution The number of points in the latitude direction. @param The alpha specification. @return The sphere actors.
None optas.visualize.Visualizer.start | ( | self | ) |
Start the visualizer.
vtk.vtkActor optas.visualize.Visualizer.stl | ( | self, | |
filename, | |||
scale = None , |
|||
rgb = None , |
|||
alpha = 1.0 , |
|||
position = [0.0, 0.0, 0.0] , |
|||
orientation = [0.0, 0.0, 0.0] , |
|||
euler_seq = "xyz" , |
|||
euler_degrees = False |
|||
) |
Load .stl file.
@param filename The filename for the .stl file. @param scale Scale applied to the mesh file in the xyz directions. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @param position The position of the object. @param orientation Orientation of the object, either a quaternion or Euler angles. @param euler_seq When orientation are Euler angles, specifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. When orientation are Euler angles, extrinsic and intrinsic rotations cannot be mixed in one function call. @param euler_degrees If True, then the given angles are assumed to be in degrees. Default is False. @return The actor representing the .stl file.
vtk.vtkFollower optas.visualize.Visualizer.text | ( | self, | |
str | msg = "Hello, world!" , |
||
ArrayType | position = [0.0, 0.0, 0.0] , |
||
ArrayType | scale = [1.0, 1.0, 1.0] , |
||
Union[None, ArrayType] | rgb = None , |
||
float | alpha = 1.0 |
||
) |
Draw text.
@param msg The text to draw. @param position The position to draw the text in the global frame. @param scale The size of the text. @param rgb The Red-Green-Blue values in range [0, 1]. @param alpha Transparency of the actor in range [0, 1]. @return The text actor.
optas.visualize.Visualizer.actors |
optas.visualize.Visualizer.animate_callbacks |
optas.visualize.Visualizer.camera |
optas.visualize.Visualizer.iren |
optas.visualize.Visualizer.ren |
optas.visualize.Visualizer.renWin |