forked from morse-simulator/morse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
132 lines (97 loc) · 4.15 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
General TODO list for MORSE
---------------------------
=================
TARGET 0.5
==================
General
-------
- Introduce a mean to externally control time, by pacing the game engine time
(e.g. through a socket, cf mail from Benoit Bolsee on Jan. the 10th in
blender-robotics). Add support to pause the simulation.
- Export simulator time
- Fix the physical properties of robot to enable velocity control (cf commit 8503c9)
- define a method to select the control of robots using position or velocity
Testing
-------
- Automatic testing of MORSE via automatically generated testing scene (testing framework: already done)
Collada
-------
- Import/export of models in Collada 1.5, with kinematics chains.
Middleware
----------
- add support for actions through ROS middleware
- support general mapping of free-function services to any middleware (currently
works only for free-function services declared for the 'simulation' pseudo-
component)
Architecture
------------
- make clear how components access other components? (eg: the cameras need the
position of the robot) -> need refinements: what is the general use case?
Simulation supervision
----------------------
- Introduce means to define scenarios with controlled dynamic events (through
requests and/or a simple scripting API). Requires a notion of timeline (in
the API? in the simulator?)
Components
----------
- Motion capture poster: MORSE should be able to simulate a motion capture setup
by allowing the designer to paste markers in the scene whose position will be
exported
- "Point Cloud" sensors: generate 3D depth images to simulate either
stereovision at an abstract level or various Lidars. Make it generic: export
depth data (openGL z-buffer?), define mofifiers that sample the data according
to a given sensor geometry.
- PR2: what is done? what is missing?
Add-ons
-------
- Install the add-ons in ~/.blender/$version/scripts/addons
================
OTHERS and MISC
================
Installation
------------
- Add rules in CMakeLists to avoid copying backup files of python scripts (eg.: ".sick.py.swp")
GUI
---
- Add a GUI for a the scenario configuration -> to be refined to use the Python API for scene creation
Coding style
------------
- every simple function must have a function comment ( """ ... """)
- Change the names of modules, variables, classes, etc. to comply with the
naming conventions in: http://www.python.org/dev/peps/pep-0008/
- Change the names of objects in .blend file, so that they can be dynamically added using a Python script. Give Specific prefixes to the parent component and other linkable objects
Frame transformations
---------------------
- Representation of all the frames defined within a robot (one frame per sensor,
one robot frame).
- Geo-referenced frames for initial geographic data (define and store a frame
transformation between the Blender reference frame and an abosolute
geo-reference frame)
- Camera geometry: associate a projection matrix to each camera
- Respect the usual standards (e.g. for cameras), define and document the other
choices
User-interface
--------------
- Graphic tree of logic components and their interaction (no meshes, ... )
Architecture
------------
- unified time management ("what if we want to simulate at 2X?")
Simulated component
-------------------
- Simulation of wireless communication between robots: delay, lost of connection, noise...
Linking issues
--------------
- when properties are added in linked components (eg, cameras),
the new properties don't show up in the scene that import these components.
- A lot of room for improvement regarding the general process of linking a
robot component into a scene. Issue with making stuff 'local', lacking a
good GUI, when opening a .blend file, it's not clear what should be imported...
Other stuff
-----------
- find a way to limit the framerate of the simulation, without lowering the physics clock (only the display).
This would allow to free CPU for other application while the simulator is running.
- commit policy
Rosace Project
--------------
- Add timeline of events in the simulation
- Add init script that places the robots and victims specified in a XML file