Changelog¶
Holodeck 0.3.2¶
03/25/2021
More bug fixes, improvements, and even a few new features.
Highlights¶
New Features¶
Added a ‘max tick’ functionality that will exit out of the environment after a designated number of ticks has occurred. (#325)
Changes¶
Holodeck 0.3.1¶
04/02/2020
More bug fixes, improvements, and even a few new features.
Highlights¶
Holodeck now requires Python 3.5 or greater
Added
AbuseSensor
andRangeFinderSensor
Added programmatic spawning of props, see
spawn_prop()
Weather can be specified in scenarios, see Configuring Weather and Time.
New Features¶
Added optional start location and rotation randomization on
reset()
. See Location Randomization. (#295)spawn_prop()
now allows basic objects (spheres, cubes, cylinders) to be spawned at arbitrary locations in the environment. (#397)Distance Task by default now calculates the distance to the objective along the XY plane, to discourage flying straight up. (#360)
If the full 3D distance is desired, set the
3dDistance
flag in the configuration block of the Distance Task. (#360)Added
AbuseSensor
, which senses if an agent has been abused. Agents experience abuse when they fall from a high distance or other agent-specific situations. (#262)Environment weather/time can be optionally configured with Scenarios (#263). See Configuring Weather and Time.
set_weather()
now has sunny weather available, which allows you to revert back to the default weather. (#376)Added
RangeFinderSensor
which calculates the distance from the sensor to the first collision in the environment. The sensor can send out multiple rays in a circle if desired.Added a ‘max tick’ function that will exit out of the environment after a designated number of ticks has occurred. (#325)
Changes¶
Holodeck now requires Python >= 3.5 (#389)
Moved weather/time methods from
HolodeckEnvironment
to newWeatherController
(#196, #263)Calling
send_world_command()
for an environment without the given command will now cause the environment to exit rather than fail silently. This includes all relevant methods in theWeatherController
.Removed the ability to toggle sensors during runtime with the removal of
SetSensorEnabledCommand
,set_sensor_enabled()
, andset_sensor_enable()
. To specify which sensors to include, use Custom Scenario Configurations. (#268)Improved Docker images. See Docker Installation. (#347)
Tests can now be run inside of Docker containers
All images are based on Ubuntu 18.04 now
Added image for Dexterity package, and an image with every package
Every control scheme now has limits on inputs (ie maximum or minimum thrust) (#369)
See
get_high()
andget_low()
to read them.Scenario Changes:
EuropeanForest-MaxDistance, RedwoodForest-MaxDistance, UrbanCity-MaxDistance: Added
AbuseSensor
InfiniteForest-MaxDistance: Added
AbuseSensor
andRangeFinderSensor
.MazeWorld-FinishMazeSphere: Added
RangeFinderSensor
Bug Fixes¶
Fixed UAV blades rotating incorrectly (thanks @sethmnielsen!) (#331)
Fixed some
posix_ipc.BusyError: Semaphore is busy
errors on Linux systems when creating a scenario (#285)Fixed a bug where the UE4 editor crashes when an agent is manually added to a level (#361)
Fixed crash when manually disabling viewport when it would’ve been disabled anyway. (#378)
Fixed SphereAgent having the incorrect default control scheme (#350)
Holodeck 0.3.0¶
11/02/2019
This is a content release focused on improving the AndroidAgent and adding more scenarios and tasks for it. We also added a new floating hand agent to provide a simpler agent that can do many of the dexterity tasks.
Highlights¶
Added dexterity-package with new worlds and scenarios (see below for comprehensive listing)
Added Clean Up Task and Cup Game Task tasks
Added HandAgent
New Features¶
Added the dexterity-package with new worlds and scenarios:
Added the HandAgent - a simplified Android hand that can float around (#287)
HandAgent can be used with the same Android-specific sensors (
JointRotationSensor
,PressureSensor
,RelativeSkeletalPositionSensor
)
Added new tasks sensors for specific worlds
Packages can be installed directly from a URL (see
install
) (#129)Agent sensors can now be rotated at run time with
rotate()
. (#305)The config files can now specify whether an agent should be spawned (#303)
Pressing
h
now shows the coordinates of the agent the viewport is following or the coordinates of the camera if it is detached (see Hotkeys). (#253)The viewport now follows the main agent as specified in the config file by default. (#238)
You can now specify the number of ticks you want to occur in the
tick()
and thestep()
methods, (#313)
Changes¶
Increased the AndroidAgent’s strength in the
ANDROID_MAX_SCALED_TORQUES
control scheme.Previously the AndroidAgent didn’t have enough strength to even move its legs.
Strength was approximately doubled (See JointMaxTorqueControlScheme.h )
Location sensor now returns the location of the sensor, not just the agent (#306)
Updated to Unreal Engine 4.22 (#241)
TurtleAgent is now subject to gravity, has increased power, is black, and slightly smaller. (#217)
Removed the
set_state()
andteleport()
methods from theHolodeckEnvironment
class.These methods were duplicates of the corresponding methods on the
HolodeckAgent
class. See the linked issue for migration suggestions 👉 (#311)Removed the
get/set_ticks_per_capture
methods from theHolodeckAgent
andHolodeckEnvironment
classes, movedset_ticks_per_capture()
method to theRGBCamera
class. (#197)Viewport will now follow the main agent by default. (#238)
Viewport will not be rendered when it is hidden (
show_viewport
param inHolodeckEnvironment
, Linux only) (#283)
Bug Fixes¶
Fixed the
RelativeSkeletalPositionSensor
.This sensor returns the location of bones, not sensors. Since there are more bones than joints, previously it returned them in a completely different order than expected.
Now the order for this sensor is explicitly specified in AndroidAgent Bones and HandAgent Bones.
Previously on the first tick it would return uninitialized garbage on the first tick
Fixed being unable to spawn the TurtleAgent. (#308)
Fixed the
set_physics_state()
method. (#311)Fixed agent spawn rotations being in the incorrect order. Fixed the documentation that specified the incorrect order as well (Rotations) (#309)
Fixed being unable to set the ticks per capture of a camera if it was not named
RGBCamera
. (#197)Fixed being unable to make a Holodeck window larger than the current screen resolution (#301)
Fixed being unable to configure
ViewportCapture
sensor. (#301)
Holodeck 0.2.2¶
06/20/2019
This is mostly a maintenance release focused on cleaning up bugs that were
unresolved in 0.2.1
New Features¶
When freecamming around, pressing shift moves the camera faster. (#99)
Agents can have a rotation specified in the scenario config files (#209)
Custom scenarios can be made with dictionaries as well as
json
files. See Custom Scenario Configurations (#275)Documented how to improve Holodeck performance. See Improving Holodeck Performance (#109)
Bug Fixes¶
Fixed command buffer not being reset after calling
reset()
. (#254)Fixed rain not being very visible on Linux (#235)
Fixed teleport command not working on the Android (#209)
Fixed RGBCamera intermittently returning a matrix of zeros after resetting (#271)
Fixed
EXCEPTION_ACCESS_VIOLATION
on Windows after creating an environment (#270)Fixed MazeWorld-FinishMazeSphere task not going terminal when task was finished.
Added a post with a golden ball on top to the end of the maze, this is now the tasks’s target
Holodeck 0.2.1¶
05/20/2019
This release of Holodeck is focused on polishing existing features and allowing worlds to be customized more.
This summer we are planning on adding much more content (worlds, agents, etc).
Highlights¶
Added Scenarios to allow worlds to be more flexible and customizable
Documentation has been greatly expanded
New Features¶
Added expanded teleport functionality (#128)
Add ticks per capture command for RGB Camera (#127)
Add
__enter__
and__exit__
methods toHolodeckEnvironment
(#125)Add option to run headless on Linux (
set_render_quality()
onHolodeckEnvironment
) (#135)Add ability to adjust rendering options (
set_render_quality()
) (#136)Add environment flag that allows state to be returned as copied object instead of reference (#151)
Packages are not hard-coded on server, binaries are saved in version-specific folder to prevent crosstalk (#188)
Sensors can be disabled to improve performance (#152)
Add the ability to draw points, lines, arrows and boxes in the worlds (#144)
Added new tasks for use with scenarios
Added new scaled torque control scheme to the Android (#150)
Holodeck 0.1.0¶
Initial public release.