Jetson Jetbot
 
Notifications
Clear all

Jetson Jetbot

59 Posts
7 Users
1 Likes
28.1 K Views
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
Topic starter  

What's pretty cool about the Nvidia Jetbot (and other ROS builds) is that you don't have to actually program things the way you'd expect. In Ros, you say things like Left_Motor and Right_Motor

What I'm not understanding is where in the software ROS knows to send signals to which PWM pins

I'm not seeing where the Adafruit Featherwing is defined as being the motor controller


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

YAY !

Step ONE is working, with step one being that the remote controller (the xbox game pad thingy) successfully controls the motors (and therefore, movement) of the robot from a remote computer connected via wifi

As I suspected, a straight line is problematic due to the fact that each motor is controlled individually from a left and right joystick. On the upside, it's digital proportional, so I do have speed control. On the other hand, once the robot is controlling itself, that becomes irrelevantΒ 

Step TWO is the camera is working perfectly (finally, after I bought the right part. The Pi Cam needs to be VERSION 2, an older one doesn't work)

Step THREE is a new button on the controller being pressed causes the software to save a picture of the moment

All 3 are functioning perfectly πŸ™‚

Step FOUR is creating the dataset for machine learning of "Blocked" or "Free" movement, which is currently failing for some reason with the error msg saying "Directories not created because they already exist", which I don't believe to be true due to the fact that a search of the entire hard drive reveals not a single folder called "dataset" or "blocked" or "free"...

Which leaves me stuck. I have no idea what to do at this point. The Jetbot forum is populated by people who are obviously far more intelligent than I am because I'm extremely incapable of following any of their instructions due to the fact that the tech-speak that they speak is so far above me that it might as well be ancient Sumerian

Can anybody help ?


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

As it turns out, there's a new version of the Jetbot software available as of 22 August

Wonder how many problems I had that it fixed ?

Downloading now


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

The upgraded software provided one critical fix, and one (sort of) critical new function (which, in my opinion, should have been included in the first place)

The critical fix was the repair of the training function which now... functions. It would have been nice if they'd added the training buttons to the xbox controller joystick gizmo, considering all the extra buttons the thing has since only 3 out of the 24 or 25 buttons on the thing are currently assigned to anything (I've also mounted a robot arm to the roof of the bot, which would be fully functional, if I knew how to assign the buttons to it. Right now all it's doing is sitting there looking impressive)

I could probably mount a pi to the project and have the arm be the only thing that the pi is responsible for, but, that would be stupid (and totally something I would do)

botupgrade

And the sorta critical new function is the "Follow Me" function, which is totally cool (or, will be once I get all the data for "blocked" and "free" sorted out)

This is all I actually wanted my project to do in the first place...Β 

#1 Be a toolbox

#2 Follow me around so I don't have to push the toolbox

#3 Maybe have some pretty flashy lights

#4 Talk to me (cuz I get lonely sometimes)

#5 Shoot lasers out the eyes

#6 Eat annoying children

Admittedly, #2 won't be as straightforward as it sounds, because the jetbot is programmed to communicate with the Adafruit Featherwing Motor Controller, and is absolutely not capable of handling the amperage I intend to pump thru it to power the motors for a fully loaded toolbox. It's definitely going to need something as beefy as the MD10C's and the gear motors that I bought for this project

My hope was that I could somehow simply replace the featherwing with the MD10C, but, I think that's the part that's going to present a problem to me due to the fact that I have no idea what I'm doing

But, hey, it's forward progress, right ?

I'm calling that a win πŸ™‚

#3 Should be fairly simply. Lights I can figure out

#4 I was planning on sticking my SNIPS box in there. Not sure how well I could integrate it into the Jetson's software tho. But I've already got the box. I might need to think about speakers now that I think about it, unless I can learn to read the mind of a Not-So-Intelligent-Artificial-Intelligence whose only actual intelligence will be to not bump into walls, and my cat can do that.

On the other hand, my cat only has a one word vocabulary, and I have no idea what it means since I haven't learned to speak cat...

Nor have I had any luck teaching Klingon to the cat

#5 Could possibly be an issue with management, but, a guy can dream, can't he ?

#6 More than likely WILL be an issue with management, and probably the local constabulary as well, and I should definitely leave it off the list of things to do, but, hey, a guy can dream, can't he ?


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

That's a nice looking robot chassis and arm.Β Β Β  Is this a homemade chassis or was it a kit?Β Β  I wouldn't mind having a chassis like this as a temporary robot body for my new Jetson Nano.

DroneBot Workshop Robotics Engineer
James


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

@robo-pi

Everything except the circuit boards, screws, and the two pieces of sheet metal came off my Anet A8 printers INCLUDING the tank treads (which I removed and replaced with uniwheels, which I didn't print)

The arm, sadly, doesn't do anything other than look fancy. It IS connected to the motor controller and power, but it lacks the programatical incentive to "reach out and touch" anything

As a test I uploaded a script from my dancing OttoBot into the arm

That proved to be a successful test of all the servos as well as being slightly entertaining for a few minutes

EDIT: Oh, I forgot to mention... it IS temporary. Once it works, I'm taking the guts out and it's going into my toolbox


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

Ok, I'll probably build something from scratch myself.Β  I really can't afford to be buying a kit anyway.

The arm looks similar in design to a "Me Arm" but it appears to be much sturdier.Β 

I have a "Me Arm", but it's pretty flimsy to try to do any serious work with it.Β Β  I'd like to build one based on a similar design but far more robust.Β Β  In fact, I've been thinking of possibly using stepper motors withΒ  powerful gear ratios instead of trying to drive it directly off a servo shaft.Β Β  It might move slower, but if that results in a far more powerful arm that would be ok by me.Β Β  I'd rather have the power than the speed.

DroneBot Workshop Robotics Engineer
James


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

The arm looks similar in design to a "Me Arm" but it appears to be much sturdier

Yea, these rods have a kind of "I" beam design to them. I looked at the "me arm" but I didn't like it. This one is the "eezybotarm". I think I found it on tinkercad

I printed it in carbon fiber, so it's stronger than it would've been anyway


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

The eezybotarm looks pretty good.

I found this article on Instructables

I don't have a 3D printer though so I might look into making this out of aluminum scrap and using the old-fashioned milling machine to manufacture the parts.

DroneBot Workshop Robotics Engineer
James


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

@robo-pi

Instructables is currently unavailable to me right now. I'm getting a wierd game that I can't seem to play well when I click on that link

Here's a link to the one you see on my bot...

https://www.thingiverse.com/thing:1015238

And it looks like he's upgraded it, and made it bigger and stronger. The servos look bigger, but the BOM still says SG90

https://www.thingiverse.com/thing:1454048

It's a nice design, but, like you, I would have preferred not having all the stress on the horns of the servos, and with that thought in mind, I had an idea about the Nema17 motors that run my printers. Those things are pretty powerful, kinda big, but powerful. They do have smaller sizes tho, which are not as strong, but, easier to hide inside something...

nema17lg

And there's a smaller one

nema17sml

And some fairly inexpensive ones

nema17chp

Now, if you were to put a gear on the shaft, and a bigger gear next to it, you could have a servo capable of lifting probably a few pounds, maybe more, I haven't done any calculations, but just by eyeing it, it looks doable. So I checked Servo City (where I get my actobotics stuff) and they do have 5mm ID gears and shafts, as well as 5mm bearings. Heck, with a motor that strong, and a 12 or 15:1 gear ratio, and you've got some power there

So the parts are there to make a much stronger arm

It's not in the cards this week, and an arm isn't on my list of things to do for the toolbox, but, it IS giving me some ideas

I gotta figure out how to get that arm working πŸ˜‰


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

And some fairly inexpensive ones

Those NEMA17 motors look pretty nice.Β Β  Four for a quarter isn't too bad either.Β Β  They look like they would be quite powerful.

I was actually thinking of using the 28BYJ-48 steppers only because I already have a ton of them laying around.Β  I'm not sure how powerful these are but they do contain an internal gearbox.Β Β  I'm thinking they should be more powerful than the small servo motors, but I'm not sure yet.Β  I'll have to study the spec sheets and find out.

DroneBot Workshop Robotics Engineer
James


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

@robo-pi

Yes, an obvious tell on whether a motor has an internal gearbox is when the shaft doesn't come out the middle πŸ˜‰

I have a bunch of those myself. Haven't done anything with them yet tho

I think I made one turn once, as an experiment, then got distracted by another project, like I am now

I should be training the free and blocked model, but one of the stupid motors is malfunctioning, and now I have to rip the stupid tank apart, which, believe me, is a nightmare of one part connected to another, to another to another

There's just no simple way to do this


   
ReplyQuote
(@zeferby)
Member
Joined: 5 years ago
Posts: 355
 

@spyder @robo-pi
My curiosity has been triggered...

I went on a www cruise while my 3d printer is churning out pieces of EEZYbotArm (the mk1, like spyder's) and here is the mk3 that robo-pi may be interested in (it's a mk1 adapted to use 3 of these small steppers) : https://www.thingiverse.com/thing:2838859

His web site is good : http://www.eezyrobots.it/

I like the more sturdy mk2 but i don't have the required hardware right now so I'm first going to build the mk1 with MG90 servos and then play with the software side of things.

Eric


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

here is the mk3 that robo-pi may be interested in (it's a mk1 adapted to use 3 of these small steppers)

Thanks for posting this.Β Β  It does help to see how someone else designed the arm using the 28BYJ-48 servo motors.Β Β Β  I like how he designed the base motor.Β Β  That's basically what I was thinking.Β  I was planning on using a large ring gear on the base and a gear on the stepper motor to drive it instead of running the base directly off the output shaft of the motor as was done with the earlierΒ  servo models.

You can see the base gears clearly in the video at about 2:28

I would have liked to have seen him pick up some fairly heavy objects just to see what it can handle.Β Β  He says in his article:

During development I found the stepper a little weak for the purpose, so I redesigned the transmissions on vertical arms, and apply a modification on stepper from unipolar to bipolar.

He notes that they were a bit weak in his initial design and that he made some modifications.Β Β  But he doesn't mentionΒ  what the original weaknesses were or how much improvement he managed to achieve.

The other thing about this design is that there is no wrist action on these models.Β  I would also prefer to eliminate the servo motor at the end of the arm.Β Β  I was thinking of using cables to control the gripper and adding wrist motion too.Β Β  Then running those cables via stepper motors too that can also be located in the base instead of on the end of the arm.

In any case, I don't have a 3D printer, so I'll need to manufacture my parts on a milling machine.Β  So I'll most likely be designing entirely new parts as well.Β  I supposed when I'm finished with my arm I'll have to make an article for it.Β  Other people who have 3D printers could then print the parts that I had made by hand on a milling machine.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
maheshyadav216
(@maheshyadav216)
Member
Joined: 4 years ago
Posts: 2
 

@spyder

Hi how did you controlled the speed of motors (by python code) during teleoperation experiment i.e remote control jetbot using gamepad. OnΒ  https://html5gamepad.com/ Β  Β  (HTML5 gamepad tester site) my gamepad is shown as following

Β 

image

I can use following axes

image

If above code which is given in notebook applied as it is then robot moves very fast, can not control its speed, Please let me know how can I control speed of motor in this code.

I want to move robot precisely slowly to take snaps of line follower track using gamepad controller. but with this speed I cant move robot slowly.

It will helpful in collision avoidance experiment also, since in that we have to train for 200 images of different textures/walls/floor etc. Did anyone in this forum completed all the notebook experiments in NVIDIA Jetbot guide?


   
ReplyQuote
Page 2 / 4