'Nother new bot
 
Notifications
Clear all

'Nother new bot

109 Posts
9 Users
14 Likes
16.2 K Views
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  
Posted by: @robotbuilder

just build a frame like Bill's robot base and move all your electronics and motorized arms onto that.

Yep. That's my new plan

It turns out that you can't get a proper load of ROS on the pi3b while using Buster, so I have to tear into it and do a nuke and pave on two of the Pi's and load Ubuntu on them in order to get ROS to load right. I got a bunch of stuff working, but, not enough to get them to communicate with the Jetson

Later, I'm going to swap out the bases again, put the original base and motors back on the bot, and I'll have the new tracked base to build another one with better space planning. I've completely filled up that riser that I printed so much that I can hardly get my hand into it to get to anything

I'm gonna keep the arms and everything else I did on the original bot, but, I still have the stl files from when I printed them, so, I can just print a few more... IF I decide that I like that design, which I'm not sure I do. Those arms work for THAT bot because I modeled them after the originals, but if I'm gonna build another one, I'm gonna design new arms with a tad more function than form

@robo-pi Tellya what. You come up with the design, and I'll build it, and you can keep working on the software, and I'll trade ya. I'll give you the bot, and you give me the software. You might have to pay for some parts tho, and you can drive to NY to pick it up (if you ever get one of those cars up to PA snuff)

I do have a thought about the cars. If the PA rules are anything like the NY rules, if you register the car as the 1950 (or whatever it is) it only has to pass the inspection for the year it was made. Meaning that the emissions test will be easier to pass, and no computer test to worry about. You'd have to check OEM to see if it even needs turn signals. I'm not sure what year they started making those

Heck, I've got a 1974 Sportster that technically doesn't even need turn signals because it didn't come stock on it when they made the bike, so, of course, I never put any on, cuz... why bother


   
ReplyQuote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 
Posted by: @spyder

@robo-pi Tellya what. You come up with the design, and I'll build it, and you can keep working on the software, and I'll trade ya. I'll give you the bot, and you give me the software. You might have to pay for some parts tho, and you can drive to NY to pick it up (if you ever get one of those cars up to PA snuff)

That sounds like a good deal. 😊   I've been focusing on software.  Well actually lately I've been focusing on electronics hardware (i.e programming FPGAs with Verilog and VHDL).   I also do silly things.  I programmed the FPGA using Verilog and everything went smooth as silk.  Then I tried to duplicate the program in VHDL and it's been a nightmare from which I haven't yet recovered.   The silly thing is that I don't need to use both HDL languages.   Clearly Verilog is much easier so I should just go with that and forget all about VHDL.  Verilog works!  VHDL doesn't!   At least not with my limited knowledge of it.

I was hoping to learn both HDL languages inside and out.  But VHDL is just proving to be too big of a pain.

In any case, I should be starting in on some actual robotics hardware.  I'm still working on the car, off and on.  I've also been cutting firewood for next winter so I don't end up having to do it all in the fall.

Posted by: @spyder

I do have a thought about the cars. If the PA rules are anything like the NY rules, if you register the car as the 1950 (or whatever it is) it only has to pass the inspection for the year it was made. Meaning that the emissions test will be easier to pass, and no computer test to worry about. You'd have to check OEM to see if it even needs turn signals. I'm not sure what year they started making those

The car I'm trying to get inspected is a 2003 Caravan.  It's in far too of shape to junk it.  The rocker panels are rotted out on both sides.  So I've been rebuilding entire new rocker panels from scratch, using sheet metal, no prefab rocker panels.  So it's taking a lot of time to fabricate everything.  But it is coming along slowly.

Ironically my 47' Chevy is in far better shape!  But I don't want to trash this Caravan, it's too nice.  The rocker panels are the only serious problem so once I have those rebuilt it should last me another 10 years.  So it's worth the effort I think.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 

@spyder

On the VHDL thing, I'm making just enough progress to keep me interested, but not enough to feel like I'm really getting a handle on things.   It's one of those ventures where I'm not sure whether I'm wasting time, or making suitable progress.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

@robo-pi

I have no idea how I found these, cuz I certainly wasn't looking for it, but, I found a few vids you might be interested in...

Perceptron programming

Neural Net programming from scratch in python

pts1-7 playlist

 

 


   
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

Now, on to the update...

I got the motors replaced with something a bit more "indoor friendly". Still only using about 5% speed for testing, but I'm ok with that

