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

Migrate to new control structure [jade-devel] #44

Closed
wants to merge 13 commits into from

Conversation

meyerj
Copy link
Member

@meyerj meyerj commented Nov 8, 2015

Supersedes #34. See discussion there.

@paulbovbel
Copy link

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.

@nicolaerosia
Copy link
Contributor

@meyerj @paulbovbel I just wanted to know if you are still working on this?

@paulbovbel
Copy link

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?

@meyerj
Copy link
Member Author

meyerj commented Apr 18, 2016

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.

@paulbovbel
Copy link

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?

@meyerj
Copy link
Member Author

meyerj commented May 2, 2016

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.

@paulbovbel
Copy link

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.
… style

Teleop limits should not be coupled to controller limits.
@meyerj
Copy link
Member Author

meyerj commented Aug 23, 2016

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants