JOAN issueshttps://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues2020-12-15T11:25:32+01:00https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/184Python Unreal connection via new C++ sensorclasses2020-12-15T11:25:32+01:00Joris GiltayPython Unreal connection via new C++ sensorclassesInstead of using a 'non important' variable from the standard carla python API, (such as the weather)
A new pipeline between unreal and python would be ideal. However this would mean rebuilding the whole carla project.
For reference:
...Instead of using a 'non important' variable from the standard carla python API, (such as the weather)
A new pipeline between unreal and python would be ideal. However this would mean rebuilding the whole carla project.
For reference:
https://carla.readthedocs.io/en/latest/tuto_D_create_sensor/Olger SiebingaOlger Siebingahttps://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/183Trajectory Check2020-12-15T10:38:44+01:00Joris GiltayTrajectory CheckDue to a 'try except' over the whole Error calculation in FDCA controller, it used to calculate the errors correctly.
However cleaning up code resulted in the error that when we have double points in the trajectory it crashes. We should...Due to a 'try except' over the whole Error calculation in FDCA controller, it used to calculate the errors correctly.
However cleaning up code resulted in the error that when we have double points in the trajectory it crashes. We should fix this by either changing our CSV files, or with a temporary fix that breaks out or loops throug the double points.https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/182automatically add condition name to datarecorder file2020-12-15T09:54:01+01:00Olger Siebingaautomatically add condition name to datarecorder fileThe data recorder supports automatically appending a timestamp to the file name. This prevents overwriting of files, but recognizing files from different conditions is hard if the time stamp is the only difference. It would be nice to al...The data recorder supports automatically appending a timestamp to the file name. This prevents overwriting of files, but recognizing files from different conditions is hard if the time stamp is the only difference. It would be nice to also automatically append the current condition name. This would require adding the current condition name to shared variables.https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/180Vibrating Vehicle EpicAudi2020-12-10T12:59:19+01:00Sam StapsVibrating Vehicle EpicAudi### Summary
Driving in the EpicAudi, after a while, the vehicle starts to vibrate (or seems to). The vibrations become worse over time.
Multiple users have seen this problem, all using the EpicAudi.
This can be most clearly seen at the l...### Summary
Driving in the EpicAudi, after a while, the vehicle starts to vibrate (or seems to). The vibrations become worse over time.
Multiple users have seen this problem, all using the EpicAudi.
This can be most clearly seen at the left side (frame of the car) and the roof of the car.
The horizon and the world do not vibrate.
It might be the camera viewer vibrating, resulting in the car seemingly vibrating.
### Steps to reproduce
Manually drive in the EpicAudi for longer than 5 minutes.
### What is the current *bug* behavior?
EpicAudi/Camera vibrations cause a distraction for participants in the experiment.
### What is the expected *correct* behavior?
No vibrations, smooth camera view or smooth vehicle motion.
### Relevant logs and/or screenshots
![Screenshot__1__LI](/uploads/b668d4474b5284c3a0f3d013cb6373ae/Screenshot__1__LI.jpg)
The vibrations are most clearly seen in de marked area's (red).
### Possible fixes
Camera viewer?https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/179Scenario Manager JOAN 2.02020-12-09T12:04:27+01:00Joris GiltayScenario Manager JOAN 2.0I think the only significant thing we are still missing in JOAN 2.0, is a Scenario Manager as we have thought of before.
Now this will not be finished before 15 December so I'll make a feature request out of it. Just so we dont forget t...I think the only significant thing we are still missing in JOAN 2.0, is a Scenario Manager as we have thought of before.
Now this will not be finished before 15 December so I'll make a feature request out of it. Just so we dont forget that this will probably need to be implemented at some point (for example if you want to build traffic scenarios etc)https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/177Joystick preview values bug2020-12-08T10:19:57+01:00Joris GiltayJoystick preview values bugIf you try to preview any values of a joystick entry which JOAN is not able to open. For example a mouse, or a laptop keyboard (windows will always deny access to these HIDs) the whole of JOAN crashes.
Possible fix might be to add an ex...If you try to preview any values of a joystick entry which JOAN is not able to open. For example a mouse, or a laptop keyboard (windows will always deny access to these HIDs) the whole of JOAN crashes.
Possible fix might be to add an exception hook when it cant open the device as we have later on. (I dont think this is implemented ni the preview checkbox)
**UPDATE**
The above is not evident for every input I select. If I select my mouse I just get a load of read error faults but joan keeps running. If I however select 'SteelSeries ALC' (whatever that may be) it crashes hard.https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/174FDCA not sensodrive specific2020-12-04T16:00:40+01:00Joris GiltayFDCA not sensodrive specificMight be nice to make the FDCA Controller not specific to a sensodrive. This means we have to delete the
if 'SensoDrive' in agent_settings.selected_input:
on line 264.
Has to be only for specific lines where we use the sensodrive ...Might be nice to make the FDCA Controller not specific to a sensodrive. This means we have to delete the
if 'SensoDrive' in agent_settings.selected_input:
on line 264.
Has to be only for specific lines where we use the sensodrive input shared variables.
So we have to implement an if statement around lines 265, 271 and 338https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/173Signals() Singleton has a weird syntax2020-12-04T15:43:48+01:00Joris GiltaySignals() Singleton has a weird syntaxThis issue is evident in the experimentmanager_manager.py in the activate conditions function:
for signal in self.signals.all_signals:
self.signals._signals[signal].emit()
What this does is that it emits signals for...This issue is evident in the experimentmanager_manager.py in the activate conditions function:
for signal in self.signals.all_signals:
self.signals._signals[signal].emit()
What this does is that it emits signals for all of these so that the dialog can be updated if a different amount of objects is present in the particular module. So for example 2 cars is 1 condition. The other condition is 3 cars, it'll update it to 3.
But the name self.signals._signals[signal].emit() makes it very hard to understand that htat is whats going on.
We should maybe have something in the settings() singleton which is
_signals = {}
and then a nested
_signals['activate_condition_signals'] = {}
So we know whats going on.https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/172Check out synchronous mode2020-12-04T15:18:04+01:00Joris GiltayCheck out synchronous modeCarla can simulate in different modes, see link here:
https://carla.readthedocs.io/en/latest/adv_synchrony_timestep/
If I understand correctly its best if we use synchronous mode with a fixed timestep which is 1/unreal_framerate
This en...Carla can simulate in different modes, see link here:
https://carla.readthedocs.io/en/latest/adv_synchrony_timestep/
If I understand correctly its best if we use synchronous mode with a fixed timestep which is 1/unreal_framerate
This ensures repeatibility and the simulation will be 'real time'.
There are 2 challenges in this method:
- [ ] One is that we have to ENSURE that unreal will always maintain this framerate. This can be done by introducing a framerate limitation in unreal project settings. However this also means you have to make sure you dont drop the framerate (for example if you add a ton of big complicated meshes with transparent materials, flats and such)
- [ ] Two is that we have to call world.tick() inside python. But this needs to be done quickly and looped. The annoying thing is with our current structure is that this world.tick() function can only be called after get_ready (in the loop) which means you cannot spawn anything out of running. This needs to be fixed.https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/168Code quality needs improvement2020-12-02T09:29:14+01:00Niek BeckersCode quality needs improvement- [x] Refactoring: sharedvalues renamed to sharedvariables (needs to be checked everywhere)
- [x] Refactoring: remove MP in class, function names (so DatarecorderMP should just be DataRecorder)
- [ ] Docstrings needs to be added in all i...- [x] Refactoring: sharedvalues renamed to sharedvariables (needs to be checked everywhere)
- [x] Refactoring: remove MP in class, function names (so DatarecorderMP should just be DataRecorder)
- [ ] Docstrings needs to be added in all important functions, and per class (perhaps best done in pairs)
- [ ] #TODO in the code need to be checked, removed if not important, or fixed, or added as issue if need changes you are not sure of (Pycharm gives an overview of all TODO's in a project)
- [x] all random debug print statements need to go
- [x] commented unused code needs to be removed
- [x] all files need to adhere to PEP8 (`Ctrl+Alt+L` in Pycharm).
- [ ] Check all 'yellow' underlining in Pycharm (these often point to problems or spelling errors, etc).
- [x] Pycharm sometimes thinks that there are spelling mistakes in class names (e.g Datarecorder -> Recorder is it's own word, shoyld be DataRecorder).
**List of modules/maps to do:**
- [x] Core (most baseclasses such as ModuleManager etc)
- [x] Template
- [x] HardwareManager
- [x] CarlaInterface
- [x] DataRecorder
- [x] HapticControllerManager
- [x] ControllerPlotter
- [ ] Experiment manager
**UPDATE**
We will have a joined look at this with all developers on the 4th of December 15:00 - 17:00https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/158Xinput option for Xbox one Controllers2020-11-23T09:25:09+01:00Joris GiltayXinput option for Xbox one ControllersFound a Xinput library for python, might want to check this out for windows xbox one controllers.
(only old xbox controllers will work with joan now)Found a Xinput library for python, might want to check this out for windows xbox one controllers.
(only old xbox controllers will work with joan now)https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/154Implement correct Steering Wheel Dynamics2020-11-25T09:08:29+01:00Joris GiltayImplement correct Steering Wheel DynamicsInstead of the 'back of the envelope' inverse dynamics (meaning just using the set autocenter) we should really implement the whole dynamics including the inertia of the wheel and damping terms.
For now this will do but definitely needs...Instead of the 'back of the envelope' inverse dynamics (meaning just using the set autocenter) we should really implement the whole dynamics including the inertia of the wheel and damping terms.
For now this will do but definitely needs to be updated!
- [ ] Wouter (Arink) will provide us with a report of his steering wheel identification. We might be able to copy these parameters for our implementation
I have attached his report in this issue, however I think something might be wrong with his calculations. At least the Inertia seems sensible, not sure about the other parameters
[test_report_research_assignment_Final__1_.pdf](/uploads/f05d2f70aae219f0480e43ab92211add/test_report_research_assignment_Final__1_.pdf)https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/150Script to create new modules2020-11-09T16:15:42+01:00Niek BeckersScript to create new modulesA script that creates a new empty module, in the correct folder, and is perhaps even added to JOANModules.A script that creates a new empty module, in the correct folder, and is perhaps even added to JOANModules.https://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/132Plan and implement adjustable settings during RUNNING2020-10-22T11:16:30+02:00Niek BeckersPlan and implement adjustable settings during RUNNINGRelated to issue #131Related to issue #131Niek BeckersNiek Beckershttps://gitlab.tudelft.nl/tud-cor-hri/joan-framework/joan/-/issues/81Docs Update2020-12-18T16:55:29+01:00Joris GiltayDocs UpdateNiek asked me to write a consistent list of what has to be done for the documentation. Also keeping the structure concise and to the point. Since our old read the docs has been somewhat randomly been made its a good idea to restructure ...Niek asked me to write a consistent list of what has to be done for the documentation. Also keeping the structure concise and to the point. Since our old read the docs has been somewhat randomly been made its a good idea to restructure the whole thing. Therefore I (Joris) propose we do the following things on our Documentation D-Day (thursday 10-12-2020):
# We have to (as a group) decide on the structure of the documentation, I (Joris) think the current structure is sufficiently easy to navigate
# Assuming we want to keep the current structure we have to do the following things:
**Setup JOAN Section**
- [x] This section is still totally relevant and good enough (I used it on new laptop) maybe only a spellcheck. **Andreeee**
- [x] One thing we might have to add, is that if you have 2 versions of unreal installed (4.26 and 4.24) you should launch
unreal 4.24 from the epic games launcher. DO NOT create a copy of your project as it suggests fi you open it with another version. **joris**
**Home Section**
- [x] Update the youtube Video to something more current (maybe the VIDI video)
- [x] Home should include the different sections as it is on the carla read the docs. This will bring more structure
- [x] The links in Home have to be checked. (do they work and link correctly)
**First Steps Section**
- [x] The Overview should be elaborated upon more, maybe with more clear graphics I (Joris) tried, however it is difficult to do so. We still miss explanations on News, Settings Shared Variables and Signals. **joris**
- [x] Running Joan and Carla, the GIFs should be compressed. (did this, couldnt get the biggest gif below 26mb hope thats good enough else, good luck :))
- [x] Running JOAN and CARLA, maybe a bit more text.
- [x] Quick Start CARLA, check if this is still needed, and what should it contain
**Using the JOAN CORE Modules section**
- [x] An overall introductoin here would be nice
- [x] Hardwaremanager needs to be done
- [x] Carla Interface needs to be done
- [x] Data Plotter needs to be done
- [x] Data Recorder needs to be done **olger**
- [x] Experiment manager needs to be redone (needs an extensive guide on how to set things up and use properly!!) **olger**
- [x] Haptic Controller Manager needs to be done
- [x] Pictures/videos of actual SensoDrive working should be updated. **joris**
**Advanced Steps Section**
- [x] **Creating your own custom JOAN Module (needs heavy changes)**
**Optional advanced steps**
- [x] State Machine usage (maybe still relevant but needs to be updated, also differentiate between central state machine and module state machine)
- [x] Settings (saving jsons etc maybe still relevant but needs to be updated)
- [x] Maybe nice to add a piece on MultiProcessing and serializability
<!---
- [ ] Also a piece on the Exception logger
- [ ] Maybe also a piece on the Frequency and Settings Monitor (we dont have this anywhere else)
--!>
**Other Stuff**
- [x] Delete the code example of SensoDrive I think this is no longer neededOlger SiebingaOlger Siebinga2020-12-15