Things that still need to be done...

Replace one more micro USB power cable for battery power to last pi (currently running on AC only-this is just for the voice, it doesn't really do anything useful. Be nice if it took verbal instructions, but that's a dream)

Replace power cable to internal network switch. Connect to battery and on/off button

Build a pi to act as router and create internal network linked thru wifi to LAN (stuck on this one-could use some help here)

Install LIDAR

Install encoders/photo interrupters for head and arms (not needed for fingers and wrists)

Install 4 more ultrasonic sensors (only one unit currently active-still need to figure out multiple sensors)

Remove scaffolding

Build virtual image of bot for use with RVIZ

"Activate" ROS. Figure out TCPROS and test comms between all internal computers. 

 

That's as complete a list as I can currently think of. It's actually much longer than it looks. Most items are a project in themselves. Basically, the bot actually works right now, I just haven't switched everything over to battery power yet

 


   
ReplyQuote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 
Posted by: @spyder

Be nice if it took verbal instructions, but that's a dream

This can actually be pretty easy to do depending on how complex of commands you want to be able to give it.  I'd start with simple commands like Move Forward, Stop, Turn Right, Turn Left, etc.   However, before you can even begin with that you need a speech recognition engine.  I'm using CMU's Pocket Sphinx, but many people scream bloody murder that Pocket Spinx is "obsolete".  They recommend using Vosk.   I agree that Voisk does appear to be a better speech recognition engine, but it's also more difficult to modify and not as flexible for my needs.  So I've opted for the obsolete Pocket Sphinx. It's simpler to implement and easier to maintain and modify, IMHO.

Posted by: @spyder

Build a pi to act as router and create internal network linked thru wifi to LAN (stuck on this one-could use some help here)

Not sure what you are trying to do exactly.  I write my own communications programs using WiFi to connect my robot to my desktop (or laptop) computer.   On the laptop I either use C# (when using Windows), or Python when using Linux).  On the robot I use various different WiFi programs depending on whether I'm using an Arduino, STM32, ESP32, Raspberry Pi, or Jetson Nano.

Oh, by the way, I use UDP instead of TCP because UDP is far easier to implement and does everything I need to do.  You don't really need TCP unless you want to connect with the WWW Internet or a Web Browser.  So I guess it all depends on exactly what you are trying to accomplish.

Posted by: @spyder

That's as complete a list as I can currently think of. It's actually much longer than it looks. Most items are a project in themselves.

I know what you mean here.  I have a very long list of things I'd like to do with my robot.  And as you say, every little thing on the list becomes a major project.  Yesterday I cut out 8 steel blanks to use as chain sprockets for the wheels.  I had been putting it off because I didn't want to spend the time to do it.  It did end up taking me most of the day.   And all I have are blanks that still need to be made into sprockets.  You might think I'd be better off just buying the blanks or the sprockets.  But surprisingly steel blanks cost almost as much as the sprockets.  And the sprockets are about $10 a piece or more.   I just didn't want to spend $80 on chain sprockets so I'm making my own from scrap metal I had laying around.   It's still going to be quite some time before I actually end up with usable sprockets.  So yes, every little thing becomes a major project in and of itself.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  
Posted by: @robo-pi

Not sure what you are trying to do exactly. 

This is what I'm trying to do...

