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
Migrate to new control structure [jade-devel] #44
Conversation
Conflicts: hector_quadrotor_controller/src/pose_controller.cpp hector_quadrotor_gazebo/launch/spawn_quadrotor.launch
1. backwards compatibility 2. repeat_rate is not yet working
Continued from #34 @meyerj thanks for taking a look at this! I've been a little out-of-the-loop with github but if you have some time to sort through this pull and make improvements, I'd be happy to help any way I can. I have a BSD licensed hardware driver for Asctec Pelican/Hummingbird, along with the associated URDFs for simulation, ready to go when this is merged and released. Of course we're still waiting for ros_control release into jade. Do you see a clean way to do both the Euler-angle based approach, along with the vector difference? Perhaps it may be best just to have 4 controllers (position, velocity, attitude, and your original direct-velocity controller) I would be happy to take maintainership of stuff I wrote independently, pass it to you, or we can share. I need to go carefully go through the headers of this pull, and the package.xml's, and make sure there's proper attribution. With regards to execution order, it wasn't a huge deal for my application (running at 100 Hz with pretty low specification to hit), but I can see how that's an issue in more high-precision applications. |
@meyerj @paulbovbel I just wanted to know if you are still working on this? |
I am open to getting this stuff merged, will try again with ros_control patches for kinetic. Who is currently maintaining this package? will it be getting a kinetic release? |
I would be willing to do a kinetic release as soon as all the direct or indirect dependencies are released. Usually ros_controls and gazebo_plugins are the two major blockers for a release in a new ROS distro. I only have limited time at the moment to review new PRs or to work on new features. I think the main reason why this PR cannot be merged yet is the missing anti-windup feature in the ros_controls PID controller implementation (see ros-controls/control_toolbox#38). Furthermore, I am not yet fully convinced about the switch of the controller structure, primarily because it deviates from the controller implemented in the real platform that hector_quadrotor actually tries to simulate. But I agree that we should do the switch, if it solves other people's use cases and I eventually will come up with some patches later. |
Have started looking at this again, now that patches in control_toolbox are being released to kinetic-devel. Is anyone working on a kinetic release of hector_gazebo? |
Many thanks, Paul! We have not yet been working on a Kinetic release, but we will definitely do so during the next 1 or 2 weeks now that the beta is out. |
Awesome, will keep you posted |
Conflicts: hector_quadrotor_teleop/src/quadrotor_teleop.cpp
Plugin packages are required to find available plugin libraries during cmake configuration of quadrotor_plugins.gazebo.xacro.
…de in hector_quadrotor
… style Teleop limits should not be coupled to controller limits.
…cies in hector_quadrotor/package.xml
I am going to merge the revisited branch into kinetic-devel. I reimplemented the previous twist controller algorithm in the split velocity and attitude controller. The attitude controller output interface is wrench again (and not acceleration), which is closer to the real world. The position controller supports preemption now, so that a non-zero velocity command interrupts position control. |
Supersedes #34. See discussion there.