'Nother new bot
 
Notifications
Clear all

'Nother new bot

109 Posts
9 Users
14 Likes
16.9 K Views
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 
Posted by: @spyder

I've got plenty of circuit boards, but, I'm not quite sure which ones to install to make all the bits actually function. I'd love some help, but, since I'm designing it as I'm (re)building it, I'm not quite sure what help to ask for

I'm trying to take a ROS course thru Udemy, but, it's not being explained in such a way that my meager intellect can fathom

Anyway, if you've got some ideas, I'm open to suggestions. 

You don't need lots of circuit boards. A single microprocessor with its i/o attached to motors and sensors is all you need. May I suggest learning a little bit of coding would be easier than trying to learn ROS first.

ROS is not required for a simple "come here" or "follow me" speech input.

If the motors are being controlled by a RPi it is a simple matter to "remote control" them and other motors via a wireless keyboard.  After that you can extend the program to carry out all sorts of commands from the keyboard like "go to the kitchen and bring me back a can of coke".  When all that is in place it is a simple matter to replace the keyboard input module with a voice to text input module but in the meantime you have something to show off?

 


   
ReplyQuote
Duce robot
(@duce-robot)
Member
Joined: 5 years ago
Posts: 680
 

Ros is certainty an adventure but I think it is really cool being able to communicate back and fourth in c and python I'm learning some about it  it isn't that bad you just have to move slow with it and ros lib for arduino  for serial communication .build nodes for base and arm.install moveit  and yd lidar .your robot looks like its coming along nicely ! And I heard talk of a screw jack for lifting good idea they work good .👍😀


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

@casey

Your response gave me a flash of idea 🤓 

I've got the other Jetson working via remote pc and a ps2 clone joystick along with the camera, so I'm going to duplicate that setup on this one. The motor controller has the capability to control 4 motors, and 4 is all I need (right now, I still haven't figured out what I'm going to do with that second arm)

So that gives me fwd/rev/left/right with the added extra of variable speed, which the original setup didn't have, and it also gives me 2 extra motors, one for the head, and the other for the original arm. Not sure how I'm going to trigger them just yet, but that joystick has lots of buttons, and the code is right there in the Jupyter Notebook, so I might be able to fudge something

Here is the original prototype being controlled via wifi on a pc using the ps2 gaming pad thingy...

So we know it works... Good starting point. I've got a duplicate of the controller board, and a PCA9685 16 port servo controller of which I'll need 4, possibly 5 if I use a servo for the other arm. It's going to require i2c for this, but they're all i2c compatible (theoretically)

I got the other forearm resolved. I think it looks decent. Still have to paint them

omnibot26

I just need to run the wires thru the arm up into the body, and make up some kind of... thingy to mate all the i2c wires together, then I'll see if they all actually talk to each other. I ran a bunch of wires down thru the neck, which was an EXTREMELY small opening. So small in fact that I had to run them one at a time. I pulled enough for the i2c, 3v, 5v, gnd, and a few extras just in case. That black plate on the front has a pioled in it which will display the bot's IP, temp, and disk capacity, and the metal plate is just there to fill a hole where I plan to leave as an access to get to whatever I make for the i2c mating system, (which I also haven't figured out. For now it's just gonna be one of those mini breadboards)

I don't wanna attach the head or the wheels yet cuz I'm not finished printing the risers. I only just this minute finished the 4th quarter of level 3, and I want 1 more level before I reattach the wheel base.

Also, I just found a box of glow-in-the-dark filament that I had accidentally ordered. I thought I was ordering red, but, I clicked the wrong button and got this instead. So, I might try printing the eye sockets in this and maybe the eyes won't have to stay black. Be neat to have glow-in-the-dark eyes. Gotta see how they turn out. I gotta take the camera out anyway cuz the new wide angle lens just showed up in the mail. I'm pretty sure I ordered a second camera for stereo vision, but, it's been so long I can't remember. If and when it comes in I'll put the sonic sensor next to the pioled and then he can have 2 round matching eyes, but, yaknow... amazon shipping


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

I heard talk of a screw jack for lifting

Yea... Waiting on shipping from Amazon for that part

Could take awhile


   
ReplyQuote
(@starnovice)
Member
Joined: 5 years ago
Posts: 110
 
Posted by: @spyder

 

I've got the other Jetson working via remote pc and a ps2 clone joystick

@spyder, I have been trying for days to get a ps2 clone joystick to work with my db1 with no luck.  The problem is the joystick and controller does not seem to send signals to the robot in a timely manner.  For instance if I push the joystick forward (to go) then release it (to stop) the robot just keeps going for some indeterminate time.  The controller I'm using is https://www.robotshop.com/en/lynxmotion-ps2-controller-v4.html .  With Bill Porter's library from github https://github.com/Lynxmotion/Arduino-PS2X .

