Skip to content

LemonPi/view_animator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

View Animator

This package allows you to programmatically change the camera view for a variety of environments (for example pybullet simulation, and RViz visualization).

Installation

pip install view-animator

Each animator may have specific environment installation pre-requisites, listed below.

Usage

The core of it is an animator object and its update() method. You can either update() the animator manually, or automatically in a separate daemon thread.

Example automatic orbiting animation

from view_animator import animate_view_in_background
from view_animator.pybullet_animator import PybulletOrbitter
import pybullet as p

p.connect(p.GUI)
# other simulator configurations

# animate an orbit in the background at a distance of 0.5 away from the origin
# one orbit will be completed in 10 seconds and by default will loop forever
orbiter = PybulletOrbitter(update_period=0.01, dist=0.5, target=(0, 0, 0), period=10)
animate_view_in_background(orbiter)
# set up objects

p.setRealTimeSimulation(1)
while True:
    # do sim computations
    time.sleep(0.001)

dO08ur.gif

Manual updating of an RViz orbiter

from view_animator.rviz_animator import RVizOrbiter
import rospy

# the target specified will be relative to the world_frame
orbiter = RVizOrbiter(period=5, world_frame="world")
rate = rospy.Rate(1 / orbiter.update_period)
while not rospy.is_shutdown():
    # visualization and other processing
    orbiter.update()
    rate.sleep()

Animators

While you can subclass view_animator.base_animator.ViewAnimator directly to suit your specific environment and desired animation, there are a few predefined animators listed below. Note that you do not have to have the environment installed to install this package.

Pybullet

Install pybullet with pip install pybullet

  • view_animator.pybullet_animator.PybulletOrbitter for orbitting around a position with fixed pitch at a constant rate

RViz

Requires the rviz_animated_view_controller plugin that can be installed with

sudo apt install ros-<ros-distro>-rviz-animated-view-controller

e.g.

sudo apt install ros-noetic-rviz-animated-view-controller
  • view_animator.rviz_animator.RVizOrbitter for orbitting around a position with fixed pitch at a constant rate

About

Programmatically change the camera view for a variety of environments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages