How can I use a NAO robot for lecture presentation?
I just have started working with the NAO robot with the C++ SDK.
I would like to use NAO as a presenter like in front of a small group or classrooms as lecturers. At the same time I want NAO to control the slide presentation of a laptop (e.g. with Powerpoint). I tried to look for some solutions and heard about making the presentation as a "webpage", and use "qimessaging" to communicate with NAO.
Like I said I just started programing on the NAO. Can anyone give me some advice with the webpage/ qimessaging solution or does anyone have another way to program it?
Thank you in advance.
python c++ powerpoint webpage nao-robot
add a comment |
I just have started working with the NAO robot with the C++ SDK.
I would like to use NAO as a presenter like in front of a small group or classrooms as lecturers. At the same time I want NAO to control the slide presentation of a laptop (e.g. with Powerpoint). I tried to look for some solutions and heard about making the presentation as a "webpage", and use "qimessaging" to communicate with NAO.
Like I said I just started programing on the NAO. Can anyone give me some advice with the webpage/ qimessaging solution or does anyone have another way to program it?
Thank you in advance.
python c++ powerpoint webpage nao-robot
add a comment |
I just have started working with the NAO robot with the C++ SDK.
I would like to use NAO as a presenter like in front of a small group or classrooms as lecturers. At the same time I want NAO to control the slide presentation of a laptop (e.g. with Powerpoint). I tried to look for some solutions and heard about making the presentation as a "webpage", and use "qimessaging" to communicate with NAO.
Like I said I just started programing on the NAO. Can anyone give me some advice with the webpage/ qimessaging solution or does anyone have another way to program it?
Thank you in advance.
python c++ powerpoint webpage nao-robot
I just have started working with the NAO robot with the C++ SDK.
I would like to use NAO as a presenter like in front of a small group or classrooms as lecturers. At the same time I want NAO to control the slide presentation of a laptop (e.g. with Powerpoint). I tried to look for some solutions and heard about making the presentation as a "webpage", and use "qimessaging" to communicate with NAO.
Like I said I just started programing on the NAO. Can anyone give me some advice with the webpage/ qimessaging solution or does anyone have another way to program it?
Thank you in advance.
python c++ powerpoint webpage nao-robot
python c++ powerpoint webpage nao-robot
asked Nov 26 '18 at 2:13
noudelsnoudels
63
63
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Sure, that's totally buildable on NAO; basically have a webpage hosted on the robot, that uses QiMesssaging Javascript to communicate with the robot, and then show that in fullscreen page on your screen.
To build that you could start with the robot-jumpstarter template service-webpage-nao (specifically made for working on NAOqi 2.1 - if you're in 2.8 (on NAO v6) the other templates should work too); which contains a Python service that has two-way communciation with the associated webpage.
You could then change that service to contain your lecture contents, for example by having it set an ALMemory key containing the current page status (image / text to show), and then have the javascript watch that ALMemory key and update the page based on that (you don't need the two-way communication, as you shouldn't have buttons etc.). The example is in Python, but you could do the same with C++ (it will require more work, I don't really recommend it for a simple use case like that).
(You don't even need a service, you could do that from Choregraphe, but I find standalone Python more readable)
I start with the installation of jumpstarter and I also created a project. But where and how should I begin. I'm not so familiar with javascript. Could you give me an advice, how I set an ALMemory key containing the page?
– noudels
Dec 6 '18 at 7:17
Well, you will need to either do your slides in powerpoint (and find a way of connecting that to the robot), or in html (in which case you will need to know how to make them as webpages - just making a series of image is one possibility - and use javascript for the transitions).
– Emile
Dec 6 '18 at 10:00
But basically you could use an ALMemory key "MySlides/Page", and assign it the values "page1", "page2", "page3" in Python (e.g. with self.events.set("MySlifes/Page", "page1"), or with the ALMemory API), and then subscribe to that in js with RobotUtils.subscribeToALMemoryEvent( "MySlides/Page", callback), and in your callback change the page. That will require knowing a bit of javascript.
– Emile
Dec 6 '18 at 10:02
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fstackoverflow.com%2fquestions%2f53473954%2fhow-can-i-use-a-nao-robot-for-lecture-presentation%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
Sure, that's totally buildable on NAO; basically have a webpage hosted on the robot, that uses QiMesssaging Javascript to communicate with the robot, and then show that in fullscreen page on your screen.
To build that you could start with the robot-jumpstarter template service-webpage-nao (specifically made for working on NAOqi 2.1 - if you're in 2.8 (on NAO v6) the other templates should work too); which contains a Python service that has two-way communciation with the associated webpage.
You could then change that service to contain your lecture contents, for example by having it set an ALMemory key containing the current page status (image / text to show), and then have the javascript watch that ALMemory key and update the page based on that (you don't need the two-way communication, as you shouldn't have buttons etc.). The example is in Python, but you could do the same with C++ (it will require more work, I don't really recommend it for a simple use case like that).
(You don't even need a service, you could do that from Choregraphe, but I find standalone Python more readable)
I start with the installation of jumpstarter and I also created a project. But where and how should I begin. I'm not so familiar with javascript. Could you give me an advice, how I set an ALMemory key containing the page?
– noudels
Dec 6 '18 at 7:17
Well, you will need to either do your slides in powerpoint (and find a way of connecting that to the robot), or in html (in which case you will need to know how to make them as webpages - just making a series of image is one possibility - and use javascript for the transitions).
– Emile
Dec 6 '18 at 10:00
But basically you could use an ALMemory key "MySlides/Page", and assign it the values "page1", "page2", "page3" in Python (e.g. with self.events.set("MySlifes/Page", "page1"), or with the ALMemory API), and then subscribe to that in js with RobotUtils.subscribeToALMemoryEvent( "MySlides/Page", callback), and in your callback change the page. That will require knowing a bit of javascript.
– Emile
Dec 6 '18 at 10:02
add a comment |
Sure, that's totally buildable on NAO; basically have a webpage hosted on the robot, that uses QiMesssaging Javascript to communicate with the robot, and then show that in fullscreen page on your screen.
To build that you could start with the robot-jumpstarter template service-webpage-nao (specifically made for working on NAOqi 2.1 - if you're in 2.8 (on NAO v6) the other templates should work too); which contains a Python service that has two-way communciation with the associated webpage.
You could then change that service to contain your lecture contents, for example by having it set an ALMemory key containing the current page status (image / text to show), and then have the javascript watch that ALMemory key and update the page based on that (you don't need the two-way communication, as you shouldn't have buttons etc.). The example is in Python, but you could do the same with C++ (it will require more work, I don't really recommend it for a simple use case like that).
(You don't even need a service, you could do that from Choregraphe, but I find standalone Python more readable)
I start with the installation of jumpstarter and I also created a project. But where and how should I begin. I'm not so familiar with javascript. Could you give me an advice, how I set an ALMemory key containing the page?
– noudels
Dec 6 '18 at 7:17
Well, you will need to either do your slides in powerpoint (and find a way of connecting that to the robot), or in html (in which case you will need to know how to make them as webpages - just making a series of image is one possibility - and use javascript for the transitions).
– Emile
Dec 6 '18 at 10:00
But basically you could use an ALMemory key "MySlides/Page", and assign it the values "page1", "page2", "page3" in Python (e.g. with self.events.set("MySlifes/Page", "page1"), or with the ALMemory API), and then subscribe to that in js with RobotUtils.subscribeToALMemoryEvent( "MySlides/Page", callback), and in your callback change the page. That will require knowing a bit of javascript.
– Emile
Dec 6 '18 at 10:02
add a comment |
Sure, that's totally buildable on NAO; basically have a webpage hosted on the robot, that uses QiMesssaging Javascript to communicate with the robot, and then show that in fullscreen page on your screen.
To build that you could start with the robot-jumpstarter template service-webpage-nao (specifically made for working on NAOqi 2.1 - if you're in 2.8 (on NAO v6) the other templates should work too); which contains a Python service that has two-way communciation with the associated webpage.
You could then change that service to contain your lecture contents, for example by having it set an ALMemory key containing the current page status (image / text to show), and then have the javascript watch that ALMemory key and update the page based on that (you don't need the two-way communication, as you shouldn't have buttons etc.). The example is in Python, but you could do the same with C++ (it will require more work, I don't really recommend it for a simple use case like that).
(You don't even need a service, you could do that from Choregraphe, but I find standalone Python more readable)
Sure, that's totally buildable on NAO; basically have a webpage hosted on the robot, that uses QiMesssaging Javascript to communicate with the robot, and then show that in fullscreen page on your screen.
To build that you could start with the robot-jumpstarter template service-webpage-nao (specifically made for working on NAOqi 2.1 - if you're in 2.8 (on NAO v6) the other templates should work too); which contains a Python service that has two-way communciation with the associated webpage.
You could then change that service to contain your lecture contents, for example by having it set an ALMemory key containing the current page status (image / text to show), and then have the javascript watch that ALMemory key and update the page based on that (you don't need the two-way communication, as you shouldn't have buttons etc.). The example is in Python, but you could do the same with C++ (it will require more work, I don't really recommend it for a simple use case like that).
(You don't even need a service, you could do that from Choregraphe, but I find standalone Python more readable)
answered Nov 27 '18 at 15:08
EmileEmile
2,29711420
2,29711420
I start with the installation of jumpstarter and I also created a project. But where and how should I begin. I'm not so familiar with javascript. Could you give me an advice, how I set an ALMemory key containing the page?
– noudels
Dec 6 '18 at 7:17
Well, you will need to either do your slides in powerpoint (and find a way of connecting that to the robot), or in html (in which case you will need to know how to make them as webpages - just making a series of image is one possibility - and use javascript for the transitions).
– Emile
Dec 6 '18 at 10:00
But basically you could use an ALMemory key "MySlides/Page", and assign it the values "page1", "page2", "page3" in Python (e.g. with self.events.set("MySlifes/Page", "page1"), or with the ALMemory API), and then subscribe to that in js with RobotUtils.subscribeToALMemoryEvent( "MySlides/Page", callback), and in your callback change the page. That will require knowing a bit of javascript.
– Emile
Dec 6 '18 at 10:02
add a comment |
I start with the installation of jumpstarter and I also created a project. But where and how should I begin. I'm not so familiar with javascript. Could you give me an advice, how I set an ALMemory key containing the page?
– noudels
Dec 6 '18 at 7:17
Well, you will need to either do your slides in powerpoint (and find a way of connecting that to the robot), or in html (in which case you will need to know how to make them as webpages - just making a series of image is one possibility - and use javascript for the transitions).
– Emile
Dec 6 '18 at 10:00
But basically you could use an ALMemory key "MySlides/Page", and assign it the values "page1", "page2", "page3" in Python (e.g. with self.events.set("MySlifes/Page", "page1"), or with the ALMemory API), and then subscribe to that in js with RobotUtils.subscribeToALMemoryEvent( "MySlides/Page", callback), and in your callback change the page. That will require knowing a bit of javascript.
– Emile
Dec 6 '18 at 10:02
I start with the installation of jumpstarter and I also created a project. But where and how should I begin. I'm not so familiar with javascript. Could you give me an advice, how I set an ALMemory key containing the page?
– noudels
Dec 6 '18 at 7:17
I start with the installation of jumpstarter and I also created a project. But where and how should I begin. I'm not so familiar with javascript. Could you give me an advice, how I set an ALMemory key containing the page?
– noudels
Dec 6 '18 at 7:17
Well, you will need to either do your slides in powerpoint (and find a way of connecting that to the robot), or in html (in which case you will need to know how to make them as webpages - just making a series of image is one possibility - and use javascript for the transitions).
– Emile
Dec 6 '18 at 10:00
Well, you will need to either do your slides in powerpoint (and find a way of connecting that to the robot), or in html (in which case you will need to know how to make them as webpages - just making a series of image is one possibility - and use javascript for the transitions).
– Emile
Dec 6 '18 at 10:00
But basically you could use an ALMemory key "MySlides/Page", and assign it the values "page1", "page2", "page3" in Python (e.g. with self.events.set("MySlifes/Page", "page1"), or with the ALMemory API), and then subscribe to that in js with RobotUtils.subscribeToALMemoryEvent( "MySlides/Page", callback), and in your callback change the page. That will require knowing a bit of javascript.
– Emile
Dec 6 '18 at 10:02
But basically you could use an ALMemory key "MySlides/Page", and assign it the values "page1", "page2", "page3" in Python (e.g. with self.events.set("MySlifes/Page", "page1"), or with the ALMemory API), and then subscribe to that in js with RobotUtils.subscribeToALMemoryEvent( "MySlides/Page", callback), and in your callback change the page. That will require knowing a bit of javascript.
– Emile
Dec 6 '18 at 10:02
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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.
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%2fstackoverflow.com%2fquestions%2f53473954%2fhow-can-i-use-a-nao-robot-for-lecture-presentation%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