Any thoughts on what's happening?  Even running his example sketch it doesn't seem like I get very good resolution.  Could it be a back contoller?

Pat Wicker (Portland, OR, USA)


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

@starnovice

Question 1: Is the joystick connected to a pi or arduino ? (the code you provided is written for arduino)

Question 2: How is it connected ? Did you cut the wires, and connect them to the pins, or... what ?

Question 3: Have you tested your gamepad at this website ?  https://html5gamepad.com/ This will tell you what buttons are working on your gamepad (if, of course, you haven't cut off the usb connector)imx

Number 4 isn't a question. The ps2 clone that I've got was made by logitech, and I ended up having to change a digit in order to get it to work because the software was written specifically for ps2

Number 5 isn't a question either. His readme file says that he's had to change a timing integer back and forth from 50hz to 500hz and back again, which sounds kinda like something that might have something to do with timing. I didn't look thru the code cuz I can't read Greek, but, I would also look into that

 


   
ReplyQuote
(@starnovice)
Member
Joined: 5 years ago
Posts: 110
 

@spyder Thank you, you have brought up some good points, 1. It is on an mega, 2. it comes with a breakout board with din connectors and I must have them connected correctly because I do get  input., 3. I haven't but will now, 4&5 I'll keep an eye on these.

Pat Wicker (Portland, OR, USA)


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 
Posted by: @spyder

@casey

Your response gave me a flash of idea 🤓 

I've got the other Jetson working via remote pc and a ps2 clone joystick along with the camera, so I'm going to duplicate that setup on this one.

...

For me a real robot is autonomous. Remote control in a real robot would be limited to sending the robot commands not in actually controlling everything it does. The video camera would be eyes for the robot not as a remote camera for a human viewer to do the controlling of the robot. A real robot has a brain of its own. It has goals (that you give it) and has to make use of its sensors to see the world and the ability to make plans to achieve those goals. Anything less is just a remote controlled car or drone with an onboard camera that you can buy from some electronic retail outlet.

When you write a program you are essentially "wiring up" a general purpose digital computer into a special purpose digital circuit. A computer is filled with registers to hold data. The data can be moved about with each clock cycle and have logical operations performed on it. Thus a computer programmer is a "hardware guy" that uses code instead of soldering to wire up the digital circuits found in a digital computer.

 


   
ReplyQuote
(@starnovice)
Member
Joined: 5 years ago
Posts: 110
 

@casey I agree with you Casey about the robot taking goals and not directions.  Otherwise all you have is an expensive RC car.  I remember visiting a place that designed military drones.  They pointed out that they don't fly the drone so much as tell it where to go or what to follow.  I want to be able to tell my robot to bring me a soda and it finds the way to the refrigerator, gets the soda and then finds me to deliverer it.

Pat Wicker (Portland, OR, USA)


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

I Painted the arms, so now I can start running the wires

omnibot27

I set up a temp breadboard under the head on the table next to my desk to test the i2c connections...

omnibot28

And it would appear that a breadboard may not be a viable solution to having this many i2c connections

An alternative solution would seem to be what is required in this particular instance.

Preferably, a better one

On the upside, all the boards registered on the i2c network. Didn't test them for functionality tho, cuz I'd rather end the afternoon on a positive note

And I printed a new faceplate for the chest, ust in case the other camera ever shows up

omnibot29

Now I'm gonna start printing the glow in the dark lenses for his eyes and see how this filament turns out

Never used it before, so I have idea how it'll turn out


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

It has goals (that you give it) and has to make use of its sensors to see the world and the ability to make plans to achieve those goals.

Well, I did say that I wanted to tell it to follow me or go to the kitchen


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

@Spyder

Sure, I was only saying that unless you can hand over that human remote control to your own AI software then it isn't an autonomous robot that can follow you or find the kitchen.

Does your other robot's "brain" use the camera to control itself?

With the mobile phone based remote controlled cars or drones there is no way I know of that would enable me to modify the code myself so it could navigate a house or grasp a can of soda and deliver it to another location. The robot you see as my avatar had its own cameras and could be programmed (in theory) using your own code to "see" things. It did not however have any arms or hands so the best it could do was push things about.

In theory your omnibot could fetch a can of soda because it has arms and hands. In theory you could turn it into a real robot base to which you could add sensors and code sensor/goal controlled behaviors.

It is a really cool looking robot base.  Are the arms and hands strong enough to lift a can of soda?

 

 


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

Does your other robot's "brain" use the camera to control itself?

It will, once this one does...

See, here's the thing, I'm still going with the ROS. I'm only adding the "turtle" module so I can remote control it... for now, until I learn enough to make it at least semi-autonomous

That other one is at work, and I currently have no access to it, but, I'm using mostly (sorta) the same parts in that one as I'm using in this one, which means that all I have to do when it's finished, is flash the SD card over. So, as long as this one works, that one will work. That was my plan from the beginning... to use this one as a prototype, then copy it. It won't have any arms like this one, but, it's just a toolbox. All it needs to do is follow me around with my tools, or maybe go someplace when I tell it, which means that it'll have to find its way around, and occasionally turn on a light so I can see (tasering a few guests would be nice, but, probably frowned upon, even tho privately laughed about, by the management)

I got tired of waiting for Bill, so I decided to move on in the most rudimentary way I was mentally capable of, which is ROS, without the thought capacity

Posted by: @casey

unless you can hand over that human remote control to your own AI software then it isn't an autonomous robot

Right. And since I'm still going with ROS, once I figure it out, it should do just that, but first, logically, it needs to move

See, I have my own path of my own logic, which is to make the simple work, then add a single layer of complexity, make that work, then add another layer of complexity

If I go straight for some kind of AI, how do I know if the arm isn't moving cuz the AI isn't working, or cuz I screwed up the arm assembly ?

I have to know that the arm works before I can expect the AI to move it

See ? Logic

Posted by: @casey

Are the arms and hands strong enough to lift a can of soda?

Well, during the servo test, yes, it lifted (well, grasped. I didn't test the arm, only the fingers) a full can of soda, but, it had some slippage, which makes me want to figure out what type of feedbback sensors it has (if any). Cuz, if it really does have 20KG power, a can of soda shouldn't have been a problem. Obviously, I should add rubber pads of some sort to the fingers, but that's not the problem. It seems to give up when threatened, which, again, at 20KG, it shouldn't. In the test I ran on it before I installed it in the hand, I couldn't stop it with my fingers. In fact, after that test, the strength of it kinda scared me


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

@casey

I didn't paint the eyes, I reprinted them using that glow-in-the-dark red filament that I had no use for

Might be pretty neat in the dark I guess. On the upside, they're kinda translucent, so, I guess if I wanted to I could put some lights behind them

omnibot30

And I'm working on the wire-cluster board. This is kinda what I'm thinking of...

omnibot31

What's pictured here is for 4 wires, and I figure I'm gonna need something like 9, so I'll add 5 more, and spread them out a bit

Ok, it's done. I gave it 12... I wish I had known that they clip together before I soldered the first couple in

omnibot33

I see that @dronebot-workshop (Bill) is now testing using a solo atmega328 chip instead of the whole arduino nano or uno, but in the post he linked to me, it says arduino mega, but, since I'm still gonna need this wire-cluster-panel thing to mate all the wires together, I'm gonna keep moving forward with this piece

The switches from Radio Shack finally showed up, and a few of them fit perfectly (the descriptions didn't give specific sizes, so I bought a whole bunch) so now I can work on the power. I'm planning on using one battery for the pi (it's actually a Jetson Nano) and another one for the motors, with a separate main power switch for each

Maybe a relay might be a good idea

No idea what the push buttons are gonna do, but, there were holes, so I'm gonna fill them. I would like to have used that panel on his back for the buttons for the Jetson, but, there's no way I'm getting anymore wires thru his neck

omnibot32

OH, I just had a thought !

I could use one of those reed switches to activate the power for the Nano

Then I could embed a magnet inside a 3D print and use it as a special "key"

That would be cool

Stupid, but cool


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 
 
Posted by: @spyder

@casey

And I'm working on the wire-cluster board. This is kinda what I'm thinking of...

omnibot31

What's pictured here is for 4 wires, and I figure I'm gonna need something like 9, so I'll add 5 more, and spread them out a bit

Ok, it's done. I gave it 12... I wish I had known that they clip together before I soldered the first couple in

@spyder

The mistake I made was to solder the connectors the wrong way around on one of the boards I was using to interface the pc to hardware such as a robot.

k8055 boards

My intention is to replace these old (2003) boards with a better version of my own based around an Arduino. On one side are the sensor inputs and on the other side are the motor outputs. The video input has its own usb input to the pc or RPi accessible using opencv.

After looking at some tutorials for ROS it became clear that I wasn't advanced enough as a programmer to make use of it. I know how to program at a low level but learning all that high level stuff is beyond me. Maybe if they come out with a simple to install version called Visual ROS 🙂

 


   
Spyder reacted
ReplyQuote
Page 3 / 8