kobuki-base / kobuki_ros

ROS2 runtime libraries, nodes and launchers for the Kobuki
46 stars 27 forks source link

Make the kobuki base actually work #9

Closed clalancette closed 4 years ago

clalancette commented 4 years ago

This PR is a series of fixes to make the Kobuki base actually work. It requires https://github.com/stonier/ecl_core/pull/101 to actually build properly. With these changes in place, I was able to verify:

  1. That I can command the base by sending a twist to /command/velocity.
  2. That the base comes to a halt automatically when the twist stops coming in.
  3. The IMU publishes data.
  4. The buttons publish data.
  5. The cliff sensors publish data.
  6. The wheel drops publish data.
  7. The buttons publish data.
  8. The bumper publishes data.
  9. The dock_ir sensor publishes data.
  10. Odometry data is published.
  11. Tf data is published.
  12. Diagnostic data is published.

I haven't yet tried out some of the other commands (like setting the LEDs, resetting odometry, etc). I also need to finish porting the launch files and configuration files. But this is a good start.

clalancette commented 4 years ago

@stonier Now that we have merged and released the fixes for ecl_core stuff, I can now build this package against Eloquent. We still won't be able to port all of the launch files until we deal with https://github.com/kobuki-base/cmd_vel_mux/issues/1 , but I think this is in good enough state to review and merge this. Thanks!

clalancette commented 4 years ago

And I've now ported the launch files and configuration files to ROS 2.

clalancette commented 4 years ago

@stonier Friendly ping here; mind reviewing and merging this if you think it is good?

clalancette commented 4 years ago

Another friendly ping; can we go ahead and merge this? It would be nice to get this released for Eloquent and Foxy.

emersonknapp commented 4 years ago

Hello @stonier ! I'd like these changes, too - just bumping your notification stream :)

stonier commented 4 years ago

@clalancette Perhaps needed an unfriendly ping! Still catching up elsewhere and with the underlying kobuki repositories after a bit of a haitus. Lockdown and remote working was fun, software testing actually became imperative. However, am finally ... moving ... again ... on kobuki! :)

I haven't tested this, but looks like you've done some preliminary testing and code looks to be in good shape to be a useful launching pad for hardening the progress from here. We were in a non-functional state anyway, so this is a big step :)

Just left some comments / queries, but let's get this in.

stonier commented 4 years ago

Squashed with your useful PR description as the commit summary.

clalancette commented 4 years ago

@clalancette Perhaps needed an unfriendly ping! Still catching up elsewhere and with the underlying kobuki repositories after a bit of a haitus. Lockdown and remote working was fun, software testing actually became imperative. However, am finally ... moving ... again ... on kobuki! :)

No worries! Thanks for taking a look.

I haven't tested this, but looks like you've done some preliminary testing and code looks to be in good shape to be a useful launching pad for hardening the progress from here. We were in a non-functional state anyway, so this is a big step :)

I've been running the robot around (on Eloquent) with this patch for a while now, and things seem to be working OK for me. So we're at least in a semi-functional state, though I can't say I've tested every combination of everything. I'll take a look at the PR for Foxy as well now.

Thanks again!

emersonknapp commented 4 years ago

I was running around using this patch (+ a tiny fix for std::move semantics) on Foxy this weekend