Skip to content

Releases: lge-ros2/cloisim

CLOiSim-2.3.1

11 May 10:13
396872c
Compare
Choose a tag to compare

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

Minor

  • Versions

    • Update app version info in Project settings
      : 2.3.0 -> 2.3.1
  • 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
  • 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

08 May 13:52
09f2285
Compare
Choose a tag to compare
CLOiSim-2.3.0 Pre-release
Pre-release

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
  • 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
  • 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
    • 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()
  • 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
  • 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
  • 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.).
      • Lidar Sensor device to enable vertical lidar data
      • supporting vertical lidar in 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
  • 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

18 Apr 13:21
07ce10b
Compare
Choose a tag to compare

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
  • 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
  • General

    • update default file root directories in MainScene.unity
  • GUI

    • Add text color for event/error message
      • red: event
      • green: error

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

Version matching for this release

For binary release version, just run './run.sh' script after extract compressed file.

CLOiSim-2.2.0

11 Apr 16:25
5a80076
Compare
Choose a tag to compare

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

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
  • 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.
  • 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
  • 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

Version matching for this release

For binary release version, just run './run.sh' script after extract compressed file.

CLOiSim-2.1.0

22 Mar 02:54
2b055b4
Compare
Choose a tag to compare

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

For binary release version, just run './run.sh' script after extract compressed file.

CLOiSim-2.0.1

09 Mar 17:53
8b9b617
Compare
Choose a tag to compare

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
  • 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

For binary release version, just run './run.sh' script after extract compressed file.

CLOiSim-2.0.0

01 Mar 13:21
2689708
Compare
Choose a tag to compare
CLOiSim-2.0.0 Pre-release
Pre-release

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
    • 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
  • 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

For binary release version, just run './run.sh' script after extract compressed file.

CLOiSim-1.11.0

05 Feb 05:14
a5b7606
Compare
Choose a tag to compare

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
  • 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:

For binary release version, just run './run.sh' script after extract compressed file.

CLOiSim-1.10.1

23 Jan 07:00
564b8f9
Compare
Choose a tag to compare

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:

For binary release version, just run './run.sh' script after extract compressed file.

CLOiSim-1.10.0

12 Jan 16:08
bcb1849
Compare
Choose a tag to compare

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

For binary release version, just run './run.sh' script after extract compressed file.