Skip to content

Commit 11bf6c4

Browse files
committed
make gym-copter optional as used only for rendering
1 parent d6129b5 commit 11bf6c4

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

gym_ccc/envs/multirotor.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
"""Continuous Multirotor Environment."""
2+
import sys
3+
24
import gym
35
from gym import spaces
46

5-
import gym_copter.rendering.twod as twod
7+
try:
8+
import gym_copter.rendering.twod
9+
except ImportError:
10+
pass
611

712
import numpy as np
813

@@ -341,7 +346,10 @@ def __init__(self, gravity=9.8, mass=1.0, dt=0.02, custom_reset=None):
341346
obs_high, dtype=np.float32)
342347

343348
# Support for rendering
344-
self.renderer = None
349+
if 'gym_copter.rendering.twod' in sys.modules:
350+
self.renderer = None
351+
else:
352+
self.renderer = False
345353
self.pose = None
346354

347355
def step(self, action):
@@ -389,9 +397,14 @@ def reset(self):
389397

390398
def render(self, mode='human'):
391399
"""Show the current state."""
400+
# Print out state instead of cool gui if renderer not available
401+
if self.renderer is False:
402+
print(self.state)
403+
return self.state
404+
392405
# Creater renderer
393406
if self.renderer is None:
394-
self.renderer = twod.TwoDRenderer()
407+
self.renderer = gym_copter.rendering.twod.TwoDRenderer()
395408

396409
# Just a flag to show the props spinning
397410
flight_status = True

setup.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
"""Setup file."""
22

3-
from setuptools import setup
3+
import setuptools
44

5-
setup(
5+
with open('README.md', 'r') as fh:
6+
long_description = fh.read()
7+
8+
setuptools.setup(
69
name='gym-ccc',
710
version='0.0.1',
811
author='acxz',
9-
long_description='',
12+
long_description=long_description,
1013
description='Environments for continuous classical control problems with' +
1114
'dynamical state information',
12-
packages=['gym_ccc'],
15+
packages=setuptools.find_packages(),
1316
install_requires=[
1417
'gym',
15-
'gym-copter',
1618
'numpy',
19+
'pyquaternion',
1720
],
21+
extra_requires={
22+
'copter-render': ['gym-copter'],
23+
}
1824
)

0 commit comments

Comments
 (0)