Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Time Features in rclpy #186

Closed
8 tasks done
tfoote opened this issue Apr 26, 2018 · 9 comments · Fixed by #443
Closed
8 tasks done

Implement Time Features in rclpy #186

tfoote opened this issue Apr 26, 2018 · 9 comments · Fixed by #443
Labels
enhancement New feature or request

Comments

@tfoote
Copy link
Contributor

tfoote commented Apr 26, 2018

This ticket is to track rclpy specific time impelementation requirements

@tfoote tfoote added the enhancement New feature or request label Apr 26, 2018
@Nickolaim
Copy link
Contributor

I can take this item if nobody is looking at it yet.

@tfoote
Copy link
Contributor Author

tfoote commented May 15, 2018

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.

@dhood
Copy link
Member

dhood commented Jul 16, 2018

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.

@dhood dhood self-assigned this Jul 18, 2018
@dhood dhood added in progress Actively being worked on (Kanban column) in review Waiting for review (Kanban column) and removed in progress Actively being worked on (Kanban column) labels Jul 18, 2018
@mikaelarguedas mikaelarguedas assigned sloretz and unassigned dhood Aug 6, 2018
@mikaelarguedas mikaelarguedas added in progress Actively being worked on (Kanban column) and removed in review Waiting for review (Kanban column) labels Aug 6, 2018
@clalancette clalancette added ready Work is about to start (Kanban column) and removed in progress Actively being worked on (Kanban column) labels Oct 25, 2018
@stonier
Copy link
Contributor

stonier commented Oct 30, 2018

Another one for the list, oneshot timers?

@dirk-thomas
Copy link
Member

dirk-thomas commented Oct 30, 2018

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.

@slessans
Copy link

slessans commented Jun 8, 2019

@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

@dirk-thomas
Copy link
Member

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.

@mhpanah
Copy link

mhpanah commented Jul 31, 2019

I'm in need of Rate method to use sim_time. Has Rate method been implemented on rclpy yet? Thanks.

@jacobperron
Copy link
Member

I'm in need of Rate method to use sim_time. Has Rate method been implemented on rclpy yet?

Nope. PRs welcome ;)

@sloretz sloretz mentioned this issue Oct 10, 2019
@wuffle-ros wuffle-ros bot removed the ready Work is about to start (Kanban column) label Oct 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.