Releases: lge-ros2/cloisim
CLOiSim-2.3.1
Build and Tested Environment
- Processor: Intel® Core™ i9-8950HK CPU @ 2.90GHz × 12
- Memory: 32GB
- Graphics: NVIDIA Corporation GP104BM [GeForce GTX 1080 Mobile]
- OS: Linux/Ubuntu 20.04.2 LTS
Changes
Major
-
Upgrade Unity editor version
-> 2020.3.7f1 (LTS) -
Sensor Device related
- parsing output type for laser scan in LaserPlugin
- Memory handling for native array in Camera Sensor device
- Modify Lidar Sensor Device code
- using callback function for AsyncGPUReadackRequest
- native array memory handling for LaserCamData and DepthCamBuffer structure
- handling Memory leackage for nativearray in Lidar Sensor devcie
-
SDF related
- Change wheel properties in MicomPlugin
: wheel/base -> wheel/tread
- Change wheel properties in MicomPlugin
Minor
-
Versions
- Update app version info in Project settings
: 2.3.0 -> 2.3.1
- Update app version info in Project settings
-
Sensor Device
- Add protection code in depth camera
- null check for compute shader
- Change class name
- DevicePlugin -> CLOiSimPlugin
- DevicesPlugin -> CLOiSimMultiPlugin
- Handling CLOiSimPlugin when destory the objects before close the application -> Stop thread
- Change to reusable command buffer in Camera Sensor device
- Trying to save memory in Motor Module and it does not call SetTargetVelocityAndForce() method when direction is switched
- missing call base method from OnDestroy() method in inherited class
- Change global spherical coordniates for GPS sensor device in DeviceHelper
- Add protection code in depth camera
-
General
- Disable BakeMesh option in ProjectSeetings
-
Services
- remove websocket when destory the object
-
GUI
- add yield for coroutine in MarkerVisualizer
- Moved Drawing contact line on Editor mode into OnDrawGizmos() method for SDF.Helper.Link() class
Bug fix
- Sensor device
- Bug Fix: missed calling ProcessDevice() method in DeviceThread()
Version matching for this release
- samples_resource: v1.4.0
- cloisim_ros: foxy-2.9.0
- sim_device: dashing version does not support anymore since dashing was end-of-support.
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-2.3.0
Build and Tested Environment
- Processor: AMD® Ryzen 9 3900x 12-core processor × 24
- Memory: 32GB
- Graphics: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti]
- OS: Linux/Ubuntu 20.04.2 LTS
Changes
Major
-
Upgrade Unity editor version
-> 2020.3.7f1 (LTS) -
General
- Change handling Clock object in DeviceHelper
- set clock object in Main class
- Change handling Clock object in DeviceHelper
-
Rendering
- Apply new render pipeine and update proejct setting for URP(universal render pipeline)
- Update UniversalRenderPipelineAsset settings
- Update Graphic settings and URP pipeline
- Change Anti aliasing quality(MSAA) -> 2X
- Apply new shader(universal RP) as a material
- Modify Code for applying URP
- Modify the code that apply materials for transparent and opaque mesh
- Update materials and drawing in RuntimeGizmo for URP
- Change the order of calling mesh optimization in ProceduralMesh
- Apply new render pipeine and update proejct setting for URP(universal render pipeline)
-
Sensor Device related
- Camera & DepthCamera
- Apply Compute Shading for depth buffer scaling in R16 data format(used in realsense)
- Modify rendering part for Camera Sensor device (+depth sensor)
- Destroy and release compute shader in Camera sensor device
- Change member variable name in Camera modules
- Modify the code that applies depth buffer handling for laser sensor device after change UniversalRP
- Lidar
- Modify Lidar Sensor device to support Vertical lidar data
- calculate the total samples considering Vertical samples in laser scan
- Remove adjusting waitingPeriodRatio in Lidar Sensor device
- Change Array.Copy to Buffer.BlockCopy in Lidar Sensor Device
- Change batchsize for JobSchedule in Lidar
- Modfiy Sensor device to enhance performance: remove Array.Reverse() -> handling depth shader
- Micom
- Modify the interface in Micom Device: MicomInput -> use Twist msg , move 'reset_odometry' handling into MicomSensor
- Add new protobuf message: Twist, Empty
- Add protection code for finding wheel motor in MicomSensor device
- Remove unused method in Motor modules
- Modify the interface in Micom Device: MicomInput -> use Twist msg , move 'reset_odometry' handling into MicomSensor
- Add new Device Mode using System.Thread in Device Class: new Mode (TX_THREAD, RX_THREAD)
- Change device mode type(TX -> TX_THREAD) for Camera, GPS, Lidar, MicomInput, MicomSensor, IMU, Clock
- Change default update rate(100 -> 50) for Clock
- remove calling ProcessDeviceCoroutine() method in DeviceThreadTx() and DeviceThreadRx()
- Camera & DepthCamera
-
SDF related
- Change the order of calling SDF importing method
- call "ImportJoints" and "ImportPlugins" methods after call "AfterImportModel()" method
- Remove convex handling in Import.Link() method
- Modify SDF parser for lidar vertical element
- Change the order of calling SDF importing method
-
Physics related
- make it convex false for Plane collision
- Modify code that handling convex for articulation body
Minor
-
Versions
- Update app version info in Project settings
- 2.2.1 -> 2.3.0
- Update package version
- textmeshpro: 3.0.5 -> 3.0.6
- Update app version info in Project settings
-
Sensor Device
- Handling thread and coroutine after object destroy or stop
- renaming variables in DepthCamera
- Modify Reset() method in IMU
- Code refactoring
- Lidar sensor device
- Change member variable naming in Lidar class
- Do not use a prefix for member variables (, m, s_, etc.).
- Change member variable naming in Lidar class
- Lidar Sensor device to enable vertical lidar data
- supporting vertical lidar in Lidar Sensor Device
- Lidar sensor device
-
SDF related
- Parse and implement gravity value in Import.World
- Code refactoring and code clean-up
- SDF.Helpler.Link, Implement.Joint, Import.Joint
- code refactoring for SDF.Implement collision and visual
- Combine redundancy method -> MergeMeshes() method
- Add new method in SDF2Unity
-
General
- Change script execution Order
- Simulationworld and Main
- Change class name
- CLOiSimWorld -> SimulationWorld
- Apply coding style -> Do not use a prefix for member variables (, m, s_, etc.).
: Devices, Device.Camera, UI and Tools/SDF - Call Resources.UnloadUnusedAssets() when destroy TransformGizmo
- Change script execution Order
-
Services
- Set color for Text Marekrs
-
GUI
- Change properties in TransformGizmo
- Apply random color for props deploying
- Apply TransformGizmo drawing for only MainCamera
- Move Materials in RuntimeGizmo
- Add simulationDisplay in BridgeManager to print error message
- Code refactoring for UI and enhance styling GUISkin
- make it reusable variables for UI simulation display
- Separate SimulationDisplay Class
- Change color for FPS display
- Separate the GUI part in Object spawning class
- Change the position of FPS info in simulation display
- Minor adjustment for UI position
- Add new Help Menu: new UI button for help menu
- add mouse wheelblocking flag and change amount of weel movement in CameraControl
Bug fix
-
UI
- add null protection in UI Gizmo
- Fix Gizmo manipulation for actor object
-
Services
- Fix null object handling in simulation service for 'markers'
-
Sensor device
- Bug fix in Lidar Sensor Device
- Fix setting intial parts pose in MicomSensor
-
SDF related
- Bug fix in SDF.Entity parser
- (crash issue)Bug fix: Change the order of importing SDF elements
- before: Models -> Links -> visual -> collision -> joint -> plugin
- after: Models -> Links -> visual -> collision -> joint(store only information) -> plugin
import and implements joints after all models are loaded.
Version matching for this release
- samples_resource: v1.3.0
- cloisim_ros: foxy-2.8.2
- sim_device: dashing version does not support anymore since dashing was end-of-support.
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-2.2.1
Build and Tested Environment
- Processor: AMD® Ryzen 9 3900x 12-core processor × 24
- Memory: 32GB
- Graphics: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti]
- OS: Linux/Ubuntu 20.04.2 LTS
Changes
Major
-
Upgrade Unity editor version
-> 2020.3.4f1 -
Sensor Device related
- Reset target velocity(linear/angular/left/right) when reset is called
- Change a condition to call ConvertToStaticLink() method
- set child articulation body immovable in ConverToStaticLink() method
Minor
-
Versions
- Update app version info in Project settings
- 2.2.0 -> 2.2.1
- Update package version
- textmeshpro: 3.0.4 -> 3.0.5
- Update app version info in Project settings
-
SDF related
- visual
- Parsing meta element in visual element and import
- sensor
- Parsing SDF element in
- Fix SDF parser when parsing camera.clip
- null checking
- geometry
- Add name on mesh geometry game object
- Set name for mesh geometry gameobject
- actor
- Add null check for animation when importing SDF.Actor
- remove bone rotation in loading animation class
- apply scaling on create skin object and loading animation
- correct rotation, position, scaling after loaded
- visual
-
General
- update default file root directories in MainScene.unity
-
GUI
- Add text color for event/error message
- red: event
- green: error
- Add text color for event/error message
Bug fix
-
Change properties of capsule collider in Actor
-
Fix display location of FPS when resizing window
-
SDF related
- light
- Bug fix wrong light type in SDF Light importer
- geometry
- fix the roation and scaling of mesh(+skin) importing(by assimp)
- Fix mesh importing for collada files
- fix rotation for Actors
- bind pose, bones and skin
- fix the code that create 'geometry(mesh)' game objects in collision object that unmerged and merged also
- fix gizmo transform after selection
- Modify code in LiftControl(Elevator) due to change of object structure in Collision object
- joint
- Fixed joint for articulation body connection
- Change structure of geometry object for primitive mesh
- enable convex in mesh collider for articulation body and disable convex for non-articulation body
- Fixed joint for articulation body connection
- light
Version matching for this release
- samples_resource: v1.2.1
- sim_device: dashing-1.10.2
- cloisim_ros: foxy-2.8.0
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-2.2.0
Build and Tested Environment
- Processor: AMD® Ryzen 9 3900x 12-core processor × 24
- Memory: 32GB
- Graphics: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti]
- OS: Linux/Ubuntu 20.04.2 LTS
Changes
Major
-
Upgrade Unity editor version
-> 2020.3.3f1 -
SDF related
- Add parsing(Import/Implement) Lights and spherical coordinates elements in World element
- Add default argument for name and type attribute in SDF.entity
- Separate Import.World method from Import.Loader
- gui element in World element is added for SDF parser
- call ParseElements() method in SDF.Entity Base class
- Apply rotation inertia when implement SDF link element
- Do ImportModels() and ImportActors() methods in ImportWorlds() method
-
Sensor Device related
-
Apply JobParallel computing for laser data
-
Code refactoring for Device
-
Enhance Camera worker
-
Adjust waiting period ratio for lidar
-
-
Physics related
- Change default properties for Root Articulation Body
- Set 'Plane' Layer for plane collision object
-
File and Folder Architectures
- Separate the core scripts into Core directory
-
Project Settings related
- Add new tag
- Light
- Add new Layers
- Plane
- Add new tag
Minor
-
Versions
- Update app version info in Project settings
: 2.1.0 -> 2.2.0 - Upgrade Plugin library
- protobuf-net 3.0.73 -> 3.0.101
- Update Packages
- render-pipelines.core: 10.3.2 -> 10.4.0
- Update app version info in Project settings
-
Code refactoring
- Naming
- Change method name in Clock class
- Change method name in Base Device class
- Change method name in SDF2Unity class
- Code refactoring for SDF.Pose parser
- SDF2Unity
- move 'relative_to' attribute in element into SDF.Pose class
- Handling articulationbody in AfterImportModel() method
- change the code to import SDF contents through Coroutine.
- Naming
-
Code cleanup
- Remove SetArticulationBody() method in PoseControl
- Remove useless code in SDF.World
- Actors and Lights do not need to return object
- Remove EnableSelfCollision() method since AriticulationBody is applied.
-
Logging related
- Change Loglevel for assimp class
- Suppress printing warning log in ParseElements() method.
- Remove useless log print in GPS device
-
Update Render setting in MainScene.unity
-
Change Company name in Projectsettings
Bug fix
-
PoseControl related
-
Reset the pose for only root articulation body in PoseControl
-
Enabling to reset the pose of Actors
- reset waypoints
- reset animation clip(rewind)
-
-
GUI related
- Prevent selecting the object if object has static property.
- Prevent selecting the object which contain 'Plane Collision Object' for transform gizmo
- Show only the object which has articulation body in Following object list
-
Sensor Device related
- Modify and fix GPS sensor deviee and spherical coordinates class
- fix axis for spherical coordinates
- Import reference values from world element for Spherical coordinates
- Fix spherical coordinates and heading offset for GPS sensor device
- Modify and fix GPS sensor deviee and spherical coordinates class
-
SDF related
- Fix importing light
- direction
- fix error when world does not have actors
- Fix wrong conversion in SphericalFromLocal() method
- Add protection code for extracting resource paths from system environments
- null check
- Fix importing light
Version matching for this release
- samples_resource: v1.2.0
- sim_device: dashing-1.10.2
- cloisim_ros: foxy-2.7.0
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-2.1.0
Build and Tested Environment
- Processor: Intel® Core™ i9-8950HK CPU @ 2.90GHz × 12
- Memory: 32GB
- Graphics: NVIDIA Corporation GP104BM [GeForce GTX 1080 Mobile]
- OS: Linux/Ubuntu 20.04.2 LTS
Changes
Major
-
Enable parsing SDF Actor
-
import and implement actors
- set skin
- set animation
- Import animation clip for animation component
- set script
-
modify SDF2Unity Mesh script using assimp-net
-
Separate mesh handling methods in SDF2Unity into MehLoader
-
Code refactoring for Assimp Mesh Loader
- fix rotation for skin
-
Parse and implement Animation in actor sdf element
-
code modified for animation curve in animation clip
-
Fix rotation for animation bone axis
-
apply loop pose for legacy animation clip
- it does not add x curves if node is root
-
add capsule collider for actor
-
Sorting waypoint list by time when parsing actor element
-
Apply following waypoint for actor
-
Modify Transform Gizmo for actor
- only support tranlate the actor with trajectories in script
- suppport translate and rotation for the actor with trajectories
Minor
-
Print error message on UI when it failed to load document(world file)
-
change type of Time to double
-> Unity support .....timeAsDouble -
Modify textfield property in object spawning
- text alignment
-
Code refactoring for MeshLoader
- separate bone loading
-
Change file name
: ProdeceduralMesh -> ProceduralMesh (typo) -
Move Assimp.XXXXX.cs files into Tools/Mesh/*
-
Change order of calling method in ProceduralMesh
- optimize mesh before recalculate others...
-
Fix the type of SDF element in actor
: bool -> double
Bug fix
-
Fix properties of simulation display
- bug fix height position for textbox of event and simulation message when resizing windows
- resize width of event message
-
bug fix in SDF parser
- GetValues() method had wrong xpath
-
Change order of calling method in SDF.Implement.Collision/Visual
- optimize mesh before recalculate others...
-
Handling Bone and tangent for mesh when import meshes
-
Fix bone list and bind pose matrix in SkinnedMeshRenderer for actor
- bone index for bind pose is important
- set the bind poses and bon weights after combine meshes
Version matching for this release
- samples_resource: v1.0.3
- sim_device: dashing-1.10.2
- cloisim_ros: foxy-2.5.0
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-2.0.1
Build and Tested Environment
- Processor: Intel® Core™ i9-8950HK CPU @ 2.90GHz × 12
- Memory: 32GB
- Graphics: NVIDIA Corporation GP104BM [GeForce GTX 1080 Mobile]
- OS: Linux/Ubuntu 20.04.2 LTS
Changes
Major
-
Update app version info in Project settings
- 2.0.0 -> 2.0.1
-
Upgrade Unity editor version
- 2020.2.7f1
-
Update package version
- Core RP Library: 10.3.1 -> 10.3.2
-
Apply pose of Joint(SDF) when apply anchor position for articulation body
-
Update Dynamic parameters for physics
- solver Iterations: 10
- solver velocity iteration: 5
-
Changes in Motor module
- change to retrieving motor velocity using jointPosition
- remove getting averaged joint velocity
-
(GUI) Print error meessage on simulation display during SDF parsing
Minor
-
Add protection code in Lidar Data generation
-
Parameter name changed in ImportJoint Method
-
refactoring for SDF sensor ray range element
-
Change GUI properties
Bug fix
-
Bug fix in Lidar Sensor device
- Set sensor position and rotation for lidar
- fix rotation for lidar visualization
- Set sensor position and rotation for lidar
-
Fix in Motor module
- set false in rapid direction control after stop
-
Bug Fix in Lidar Sensor device
- calculate angle step
- deg to rad for vertical angle
Version matching for this release
- samples_resource: v1.0.3
- sim_device: dashing-1.10.2
- cloisim_ros: foxy-2.5.0
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-2.0.0
Build and Tested Environment
- Processor: AMD® Ryzen 9 3900x 12-core processor × 24
- Memory: 32GB
- Graphics: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti]
- OS: Linux/Ubuntu 20.04.2 LTS
Changes
Major
-
Update package version
-
Core RP Library: 7.5.3 -> 10.3.1
-
text mesh pro: 2.1.3 -> 3.0.4
-
Update MainScene.unity
- change default parameter in UI Main Camera
- Change rigidbody to articulation body for sample object in MainScene
- Update default assets in MainScene.unity
-
-
Update Dynamic Parameters for physics
- enable adpative force
- enable reuse collision callbacks
- enable auto sync transform
- enable enhanced dterminism
- Change solver iteration
- Update fixed time step in ProjectSettings
- 0.02 -> 0.01
-
Change physical material for SDF surface
- dynamic friction = static friction * 0.75
-
Apply and change software architecture for ArticulationBody unity physics
-
Modify SDF import & implement code for Joint
-
handling model link hierarchy relationship.
-
Set Joint axis and propertis in SDF.Import/Implement for ArticulationBody
- anchorPosition/Rotaion is important!!
-
Modify SDF parser
- Code refactoring along with change of aritculation body
- MicomSensor
- Motor module
- Code refactoring along with change of aritculation body
-
modify code in SDF.import.Joint
- fix anchor pose for ArticulationBody.
- re-naming method
- PostImportXXX() -> AfterImportXXX()
-
Modify Import Model.
- Reset InertiaTensor and Center of mass for root articulation body before load other links
- Add ConstantForce script for ArticulationBody after load other links
-
Set jointFriction parameter by SDF values for Prismatic joint/Revolte Joint type
-
Set joinfFriction to 0 value for Fixed joint type
-
Set default mass in root artculationbody
- 1e-20
-
-
Modifiy Motor modules and PID Module
- Get averaged value for current joint velocity
- Calculating average value using 3-point average
- change parameters
- Code cleanup in PID module
- Add configurable max/min for intergal and output in PID module
- Get averaged value for current joint velocity
-
Update code in TransformGizmo for articulation body
-
Make it static object for spawning objects
-
Change interface type between CLOiSim and cloisim_ros
- elevator_index: int -> string
-
Modify SDF.Collision
- apply bounciness using surface/boucne/restitution coeffieicent
-
Set minimum value for intertia tensor when it does not have a collision -bject.
-
Separater Inertial and inertia in SDF Parser
-
Handling intertia tensor from SDF
Minor
-
Update README.md
-
Add condition for TransformGizmo
- block object selecting when press left ctrl key
-
Draw Inertia region
-
Change max_force value in Joint
- set default forceLimit value to float.MaxValue
-
Minor code refactoring for ElevatorSystem
-
change method name in Main.cs
- remove debugging message for reset
-
remove unused code in Sonar Sensor
-
Can change service port through Environment Variable
- CLOISIM_SERVICE_PORT
-
Change method in DebugLogWriter for warning log
- Add SetWarningOnce() and Remove SetWarning() method
-
Change default space in gizmo transform for manipulation
- Global -> Local
-
Add protection code if Unity.Camera exist.
-
Protection code added in Actuator module
- check NaN value
-
Modify code in Gizmo Transform and ObjectSpwaning
- .tag.Equals -> .CompareTag method
-
Setting default resources directories in MainScene.unity file
-
Change name of method in PoseControl
-
Modify SDF parser for Surface element
-
minor code modified in SDF importer
Bug fix
-
Fix wrong aritculation drive handling in Motor module
-
Fix Reset function in PoseControl after ArticulationBody is introduced
-
Fix gizmo transform for articulation body
- add ArticulationBody.Sleep() as a workaround code before call TeleportRoot() method
- TeleportRoot method is for physics but function is working on Coroutine.
-
Bug fix in Motor module and MicomSensor
- Wrong wheel module accessing
-
Fix axis of articulation body joint
-
Fix Motor module and PID control module for articulation body
- Get joint velocity after calculate average value
-
Bug fix in SDF Parser
- Collision
-
Fix rotation in gizmo transform for arituculation body
Version matching for this release
- samples_resource: v1.0.2
- sim_device: dashing-1.10.2
- cloisim_ros: foxy-2.5.0
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-1.11.0
Build and Tested environment:
- Processor: Intel® Core™ i9-8950HK CPU @ 2.90GHz × 12
- Memory: 32GB
- Graphics: NVIDIA Corporation GP104BM [GeForce GTX 1080 Mobile]
- OS: Linux/Ubuntu 20.04.2 LTS (64Bits)
Changes:
-
Major
- Physics solver type changed: PGS->TGS
- all physics related parameter and configuration are modified.
- remove manual joint anchor correction
- code refactoring for SDF
- Physics solver type changed: PGS->TGS
-
Bug fix
- wrong index calculation in Lidar Device sensor
-
Minor
- upgrade Core RP package
- Support mouse scroll in runtime gizmo
- graphical parameter changed in Shader
Version matching for this release:
- samples_resource: v0.4.1
- sim_device: dashing-1.9.0
- cloisim_ros: foxy-2.4.5
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-1.10.1
Build and Tested environment:
- Processor: AMD® Ryzen 9 3900x 12-core processor × 24
- Memory: 32GB
- Graphics: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti]
- OS: Linux/Ubuntu 20.04.1 LTS
Changes:
-
Bug fix
- models show visual object for collision object.
- Update Dockerfile to fix mouse cursor color problem in Docker Container
-
Minor
- upgrade Core RP package
- change namespace of protobuf messsage: gazebo.msgs -> cloisim.msgs
- change name of environment variable: SIM_BRIDGE_IP -> CLOISIM_BRIDGE_IP
- change name of variables: unity_ros -> cloisim_ros
- tuning sensitivity of UI Camera
Version matching for this release:
- samples_resource: v0.3.1
- sim_device: dashing-1.9.0
- cloisim_ros: foxy-2.4.2
For binary release version, just run './run.sh' script after extract compressed file.
CLOiSim-1.10.0
Build environment: Linux/Ubuntu 20.04
Tested environment: Intel(R) Core(TM) i9-8950HK, 32GB, NVIDIA GeForce GTX 1080 Mobile, Ubuntu 20.04
-
Changes
-
add and change interface between cloisim and sim_device(micom_driver_sim)
- (new) command
- (changed) control_type -> control
-
new micom control command added in micom_driver_sim
- ros2 service 'reset_odometry': reset odometry pose
-
-
Version matching for this release
- samples_resource: v0.3.1
- sim_device: dashing-1.9.0
- sim_device: foxy-2.3.0
For binary release version, just run './run.sh' script after extract compressed file.