Control Simulation
This is the preview version with potentially tons of bugs. Please let me know if you encountered any problem using it.
Brief tutorial
The world consists of the following three kinds of components:
Systems: Systems are capable of doing simulation in the world, such as the Rigid Body Solver.
Scene Objects: Objects in the world are in hierarchy, each has its own transform relative to parent. Scene objects can be cloned.
Presets: Each contains a set of parameters/data, similar to a config. Can be referenced and used by other objects.
Load the example.arb to explore the new world structure!
You can add new scene objects by your self (through the context menu of the panel on the left), or you can import files from the menu bar (currently only supports importing urdf files).
Finally, you can run the simulation, which is quite similar to previous versions (1.5-1.6).
IMPORTANT: The software does not support redo/undo and edit tracking for now, so please take care not to modify values accidentally, and save frequently to prevent loss since there will be no warning on exiting with non-saved modifications.
Hint: You can disable objects instead of deleting it, if you want to keep some of its settings.
Messaging with Python
Previously a Python packge simcontrol is used, now you have to use a new one called arcpy. To install/upgrade:
pip install --upgrade aerocae-robotics-controllerCheckout control-example.py to see details. Overall usage is similar to simcontrol2 with a few changes. The major changes are:
- Concept of actuator/sensor is removed. All you need to get is Objects (actually ids of objects).
- Objects are retrieved by path (e.g. 'p600/core/px4'), not by global unique name.
- When calling
simulate(), you need to pass in a list of Objects, indicating you want the output of these objects.