Comments (9)
I can take this item if nobody is looking at it yet.
from rclpy.
I don't think anyone is actively working on this. If you'd like to start work on the clock, timer and rate that would be feasible. The time source is blocked on the availability of parameters. If you'd like to pick it up I'd suggest creating a separate ticket for one of the smaller parts to sketch out how you're going to approach it to get feedback before you jump in and implement it.
from rclpy.
Here's some additional detail about the steps that would be required.
- Time class wrapping rcl types (
rcl_time_point
,rcl_duration
) and functions (rcl_difference_times
,rcl_get_time_now
). Conversions to/from builtin_interfaces msg type. - Clock class wrapping rcl's
rcl_clock_t
, exposing get_now; Node has a clock; demos using node.now() if appropriate. - TimeSource wrapping rcl; implementation of ROS time support: A node is used to create a TimeSource of "ROS time" (subscription to /clock, use_sim_time support by some means), node's clock is managed by the TimeSource.
- Time jump types (
TimeJump
,JumpThreshold
) and logic moved from rclcpp to rcl, wrapped in python. Jump handlers in python. - Timer using specific Clock (rclpy Timer currently wraps an rcl timer that rcl_wait uses) in a similar manner to what will be done for rclcpp.
- Addition of Rate in a similar manner to what will be done for rclcpp.
from rclpy.
Another one for the list, oneshot timers?
from rclpy.
A oneshot timer should be straight forward to implement on top of regular timers by cancelling the timer in the first callback.
Please consider to contribute a pull request for this feature.
from rclpy.
@dirk-thomas do you know if anyone took a shot at contributing a simple one shot timer? If not I will give it a try
from rclpy.
do you know if anyone took a shot at contributing a simple one shot timer?
Not that I am aware of.
If not I will give it a try
That would be great.
from rclpy.
I'm in need of Rate method to use sim_time
. Has Rate method been implemented on rclpy yet? Thanks.
from rclpy.
I'm in need of Rate method to use sim_time. Has Rate method been implemented on rclpy yet?
Nope. PRs welcome ;)
from rclpy.
Related Issues (20)
- Feature Request for MultiProcessExecutor HOT 2
- async wait/sleep implementation HOT 4
- KeyError in ActionServer._execute_goal HOT 5
- [Feature] Static Type Checking With ament_mypy HOT 1
- Added optional TimerInfo to timer callback HOT 1
- :farmer: `test_guard_condition` failing consisntent in CycloneDDS HOT 2
- Add utility function to get datetime.datetime from Time HOT 1
- Decode ROS2 raw byte data using rclpy.serialization.deserialize_message HOT 3
- Rate object's destroy() does not destroy the underlying Timer object, leading to CPU usage explosion HOT 6
- Update the executor to not throw ExternalShutdownException
- Make nodes, publishers, subscriptions, services, clients, action servers, action clients Python context managers HOT 1
- aarch64 cross compiling HOT 9
- Executors mishandle invalid waitables HOT 4
- context.on_shutdown is never called HOT 7
- Bad interaction between `torch.compile` and `MultiThreadedExecutor` HOT 1
- First Time Contributors Documentation (CONTRIBUTING.md) HOT 2
- Python message with uint32 Assertion `PyLong_Check(field)' failed HOT 2
- Memory leak in ActionServer. ```taken_data = self._handle.take_goal_request``` HOT 4
- [Bug] error when node created with rclpy.node.Node HOT 1
- Async tasks are processed in LIFO not FIFO HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rclpy.