Using sensor data and a know reference point infer the position of a moving robot
$begingroup$
Say, the robot is starting at a known position and I've data coming off of the robot as it traverses the grid layout. Exploiting the nuances captured in the data - like the implication of unequal rpm in the wheels indicating the robot is turning off to the side of slower wheels- I would like to dynamically infer the location of the robot relative to its starting position.
The ideal solution would be as the data is streaming in my model would dynamically infer its location from the data. I'd like to know if there are any existing solutions for this problem or any ideas that can help me get started are appreciated.
machine-learning deep-learning time-series
$endgroup$
bumped to the homepage by Community♦ 23 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
$begingroup$
Say, the robot is starting at a known position and I've data coming off of the robot as it traverses the grid layout. Exploiting the nuances captured in the data - like the implication of unequal rpm in the wheels indicating the robot is turning off to the side of slower wheels- I would like to dynamically infer the location of the robot relative to its starting position.
The ideal solution would be as the data is streaming in my model would dynamically infer its location from the data. I'd like to know if there are any existing solutions for this problem or any ideas that can help me get started are appreciated.
machine-learning deep-learning time-series
$endgroup$
bumped to the homepage by Community♦ 23 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
$begingroup$
Say, the robot is starting at a known position and I've data coming off of the robot as it traverses the grid layout. Exploiting the nuances captured in the data - like the implication of unequal rpm in the wheels indicating the robot is turning off to the side of slower wheels- I would like to dynamically infer the location of the robot relative to its starting position.
The ideal solution would be as the data is streaming in my model would dynamically infer its location from the data. I'd like to know if there are any existing solutions for this problem or any ideas that can help me get started are appreciated.
machine-learning deep-learning time-series
$endgroup$
Say, the robot is starting at a known position and I've data coming off of the robot as it traverses the grid layout. Exploiting the nuances captured in the data - like the implication of unequal rpm in the wheels indicating the robot is turning off to the side of slower wheels- I would like to dynamically infer the location of the robot relative to its starting position.
The ideal solution would be as the data is streaming in my model would dynamically infer its location from the data. I'd like to know if there are any existing solutions for this problem or any ideas that can help me get started are appreciated.
machine-learning deep-learning time-series
machine-learning deep-learning time-series
asked Sep 26 '18 at 17:28
user007user007
183
183
bumped to the homepage by Community♦ 23 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ 23 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
I see two classes of solutions to your problem:
Solutions without machine learning
The way we did this when I studied realtime systems was to analyze the data coming from the wheel sensors by hand:
First, plot the rate of rotation of the robot w.r.t. the wheel speeds. Is the rate of rotation linear with the difference in speed of the two wheels? The ratio of speeds? Try to find a relation between these variables so that you can later calculate the change in the orientation of the robot from its wheel speeds over a period of time.
Second, do the same with forward and backward movement: when the wheels are turning at rpm X, how fast does the robot move? Is it a linear relation? Find an equation for it.
Once you have these two relations defined, you can dynamically update the position of the robot by determining its direction (based on previous direction and current rate of rotation) and speed (based on wheel rpm), and adding those to the previous position.
This approach is a lot of work, but will help you understand how the wheel speeds influence your robot's movement.
Solutions with machine learning
Given the popularity of machine learning in data science, I presume it might be what you were looking for when asking your question here.
What you have is time series data with two variables: speed for two wheels.
You could drive your robot around the grid for a little while, accelerating, decelerating, turning, stopping, etc. while recording the robots position as well as its wheel speeds at regular, short intervals. This is how you would build a training dataset. You will need to find a way to record the position: perhaps you could use triangulation to locate the robot in the grid, or an overhead camera. You will end up with a sequence of data points (or multiple sequences), each with two wheel speeds (the input variables) and two position coordinates (the output variables).
You would then need to train a model on the time series data, with the position at each step of the time series as your model output (a regression with two output variables).
What kind of model would suit this purpose? It would be very interesting to see what a RNN, with LSTM or GRU units, could do in this situation. The only way to find out if it'll work, however, is to give it a try.
This approach is also quite a bit of work, and will not help you understand the impact of the wheel speeds on movement much (because the model will most likely not be interpretable).
$endgroup$
$begingroup$
Thank you. I'm inclined towards using ML to solve the problem as I might have to generalize the model to other applications alike. Could you help me figure out how to look for similar problems on Google. Perhaps I'm not using the right keywords as a result I'm not able to get nearly enough hits pertaining to this specific problem when I google.
$endgroup$
– user007
Sep 26 '18 at 18:11
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "557"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f38833%2fusing-sensor-data-and-a-know-reference-point-infer-the-position-of-a-moving-robo%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
I see two classes of solutions to your problem:
Solutions without machine learning
The way we did this when I studied realtime systems was to analyze the data coming from the wheel sensors by hand:
First, plot the rate of rotation of the robot w.r.t. the wheel speeds. Is the rate of rotation linear with the difference in speed of the two wheels? The ratio of speeds? Try to find a relation between these variables so that you can later calculate the change in the orientation of the robot from its wheel speeds over a period of time.
Second, do the same with forward and backward movement: when the wheels are turning at rpm X, how fast does the robot move? Is it a linear relation? Find an equation for it.
Once you have these two relations defined, you can dynamically update the position of the robot by determining its direction (based on previous direction and current rate of rotation) and speed (based on wheel rpm), and adding those to the previous position.
This approach is a lot of work, but will help you understand how the wheel speeds influence your robot's movement.
Solutions with machine learning
Given the popularity of machine learning in data science, I presume it might be what you were looking for when asking your question here.
What you have is time series data with two variables: speed for two wheels.
You could drive your robot around the grid for a little while, accelerating, decelerating, turning, stopping, etc. while recording the robots position as well as its wheel speeds at regular, short intervals. This is how you would build a training dataset. You will need to find a way to record the position: perhaps you could use triangulation to locate the robot in the grid, or an overhead camera. You will end up with a sequence of data points (or multiple sequences), each with two wheel speeds (the input variables) and two position coordinates (the output variables).
You would then need to train a model on the time series data, with the position at each step of the time series as your model output (a regression with two output variables).
What kind of model would suit this purpose? It would be very interesting to see what a RNN, with LSTM or GRU units, could do in this situation. The only way to find out if it'll work, however, is to give it a try.
This approach is also quite a bit of work, and will not help you understand the impact of the wheel speeds on movement much (because the model will most likely not be interpretable).
$endgroup$
$begingroup$
Thank you. I'm inclined towards using ML to solve the problem as I might have to generalize the model to other applications alike. Could you help me figure out how to look for similar problems on Google. Perhaps I'm not using the right keywords as a result I'm not able to get nearly enough hits pertaining to this specific problem when I google.
$endgroup$
– user007
Sep 26 '18 at 18:11
add a comment |
$begingroup$
I see two classes of solutions to your problem:
Solutions without machine learning
The way we did this when I studied realtime systems was to analyze the data coming from the wheel sensors by hand:
First, plot the rate of rotation of the robot w.r.t. the wheel speeds. Is the rate of rotation linear with the difference in speed of the two wheels? The ratio of speeds? Try to find a relation between these variables so that you can later calculate the change in the orientation of the robot from its wheel speeds over a period of time.
Second, do the same with forward and backward movement: when the wheels are turning at rpm X, how fast does the robot move? Is it a linear relation? Find an equation for it.
Once you have these two relations defined, you can dynamically update the position of the robot by determining its direction (based on previous direction and current rate of rotation) and speed (based on wheel rpm), and adding those to the previous position.
This approach is a lot of work, but will help you understand how the wheel speeds influence your robot's movement.
Solutions with machine learning
Given the popularity of machine learning in data science, I presume it might be what you were looking for when asking your question here.
What you have is time series data with two variables: speed for two wheels.
You could drive your robot around the grid for a little while, accelerating, decelerating, turning, stopping, etc. while recording the robots position as well as its wheel speeds at regular, short intervals. This is how you would build a training dataset. You will need to find a way to record the position: perhaps you could use triangulation to locate the robot in the grid, or an overhead camera. You will end up with a sequence of data points (or multiple sequences), each with two wheel speeds (the input variables) and two position coordinates (the output variables).
You would then need to train a model on the time series data, with the position at each step of the time series as your model output (a regression with two output variables).
What kind of model would suit this purpose? It would be very interesting to see what a RNN, with LSTM or GRU units, could do in this situation. The only way to find out if it'll work, however, is to give it a try.
This approach is also quite a bit of work, and will not help you understand the impact of the wheel speeds on movement much (because the model will most likely not be interpretable).
$endgroup$
$begingroup$
Thank you. I'm inclined towards using ML to solve the problem as I might have to generalize the model to other applications alike. Could you help me figure out how to look for similar problems on Google. Perhaps I'm not using the right keywords as a result I'm not able to get nearly enough hits pertaining to this specific problem when I google.
$endgroup$
– user007
Sep 26 '18 at 18:11
add a comment |
$begingroup$
I see two classes of solutions to your problem:
Solutions without machine learning
The way we did this when I studied realtime systems was to analyze the data coming from the wheel sensors by hand:
First, plot the rate of rotation of the robot w.r.t. the wheel speeds. Is the rate of rotation linear with the difference in speed of the two wheels? The ratio of speeds? Try to find a relation between these variables so that you can later calculate the change in the orientation of the robot from its wheel speeds over a period of time.
Second, do the same with forward and backward movement: when the wheels are turning at rpm X, how fast does the robot move? Is it a linear relation? Find an equation for it.
Once you have these two relations defined, you can dynamically update the position of the robot by determining its direction (based on previous direction and current rate of rotation) and speed (based on wheel rpm), and adding those to the previous position.
This approach is a lot of work, but will help you understand how the wheel speeds influence your robot's movement.
Solutions with machine learning
Given the popularity of machine learning in data science, I presume it might be what you were looking for when asking your question here.
What you have is time series data with two variables: speed for two wheels.
You could drive your robot around the grid for a little while, accelerating, decelerating, turning, stopping, etc. while recording the robots position as well as its wheel speeds at regular, short intervals. This is how you would build a training dataset. You will need to find a way to record the position: perhaps you could use triangulation to locate the robot in the grid, or an overhead camera. You will end up with a sequence of data points (or multiple sequences), each with two wheel speeds (the input variables) and two position coordinates (the output variables).
You would then need to train a model on the time series data, with the position at each step of the time series as your model output (a regression with two output variables).
What kind of model would suit this purpose? It would be very interesting to see what a RNN, with LSTM or GRU units, could do in this situation. The only way to find out if it'll work, however, is to give it a try.
This approach is also quite a bit of work, and will not help you understand the impact of the wheel speeds on movement much (because the model will most likely not be interpretable).
$endgroup$
I see two classes of solutions to your problem:
Solutions without machine learning
The way we did this when I studied realtime systems was to analyze the data coming from the wheel sensors by hand:
First, plot the rate of rotation of the robot w.r.t. the wheel speeds. Is the rate of rotation linear with the difference in speed of the two wheels? The ratio of speeds? Try to find a relation between these variables so that you can later calculate the change in the orientation of the robot from its wheel speeds over a period of time.
Second, do the same with forward and backward movement: when the wheels are turning at rpm X, how fast does the robot move? Is it a linear relation? Find an equation for it.
Once you have these two relations defined, you can dynamically update the position of the robot by determining its direction (based on previous direction and current rate of rotation) and speed (based on wheel rpm), and adding those to the previous position.
This approach is a lot of work, but will help you understand how the wheel speeds influence your robot's movement.
Solutions with machine learning
Given the popularity of machine learning in data science, I presume it might be what you were looking for when asking your question here.
What you have is time series data with two variables: speed for two wheels.
You could drive your robot around the grid for a little while, accelerating, decelerating, turning, stopping, etc. while recording the robots position as well as its wheel speeds at regular, short intervals. This is how you would build a training dataset. You will need to find a way to record the position: perhaps you could use triangulation to locate the robot in the grid, or an overhead camera. You will end up with a sequence of data points (or multiple sequences), each with two wheel speeds (the input variables) and two position coordinates (the output variables).
You would then need to train a model on the time series data, with the position at each step of the time series as your model output (a regression with two output variables).
What kind of model would suit this purpose? It would be very interesting to see what a RNN, with LSTM or GRU units, could do in this situation. The only way to find out if it'll work, however, is to give it a try.
This approach is also quite a bit of work, and will not help you understand the impact of the wheel speeds on movement much (because the model will most likely not be interpretable).
answered Sep 26 '18 at 17:52
Vincent B. LortieVincent B. Lortie
1311
1311
$begingroup$
Thank you. I'm inclined towards using ML to solve the problem as I might have to generalize the model to other applications alike. Could you help me figure out how to look for similar problems on Google. Perhaps I'm not using the right keywords as a result I'm not able to get nearly enough hits pertaining to this specific problem when I google.
$endgroup$
– user007
Sep 26 '18 at 18:11
add a comment |
$begingroup$
Thank you. I'm inclined towards using ML to solve the problem as I might have to generalize the model to other applications alike. Could you help me figure out how to look for similar problems on Google. Perhaps I'm not using the right keywords as a result I'm not able to get nearly enough hits pertaining to this specific problem when I google.
$endgroup$
– user007
Sep 26 '18 at 18:11
$begingroup$
Thank you. I'm inclined towards using ML to solve the problem as I might have to generalize the model to other applications alike. Could you help me figure out how to look for similar problems on Google. Perhaps I'm not using the right keywords as a result I'm not able to get nearly enough hits pertaining to this specific problem when I google.
$endgroup$
– user007
Sep 26 '18 at 18:11
$begingroup$
Thank you. I'm inclined towards using ML to solve the problem as I might have to generalize the model to other applications alike. Could you help me figure out how to look for similar problems on Google. Perhaps I'm not using the right keywords as a result I'm not able to get nearly enough hits pertaining to this specific problem when I google.
$endgroup$
– user007
Sep 26 '18 at 18:11
add a comment |
Thanks for contributing an answer to Data Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f38833%2fusing-sensor-data-and-a-know-reference-point-infer-the-position-of-a-moving-robo%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown