forked from morse-simulator/morse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
151 lines (104 loc) · 4.43 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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
General TODO list for MORSE
---------------------------
==============
TARGET 0.6
==============
- Fix bug in odometry sensor (Gilberto)
- Make table of contents of the components with images
- Add methods in builder to configure UTM coordinates and temperature in the scene. Previously in the Scene_Script_Holder
Packaging
---------
- Add package(s) for pymorse
Documentation
-------------
- Add docstrings to all modules (everyone)
- Update the documentation for the human "robot"
Public Relations
----------------
- Fresh screenshots!
- Fresh videos!
==============
NEXT TARGETS
==============
General
-------
- Support for Blender >= 2.63
[DONE] - 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. Currently, time
synchronization only implemented in multinode mode.
- Export simulator time + test it
[?] - 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
- Make sure only the camera currently currently active in simulation
(cameraFP, human, etc.) can be controlled with mouse and keyboard.
Other cameras should not be affected
- Allow configuring of the Screen object (present by default in all scenes) to
display the view of the selected camera. Either:
- Toggle between cameras with a button press
- Select the chosen camera from the Builder API
Collada
-------
- Import/export of models in Collada 1.5, with kinematics chains.
Middleware
----------
[PARTIAL] - add support for actions through ROS middleware (cf commit 02fda)
- support general mapping of free-function services to any middleware (currently
works only for free-function services declared for the 'simulation' pseudo-
component)
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
[WIP] - Kinect integration: Control of the arms of the human avatar with a Kinect, using the IK chains in the armature
[WIP] - "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 modifiers that sample the data according
to a given sensor geometry.
- Export position in a consistent way through in different components (use
Transformation3D)
- PR2: cf TODO.pr2
Documentation
-------------
- Fix the outdated documentation at http://wiki.blender.org/index.php/Community:Science/Robotics
================
OTHERS and MISC
================
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)
- 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...
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