Releases: Michi-Tsubaki/ROS2.jl
Releases · Michi-Tsubaki/ROS2.jl
v0.2.0
ROS2.jl v0.2.0 Release Notes
Diff to previous
Compatibility
This release adds a lot of feature, but is fully backward compatible with v0.1.5. All existing code will continue to work without any modifications.
When migrating from v0.1.5:
New features do not affect existing code
Existing APIs (Publisher, Subscriber, Timer, etc.) unchanged
No breaking changes
New Features
Time Management System
- Added
ROSTime,ROSDuration, andROSClocktypes - Time arithmetic support (addition, subtraction, comparison operators)
- Conversion functions with
builtin_interfacesmessages (to_msg_time,from_msg_time, etc.) - Conversion to seconds and nanoseconds (
to_sec,to_nsec)
TF2 Transform System
TransformListener: Query transformations between coordinate framesTransformBroadcaster: Publish dynamic coordinate transformationsStaticTransformBroadcaster: Publish static coordinate transformationslookup_transform,can_transform: Transform lookup and availability checkingcreate_transform_stamped: Transform message creation
Message Handling
get_available_message_types: Get available message typescreate_msg_dynamic: Dynamic message creationget_message_fields: Message field introspectionis_valid_message_type: Message type validation- Added
QoSProfilewith presets (DEFAULT_QOS,SENSOR_DATA_QOS)
Advanced Features
LifecycleNode: Lifecycle management (configure,activate,deactivate,cleanup,shutdown_lifecycle)MultiThreadedExecutor: Multi-threaded execution (add_node,spin_executor,shutdown_executor)ComponentManager: Component management (load_component,unload_component,list_components)- Domain ID management (
set_domain_id,get_domain_id)
Code Improvements
Formatting
- Applied consistent code formatting across all files
- Cleaned up function argument indentation
- Organized whitespace
Initialization
- Enhanced environment variable checking in
__init__ - Proper Python path configuration
- Improved error handling
Export Management
- Properly exported all new functionality
- Organized module structure
File Structure
New Files
src/time.jl: Time management modulesrc/tf2.jl: TF2 transform modulesrc/messages.jl: Message handling modulesrc/advanced.jl: Advanced features module
Modified Files
src/ROS2.jl: Added includes and exports for new modulessrc/action.jl: Code formatting fixessrc/timer.jl: Code formatting fixes
Compatibility
When migrating from v0.1.5:
- New features do not affect existing code
- Existing APIs (Publisher, Subscriber, Timer, etc.) unchanged
Installation
] add ROS2or
using Pkg
Pkg.add("ROS2")Future Plans
- Action client/server enhancements
- Advanced service features
- Enhanced parameter system
- Bag file support
v0.1.5
<description of version>
v0.1.4
rename directory and pass CI without ROS2 install
v0.1.3
version change
v0.1.2
RobotJuliaClient --> RobotOperationgClient
v0.1.1
ROJ --> RobotJuliaClient
v0.1.0
Merge pull request #5 from Michi-Tsubaki/tsubaki/ros-pubsub Closes #4