Once the bot is up and running on batteries, all by its lonesome, with no wires plugged into it from the outside  (right now, I've got a cat5 cable plugged into the back of him that goes into a network switch), I want one device to pick up the wifi from the house, and pump it into a switch to split it up into a wired network inside the bot. So each pi will be on a local network that's tied to my house network, so that I can still connect to it from my desktop

I do have one of those Linksys things that you plug into the wall to pick up wifi, and you plug a cat5 cable into it, but in order to power it, I'd have to take it apart and try to figure out what voltage it needs, and where, so that I could power it directly. Then I could plug that into the switch. I've done that before. It works, but it's an ugly solution. Besides, that wouldn't split up the network for me, so I'm saving that for my last resort

Besides, if it goes outside, it might lose the connection to the house, at which point I still need the guts to be able to talk to each other even without a connection to the internet

I suppose I could just set everything static, but I envision issues with that solution. None that I could point out right now, it's just a feeling

I'm imagining cutting off the dhcp in the house router at something like 200, then using a separate dhcp inside the bot starting at maybe 230 to keep the 2 networks on the same subnet, and it needs to be tcp because the only thing I found in ROS is TCPROS. I didn't see a UDP, and I really don't wanna play games with the logic converters to use the I2C cuz there's too many parts inside that thing to begin with

Now, I suppose I could figure out how to implement serial, but, again, I don't wanna run anymore wires inside there. It's just too jam packed. And yes, I intend to make another bot, and build up the guts first this time, and then just build a skin over the top of it, but I've gotten too close to actually finishing this one, so I'm not about to give up on it til it's fully functional

I've tried a few programs to get done what I want, a bunch of them seem, on the surface, to be almost exactly what I need, but, when it comes to actually implementing them... they just don't get the job done. It seems like this should be such a simple thing. I mean, I've done it before for paid clients, but, in those cases, I was using store bought actual routers, not home made raspberry pis. I even found a version of DD-WRT made specifically for the pi, but, wow, the interface is so complicated, I just can't figure it out. I guess I'm getting so old that my mind just isn't up to this anymore

 

Oh, and I forgot to mention one last thing that needs to be installed...

The LASER 😋 🤣 😎 

omnibot48

Cuz all good robots need weapons, right ?

(Yea. I need to paint it black, I know)

(Don't worry. It's only 5mw. Nothing that could do any actual harm. It's just so that I can say that it's got a laser, cuz, yknow, it's a LASER... And lasers are cool)

 

Posted by: @robo-pi

This can actually be pretty easy to do depending on how complex of commands you want to be able to give it.  I'd start with simple commands like Move Forward, Stop, Turn Right, Turn Left, etc.   However, before you can even begin with that you need a speech recognition engine.  I'm using CMU's Pocket Sphinx,

Posted by: @the-conf-file-from-the-talky-type part-of-the-bot
"wake up": {
      "module": "pocketsphinx",
      "phonemes": "W EY K . AH P",
      "threshold": 1e-20,
      "lang": "en-us"
      }

I'm using pocketshpinx too, but all I can do is make it talk, not control the bot. I can make it sort of "learn", but, it's just memorizing things. It doesn't understand. And I have to teach it things individually, which is a process. Maybe if I could figure out where it's storing the things it learns, I could just find the file and edit it manually like I did with my eggdrop bot, which also wouldn't be any fun, but probably faster than talking to it... Maybe. Depends on what I find in the file structure. For now I'm just talking to it


   
ReplyQuote
codecage
(@codecage)
Member Admin
Joined: 5 years ago
Posts: 1018
 
Posted by: @spyder

Once the bot is up and running on batteries, all by its lonesome, with no wires plugged into it from the outside  (right now, I've got a cat5 cable plugged into the back of him that goes into a network switch), I want one device to pick up the wifi from the house, and pump it into a switch to split it up into a wired network inside the bot.

Not sure of your budget or the range you need on your wifi, but I'm planning on using some of the Ubiquiti (and Linksys) routers I have.  If you are a HAM you can use even 3GHz instead of the 2.4 or 5 GHz routers and even boost the output power.  Using the 2.4GHz routers I can build a "mesh" network that could expand the range.

SteveG


   
Spyder reacted
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

@codecage

Thank You

I only knew about "mesh" networks from reading briefly, so I had to read a paper on them in order to get up to speed

I like that solution, but, unless I'm wrong, it only solves one of my two requirements

It does indeed spread out the wifi signal so that I could pick it up outside, but, it still requires a link in order to provide the dhcp I need in order to create a local standalone network inside the bot so that I could connect to it from my PC

The DD-WRT is probably configurable to be used as part of a "mesh", but, again, the interface is giving me fits. I can't even seem to make it make the initial link. If I could convince it to make the initial link, I know I could easily click the "DHCP ON" button in the control panel, which would solve the problem

Right now, it IS seeing the other network, but that's thru a wired link. It's just not connecting the wifi part

I'm having the same problem on one of the pi's inside the bot. It's acting strange. I used the same .img file for 2 of the pi's inside the bot, but only one of them will connect via wifi. It SEES the wifi, and CLAIMS to connect when I hit the "connect" button, but it just won't connect. Same exact software, same exact hardware, but, giving different results. But when I had them on Rasbian instead of Ubuntu, they both worked fine in wifi, but now that they're both on Ubuntu, only one of them actually connects to wifi

I'm wondering if there's some small bug in the hardware somewhere that's causing it to function that way. I wonder if I tried another Pi with the DD-WRT, maybe it would work. I just found that it does have a version written for the Pi4. I'm going to try that and see if I can make it work. Maybe it just doesn't like that particular Pi

Grasping here. I know that makes no sense, but, I experience a lot of things that "should work" but they don't, and a lot of things that "shouldn't work", but they do

I just saw that the DD-WRT website may have support for the Pi4. I'm going to give that one a shot

Who knows. Maybe it's not the console that's giving me the problem, but the hardware


   
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

I loaded the DD-WRT on another Pi3 (there isn't a release for the pi4) and I'm having wifi problems again, but this time I see the problem, I just don't know what to do about it. 

I think the issue lies in the "MODE" setting for the wifi. It stops working when I set it for "client". I need to find the right mode so I can create the bridge

Ah well, in the meantime, I got the RVIZ working with the LIDAR in ROS on the bot (Yay !)

rvizlidartest

It's obviously laser straight, cuz it shows nothing on the floor, only things at the level of the head where it's mounted (which is the only place it can see 360), so I definitely need to install the rest of those ultrasonic sensors down at the base, or, at least one down at the base on the front.

Back, left and right would probably be a good thing also


   
ReplyQuote
codecage
(@codecage)
Member Admin
Joined: 5 years ago
Posts: 1018
 

@spyder

Sorry, I guess I can't be of much help as I don't use DD-WRT.  I'm using a mesh networking system developed by an amateur radio group.  And I haven't started using the mesh solution in my robot endeavors yet!

SteveG


   
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

@codecage

Oh, it was a good thought. Just that it only solves half the problem


   
ReplyQuote
codecage
(@codecage)
Member Admin
Joined: 5 years ago
Posts: 1018
 

@spyder

Guess I lost track of what you are trying to accomplish.  I thought if you currently have a CAT5 cable connected and things work the way you want them to, then the mesh wifi would just replace that cable.

Sorry to have added a lot of chaff to the picture.

SteveG


   
Spyder reacted
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

@codecage

Not a problem

I really need a wired connection inside the bot. I messed with the openwrt some more, and still can't get what I want out of it.

That ethernet cable is the last wire tethering it to the house, and I need to get rid of it

And a new problem has developed that I'm not quite sure how to deal with...

The wifi on all the computers isn't working

I can SEE them in my router's "connected devices" page, but I can't connect to them wirelessly. Can't even ping

Now, MAYBE the bot's skin might be cutting off the wifi signal to the Pi's, but, that can't be happening to the Jetson, as the antennas are OUTSIDE the bot. And they're fairly decent 8 inch antennas

Is this some kind of quirk with ROS ? I don't know. I do know that on some preloaded ROS packages they have a special wifi that they use to connect to your cell phone, but, none of these are preloaded packages, and my cell phone doesn't show any odd SSID's floating about anywhere, so nothing should be hijacking the signal

I suppose I could give them all static IP's so they could communicate internally, but that still doesn't give me control of the bot from the outside. Can't see the camera, can't see the lidar or the sensor... no data whatsoever unless I can connect to the main Jetson unit

I've got a spare Jetson running Jetbot software, which isn't ROS, but it does have an extra IP in there called l4tbr0, which is a bridge, but it connects just fine using wifi only, and I'm not seeing any odd SSID's on my phone

Maybe there's something inside the bot putting out some kind of interference ?

If so, why is it still showing up on my router ?

The hardware worked before I put Ubuntu on there and loaded ROS correctly... I'm leaning toward ROS somehow being the culprit


   
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

Okay !

So, we're in business

Sort of

It's like a covid kinda half shut down business where not everybody comes to work, and the people who do come to work don't really have their hearts in it and don't really get their jobs done.

I got the motors sorted out, sorta. Replaced them with a 116RPM gear package, then turned down the minimum speed to 5%, got a half working web page that's viewable from my cell phone that doesn't include the camera, lidar, arms, fingers, head or voice...

But the "GO" buttons are working !

omnibot49

Remotely

But the wifi still doesn't work (why ? I have no idea. I'm getting a wifi IP but only when connected to wired), so, the length of the cat5 is the distance I can run the bot, so I still gotta figure out the openwrt (or something) to suck in wifi from a dedicated pi (where the wifi works) and spit out dhcp to the internal wired network of the bot


   
ReplyQuote
Page 7 / 8