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

Automatic Data Collection #5

Open
Kazadhum opened this issue Mar 21, 2023 · 5 comments
Open

Automatic Data Collection #5

Kazadhum opened this issue Mar 21, 2023 · 5 comments
Labels
question Further information is requested

Comments

@Kazadhum
Copy link
Owner

Hi @miguelriemoliveira and @rarrais!

So, while the next meeting doesn't come, I wanted to ask something. So here's where we're currently at in terms of integrating ATOM in this pipeline:

image

To make the data collection a part of the pipeline, I need to make that process automatic, right? So I had an idea, to add an optional argument to the collect_data script that would make it save a collection every X seconds and also add a timeout so that the process ends without user interaction.

But that would be changing the ATOM source code, so I wanted to ask if:

a) Is this a good idea, or worth exploring?
b) If so, do you know if some sort of solution already exists that would solve this?

If you think this is a good idea, I'll create an issue in the original ATOM repo and explore it before the next meeting. I would be working on this fork, of course.

@Kazadhum Kazadhum added the question Further information is requested label Mar 21, 2023
@miguelriemoliveira
Copy link
Collaborator

Hi @Kazadhum ,

To make the data collection a part of the pipeline, I need to make that process automatic, right? So I had an idea, to add an optional argument to the collect_data script that would make it save a collection every X seconds and also add a timeout so that the process ends without user interaction.

a) Is this a good idea, or worth exploring?
b) If so, do you know if some sort of solution already exists that would solve this?

The philosophy of ATOM is to assume the data collection and labeling as a manual procedure, since we want to have the user intervention. So the collect data script is designed to be interactive.

It is possible to automate it, @JorgeFernandes-Git did it recently here lardemua#554

The problem is that this automation is not general, and need to be tuned for each problem in particular.

So I am not sure this is a path we want to dive in because even if we automate a collection procedure it would be just for a particular case. I would say that if you can implement without much effort something based on @JorgeFernandes-Git example, go ahead. If it takes much time not sure if we should go that way.

@Kazadhum
Copy link
Owner Author

@miguelriemoliveira thank you for the feedback! I opened the issue here to determine if this was relevant before opening one on the original repo. But it looks like this is maybe not a great avenue to go down after all.

@miguelriemoliveira
Copy link
Collaborator

miguelriemoliveira commented Mar 21, 2023 via email

@Kazadhum
Copy link
Owner Author

Kazadhum commented Mar 21, 2023

Perhaps the idea of calibrating a dataset is better? Did you do that already?

@miguelriemoliveira Yes, I've recorded a quick video to show you, but maybe I should post it as an issue in the main ATOM repo and explain in further detail what I did and what I want to do in the future.

local_testing_calibration_evaluation.webm

So on the left terminal I'm running the Rigel test job, followed by the plugin I developed to look at the calibration evaluation file (thanks for the help @JorgeFernandes-Git). The Rigel test job launches two Docker containers, both containing all the software involved.

  • The first is called simulation_and_robot and simply launches a gazebo instance with the tripod.
  • The second calibrates a dataset and runs the calibration evaluation, outputting the results .csv file.

On the right, I attach a terminal to the second container so I can take a look at what's happening to make sure the process goes smoothly.

As of yet, the test job needs an introspection part, which is why there's a delay, but after the timeout, which I set at 30 seconds for this video, the introspection is run.

@miguelriemoliveira
Copy link
Collaborator

Hi @Kazadhum ,

looks good.

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

No branches or pull requests

2 participants