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

Starting missions from ROS bridge #74

Open
BenziF opened this issue Nov 17, 2020 · 4 comments
Open

Starting missions from ROS bridge #74

BenziF opened this issue Nov 17, 2020 · 4 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@BenziF
Copy link

BenziF commented Nov 17, 2020

Hi everyone,

I recently opened a similar issue, but i thought this can also be of interest independently from the other one. Feel free to delete it if you see fit.

I was wondering if there was a way to modify the mission queue of the MiR via ROS, selecting which missions to add/remove from the queue and then signaling the robot to start its mission (equivalent to pushing the "Play" button via the web API).

Right now, we can only move the robot using /cmd_vel or /move_base/goal, which is fine for research purpose. Since from REST API one can easily start the mission and model the mission queue, I was wondering if that would also be possible via ROS, or else if it's easy to implement.

@mintar
Copy link
Member

mintar commented Nov 26, 2020

This is not implemented yet, but it would be a very welcome addition! I believe this is the best way to implement the "docking" action (see #69, #72) as well as others.

I don't think it would be very hard to implement. The REST API is stable and well-documented by the MiR people. If you'd like to do this, I'd be more than happy to review and merge PRs! If you have any specific questions during this process, feel free to open issues to discuss it.

@moooeeeep
Copy link
Contributor

I need to handle cart missions soon'ish. I've found this library that might help with the REST API interaction:

Currently I'm thinking about whether and how this should be integrated into the driver. Maybe one could expose the most relevant endpoints of this API via ROS services. Not sure if it's worth to generate all of them automatically and advertise them all the time. Perhaps a library would be useful that defines and builds auto-generated srv files and provides some kind of factory that can advertise any combination of method+endpoints as a ROS service. Then we could implement the required client code to create and enqueue missions via those services.

Any non-trivial task will probably involve running a sequence of several calls to the REST API. Maybe a custom higher-level API based on specific use cases would be more useful, that would then be exposed via ROS services instead of or in addition to the above described low-level API.

Not sure if this is still within the scope of what this repo is intended to deliver.

I'm open for any input or suggestions!

@mintar
Copy link
Member

mintar commented Jan 29, 2021

That library looks very useful. I agree that we shouldn't replicate all of the REST API over ROS services - at that point you could just use the REST API directly. So perhaps start with your use case in mind.

@mintar mintar added enhancement New feature or request help wanted Extra attention is needed labels Jun 11, 2021
@Guillaume-Syc
Copy link

Hello !

In the file MirMoveBase.action, there is an argument,: move_task.
For this argument there is many possibility including :
int16 DOCKING_MOVE = 4
int16 DOCKING_GLOBAL_MOVE = 5

I've read the topics #74 and #72 but I don't understand what is the purpose of those params ?
Can we use them to send the robot to the dock or is it just for futures implementations ?

Thank for your time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants