Candice the personal assistant robot

Post Reply
L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Candice the personal assistant robot

Post by L67GS » Wed Jun 24, 2020 12:19 am

Just ordered the case and plastic panels for my new project. I'm not quite ready to start a thread but I'm excited so I have to post something, lol.
In another thread I made reference to it, but it's a personal assistant robot in the style of Dr. Theopolis from Buck Rogers.
Her "AI" is all C++, and she has a handful of real world functions but I just started working on speech recognition with pocketsphinx so that hurdle needs overcome before I can call her "ready".
I was particular with coding so all of her real world functions are in seperate header files which keeps her main lean and clean and makes it easier to write new functions for her.
Candice will run on a C0, providing pocketsphinx isn't too much for it, she's got a mammoth 26800 mah battery with solar charging, Odroid sound card, and she'll be doing the traditional "blinking lights while speaking" thing.
Festival is doing the speech, but I'm having trouble with the Nitech voices so she has a mediocre voice atm.
I've learned more C++ in the last month writing Candice than I learned in almost a year online schooling, even wrote my first multithreading code a couple days ago.
These users thanked the author L67GS for the post:
odroid (Wed Jun 24, 2020 9:53 am)

User avatar
mad_ady
Posts: 8155
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 568 times
Been thanked: 404 times
Contact:

Re: Candice the personal assistant robot

Post by mad_ady » Wed Jun 24, 2020 12:38 am

Sounds like a great project! Make sure to document your progreas for the magazine.

Also test speech recognition speed. I was playing with mycroft a couple of years ago on a c2. It was ok, but a bit slow in response time and a bit of a cpu hog. https://youtu.be/mIM81al60TI

These users thanked the author mad_ady for the post:
L67GS (Fri Jun 26, 2020 11:17 pm)

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Wed Jun 24, 2020 2:00 am

Haha, I found that video a month or so ago and didn't realize it was yours. I looked at Mycroft for a while but going to a pre-made bot defeated the purpose for me because the whole concept of this is to teach myself how to code.
From what I read on the Sphinx documentation as long as I keep her dictionary on the small side she should be efficient enough to run on a single board computer so hopefully this one has the nuts for it.

User avatar
mad_ady
Posts: 8155
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 568 times
Been thanked: 404 times
Contact:

Re: Candice the personal assistant robot

Post by mad_ady » Wed Jun 24, 2020 2:03 am

Indeed - having a goal while learning how to code can keep you motivated.
These users thanked the author mad_ady for the post:
L67GS (Fri Jun 26, 2020 11:17 pm)

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Fri Jun 26, 2020 11:31 am

Is C0 traditionally big balls to get wifi from command line or is mine special?

User avatar
mad_ady
Posts: 8155
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 568 times
Been thanked: 404 times
Contact:

Re: Candice the personal assistant robot

Post by mad_ady » Fri Jun 26, 2020 2:04 pm

No. You can install NetworkManager and use nmtui to setup a new wifi connection.
If you notice latency or dropped pings, search /etc/NetworkManager for a config file where you can turn off powersave mode.
These users thanked the author mad_ady for the post:
L67GS (Fri Jun 26, 2020 11:17 pm)

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Fri Jun 26, 2020 11:06 pm

Thanks, I'll try that, I've been trying wpa_supplicant and for some reason everything is fine but it just won't connect to my wifi. I'm using an Odroid dongle too.
I was hoping to start fabrication and assembly this weekend. The 1/8" plastic sheets and thin acrylic sheets are perfect! They even diffuse light fairly well.
The tins for her "body" arrived damaged so I had to put into Amazon for replacement.
I suppose I can still start fabrication on the plastic stuff and do mock up inside one of these tins.
The battery sits at about a 45* angle, about what I was looking for so it's solar panels are angled up some.
They'll probably be covered somewhat with the thin acrylic but hopefully some light gets to them. Solar charging wasn't sopposed to happen but it was a feature on the best battery I could find for my application.
Still have USB ports and standoffs on order so I couldn't really assemble anyway.
Realistically she could go together now, everything software will happen through tty.
I'm mounting the sound board and audio amp seperate and connecting them to the C0 with umbilical cords so as not to obstruct the view of the C0 with it's shiny heatsink and all.
Attachments
20200626_093255.jpg
20200626_093255.jpg (309.07 KiB) Viewed 260 times
20200626_092915.jpg
20200626_092915.jpg (371.25 KiB) Viewed 260 times

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Wed Jul 01, 2020 11:19 am

I'm not wasting any more time trying to get the C0 on wifi. Tonight I ordered a C1+, I'll pop the eMMC into it and do all the setup, then put it back in the C0. I do want to get the C0 online but I don't need it for now so I'll come back to it when it becomes a necessity.

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Thu Jul 02, 2020 9:35 am

Today I took a big C++ step for me, learned how to use std::filesystem to point Candice at a folder where her responses are so everything isn't piled into one directory.
I still have to learn how to drop back a directory for my vision of a bot with multiple moods to come to life though.
I'm writing multiple response folders, so certain words, phrases, or real world inputs can change her attitude.

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Mon Jul 06, 2020 2:42 am

Made some more progress this weekend, the 2" speakers I ordered, while very nice are also entirely too large after some kind of enclosures so they don't sound raspy and crappy so I got some 1.5" speakers on order but my plan of fabricating and assembly this weekend was thwarted.
So I turned my attention to software again. Dropping back to the parent response directory is now done with absolute path, but I named the data directories with the same number of characters for later.
I figure I can have her get the absolute path of the current directory and iterate it into a string and knock a predetermined number of characters off the end so that string becomes the path to the parent directory, but that's not necessary for now as she'll just be running on the C0 and C1+ with the same eMMC.
I also rewrote and optimized a second thread so she makes random sounds at random times like we do, cough, sneeze, sigh, ect.....
The second thread is simple enough that I was able to lay the groundwork for polling GPIOs.
She's getting tilt switches and vibration sensors so she can be a bit more interactive and mistreatment will of course affect her mood ( which folder her responses come from) as well.
And a silly question, is it possible to open a remote console like we do with serial over Bluetooth or wifi?
I think it would be really cool to be able to have control over her from the computer in the lab without any wires, and even cooler for her to be able to run system commands on the lab computer without any wires.

User avatar
mad_ady
Posts: 8155
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 568 times
Been thanked: 404 times
Contact:

Re: Candice the personal assistant robot

Post by mad_ady » Mon Jul 06, 2020 2:53 am

I think it would be really cool to be able to have control over her from the computer in the lab without any wires, and even cooler for her to be able to run system commands on the lab computer without any wires.
That's why ssh with key authentication was invented
These users thanked the author mad_ady for the post:
L67GS (Mon Jul 06, 2020 3:54 am)

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Mon Jul 06, 2020 6:44 am

Ady, can I do that directly between two computers without a network hub?
Edit: it looks like wpa_supplicant can do so. Cool

User avatar
mad_ady
Posts: 8155
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 568 times
Been thanked: 404 times
Contact:

Re: Candice the personal assistant robot

Post by mad_ady » Mon Jul 06, 2020 1:20 pm

Yes, as long as you use IP addresses from the same subnet.

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Mon Jul 06, 2020 10:55 pm

I'm starting to write code for inputs and in this chart it shows pins labeled as p/u which I assume is internal pull up and p/d which I assume is internal pulldown.
What's confusing is that it looks like pins 7 & 12 are internal pull up but they have a 0 in the V column which I was assuming was boolean.
Could somebody explain to me what this means please?

https://wiki.odroid.com/odroid-c1/hardw ... connectors

User avatar
odroid
Site Admin
Posts: 34642
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean, Japanese
ODROIDs: ODROID
Has thanked: 824 times
Been thanked: 712 times
Contact:

Re: Candice the personal assistant robot

Post by odroid » Tue Jul 07, 2020 9:41 am

I think the table is wrong or outdated.

This "gpio readall" output seems to be much more accurate.
Image

Refer this thread. viewtopic.php?t=30899#p297571
These users thanked the author odroid for the post:
L67GS (Tue Jul 07, 2020 9:21 pm)

L67GS
Posts: 76
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: english
ODROIDs: XU4, C1+,(2) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Has thanked: 30 times
Been thanked: 5 times
Contact:

Re: Candice the personal assistant robot

Post by L67GS » Tue Jul 07, 2020 9:21 pm

That's a great help thank you! And the work that's happening in that thread, wow! That's something I need to follow.

Post Reply

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 1 guest