morse-simulator / morse Goto Github PK
View Code? Open in Web Editor NEWThe Modular OpenRobots Simulation Engine
Home Page: http://morse-simulator.github.io/
License: Other
The Modular OpenRobots Simulation Engine
Home Page: http://morse-simulator.github.io/
License: Other
-> to be refined to use the Builder API for scene creation
robotpkg/debian/...
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? at Builder script levels?)
Especially to simulate wireless communication issues.
If you request some value greater than ik_max (returned by get_IK_minmax service), the request is accepted, and set the value of the angle to the requested value (and so violate the ik_max constraint).
The service must reject the request if the value is too high or thresold the requested value to the ik_max. But in any case, Morse must respect {min, max} of the IK properties
Producing TF frames, odometry or Twist messages, as well as topic creation and topic writing/reading should not be duplicated for the various components.
We first want to assess the exact amount of code duplication, and then factorize it to generic methods.
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.
Reported on the mailing list by [email protected] :
I tried the script:
from morse.builder.morsebuilder import *
human = Human()
env = Environment('indoors-1/indoor-1')
It runs but the key to move the character are coupled weirdly with the camera:
the w key move forward the human and the camera, so after a while pushing it the
camera goes throug the wall.
The S key do the same: move backward the camera and the human.
When executing the morse binary, it generates "python_checker.py" in the current directory and deletes it afterwards. This is problematic both when executing the binary from a directory where you haven't got writing permissions or if "python_checker.py" already exists in the directory.
If you request some value greater than ik_max (returned by get_IK_minmax service), the request is accepted, and set the value of the angle to the requested value (and so violate the ik_max constraint).
The service must reject the request if the value is too high or thresold the requested value to the ik_max. But in any case, Morse must respect {min, max} of the IK properties
Both provide the set_rotation service, so in the end only kuka_lwr one is used.
I suppose that the kuka_lwr must disappear and that we need to use the generic one (from armature_actuator). Unfortunately, the set_rotation service from armature_actuator does not work on kuka_lwr. If you just comment the one in kuka_lwr, the unit-test armature_actuator_testing just fails
This should probably include at least a Kinect/Xtion sensor
Graphic tree of logic components and their interaction (no meshes, ... )
From A Degroote, on morse-dev, 24/07/2012
I pushed the branch renaming on https://github.com/adegroote/morse.git
It includes component renaming and fixes configuration handling. There
is still an issue : we need to call explicitly env.create() at the end
of the script. Previously, it was ``automatically'' called from
Environnement.del which is magically called by GC. With the new
code, the GC does not seem to destroy the object ...
So I fixed the different unit-test. I updated code to name port for both
yarp and ROS. The ROS part is well not tested at all, and so probably
broken. While doing here, I notice that there are a lot of code
duplication : I will propose in the next days a way to refactor stuff in
a cleaner way.
Some component are still broken (kuka lwr at least but lots of actuators
/ sensors don't have any unit test ...). In the kuka lwr, it expects a
parent name with a really specific name (so previously, you probably can
use it only once by scene, which is a bug too ...:).
I'll appreciate if people can test the branch (particularly the ROS
part but also in general for their scene, and their sensor / actuator).
when creating a package with make package
(using CPack in https://github.com/laas/morse/blob/master/CMakeLists.txt#L219 )
the version is now 0.1.1, the file name looks like openrobots-morse-0.1.1-Linux.deb. introduced by 4957887
it would be great to get the equivalent of from morse.version import VERSION
in the CMakeLists.txt.
cf commit 02fda15 for the current state.
if sphinx is not available on the system, the cmake detection system is not failing.
It would be nice to fail the detection is sphinx is not available and provide an option to explicitly disable sphinx build if it is on purpose.
support general mapping of free-function services to any middleware (currently
works only for free-function services declared for the 'simulation' pseudo-
component)
At first run, CMake complains about missing pymorse. This is not an issue, but it displays an error message which is confusing for new users.
If the matrix_parent_inverse of a sensor/actuator is not identity it will have an offset when parented to your robot even if you specified zero as location.
You can inspect this matrix from the python console:
bpy.data.objects['your_object_name'].matrix_parent_inverse
And set it to identity again if needed:
bpy.data.objects['your_object_name'].matrix_parent_inverse.identity()
So it would probably make sense to always set this matrix to identity when making a new object via the builder api.
This package should depend on Debian's morse-simulator and the required WG ROS pakages (for fuerte, I guess). It won't be included in Debian since ROS itself is not available there. It's mainly to help with the installation on Debian/Ubuntu.
Attached to the hummer model, the PTU auto-rotates like its look_at_point_service would be active, when the robot is moved.
Other standard robot models like atrv work fine, Segway400 and Pioneer 3-dx are not tested.
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.
I've followed the instructions to install morse, however, I get the following:
$ morse check
Traceback (most recent call last):
File "/usr/local/bin/morse", line 6, in <module>
from morse.core.ansistrm import ColorizingStreamHandler
ImportError: No module named morse.core.ansistrm
Can anyone help me please?
If necessary, open separate issues.
As of commit 3b2cdf3, 32 "TODO" and 1 "HACK" are lying around.
Allow to pass real objects to the middleware layer, so we can keep some kind
of states, properties at the middleware layer. While here, propose a better
interface at the builder level to pass this arguments to the middleware layer.
cf commit 8503c92
Also include:
define a method to select the control of robots using position or velocity
Linked to the result of #120
Currently, MORSE somehow hardcodes the paths to its resources (well, it actually use 'clever' heuristics that may/will/can fail).
setuptools offer a more official way to do it.
Cf http://peak.telecommunity.com/DevCenter/setuptools#including-data-files for instance.
Export position in a consistent way through in different components (use Transformation3D).
Currently, we often export (x,y,z,yaw,pitch,roll) at the sensor level. Because different middlewares have different needs, and also modifiers often need to convert back the data to their own standard, it leads to numerous conversions and no standard representation.
It would make sense to export always the same object (Transformation3D) to prevent this.
cd /home/sylvestre/Téléchargements/morse-0.5.1/obj-x86_64-linux-gnu/src/morse/modifiers && /usr/bin/gcc -Dgaussian_EXPORTS -fPIC -I/usr/include/python3.2mu -o CMakeFiles/gaussian.dir/gaussian.c.o -c /home/sylvestre/Téléchargements/morse-0.5.1/src/morse/modifiers/gaussian.c
/home/sylvestre/Téléchargements/morse-0.5.1/src/morse/modifiers/gaussian.c:1:20: fatal error: Python.h: Aucun fichier ou dossier de ce type
compilation terminated.
make[3]: *** [src/morse/modifiers/CMakeFiles/gaussian.dir/gaussian.c.o] Erreur 1
make[3]: quittant le répertoire « /home/sylvestre/Téléchargements/morse-0.5.1/obj-x86_64-linux-gnu »
Other cameras should not be affected
For instance, we want to be able to write:
robot.configure_mw('ros', {'topic':'/myrobots/data'})
Cf properties' syntax.
In MORSE, while the simulation is runing, we can see the shadow of the Compass (atached to CameraFP)
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.