lupoglaz / godotaigym Goto Github PK
View Code? Open in Web Editor NEWCommunicating with godot engine through shared memory
Home Page: https://lupoglaz.github.io/GodotAIGym/
License: MIT License
Communicating with godot engine through shared memory
Home Page: https://lupoglaz.github.io/GodotAIGym/
License: MIT License
Awesome project! I believe there is a small typo with "shows" here: https://github.com/lupoglaz/GodotGymAI/blob/f55e245dbb344c2febefc7a9787b8bedc11e4c36/docs/tutorial.html#L132
Cheers!
Hello,
I am getting a lot of boost::interprocess_exception::library_error errors with my custom environment. I've read a little bit about the boost managed_shared_memory class, but I don't quite see how to determine exactly what the problem is or how to work around it.
The error seems to get thrown at random. Sometimes I can go 100 iterations without issue, sometimes it comes up right away. I am writing a whole image to the semaphore using a 4096 int array. That does work, except sending a large array seems to make the problem more likely to occur. If instead of sending a 4096 byte array I send one byte, the problem doesn't usually come up.
I added a bit more print statements and found that the error happens either when sending the action data or reading the observation data. The program will print these exception messages and then either segfault or hang.
I wonder if there is some issue where both processes try to access the object in memory at the same time? Might be less likely with the examples which all send state as a few bytes.
I will share my code for training a 3D vehicle using Google Dreamer V2 once I get it working. If anyone has any insight it would be appreciated. Thank you!
I was able to compile and run GodotGymAI successfully on my system (Ubuntu 18.0, Python 3.8) using Godot 3.1, but it crashes for Godot 3.2. Specifically, in Godot 3.2 the shared memory module throws the following exception when I call the getFloatArray() function:
"Dynamic exception type: boost::interprocess::interprocess_exception std::exception::what: No such file or directory"
I am just curious about your work. Is it possible to use the physics parameters of bullet engine to train the rl-model?
I understand this is part of To Do
Raising issue here to express interest for Windows compatibility
Hi
I see this error quite often: (every minute or two)
handle_crash: Program crashed with signal 11
do you know what is causing this? and how to avoid\solve it?
Hi
I download godot version 3.2
from https://github.com/godotengine/godot/archive/3.2-stable.tar.gz
and I'm trying to compile
I get this error
In file included from modules/GodotSharedMemory/cSharedMemory.cpp:3:0:
modules/GodotSharedMemory/cSharedMemory.h:5:10: fatal error: core/object/reference.h: No such file or directory
#include "core/object/reference.h"
any idea how to solve it?
Hello!
Very happy to see an OpenAI gym connector! I discovered that this does not compile with the latest Godot, so I have been working on the necessary changes. I've got a commit here with some of the changes necessary, and I wanted to share it.
My remaining issues as far as I'm able to see right now seem to be related to changes in the Godot String class.
modules/GodotSharedMemory/cSharedMemory.cpp: In member function 'void cSharedMemory::sendIntArray(const String&, const Vector<int>&)':
modules/GodotSharedMemory/cSharedMemory.cpp:100:25: error: 'const class String' has no member named 'c_str'
100 | std::wstring ws = name.c_str();
| ^~~~~
modules/GodotSharedMemory/cSharedMemory.cpp: In member function 'void cSharedMemory::sendFloatArray(const String&, const Vector<float>&)':
modules/GodotSharedMemory/cSharedMemory.cpp:116:25: error: 'const class String' has no member named 'c_str'
116 | std::wstring ws = name.c_str();
The method c_str has changed to get_data but also returns a different type. So if you just change the affected c_str calls (only those attached to the Godot String class) to get_data, you get a new error:
odules/GodotSharedMemory/cSharedMemory.h:80:46: error: conversion from 'const char32_t*' to non-scalar type 'std::wstring' {aka 'std::__cxx11::basic_string<wchar_t>'} requested
80 | std::wstring ws = sem_name.get_data();
Seems pretty solvable but I've got to head to work and take a break on this so I thought I would share my progress! I'm not sure if some of my other changes were appropriate, but I'll keep testing! I know I can run an old version of Godot if I get stuck but I thought it would be nice to contribute. If anyone sees this and has some ideas please let me know. Thanks!
Hello,
Is it possible to create a 2 player example? It will be super helpful and cool.
Thank you very much
I see this project uses CUDA. Is there any way to disable CUDA and use this on an AMD machine?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.