Start with the lego robotics kits if you want an easy entry. Then work on programming it. Once that is easy, you can look at making your own from scratch.
i have those wheels
i can never get them to work properly because the motors don't spin at the same rate
i know i should hook up some encoder feedback but that's going to be annoying since the cheap motors don't already come with it
and how do you prevent the micro from getting fried by the back emf i know theres a diode technique to prevent that but it has failed on me twice
when i was at school we had little bots just to experiment with programming basics
two wheels only with a skid on the front
for motor get a hobby servo open it up and replace potentiometer with a set of fixed resistors and you can drive it fw/rev straight from a micrcontroller using the 3rd wire. plenty of instructions online if you google 'continuous rotation servo'
how is answering the question in the post related to said question?
sorry perhaps you are too moronic to read between the lines
if you have logic level pwm controllable motor as i describe you can simply set the speed in firmware to make wheels travel at the same speed.
make the robot drive forward for set time and then measure distance each wheel travels for various pwn settings. then you can find linear equation relating distance to pwm setting and your wheels will rotate at the same speed.
of course its not as good as closed loop but servo mod is very very simple foolproof way of entry level robot motion.
resstance in the system (e.g. drivetrain) is calibrated out
if an external resistance (hitting a wall) is sufficient to cause the wheel to slip then 'position' is lost
that is the nature of open loop control
op asked for a basic robot, if op wants the robot to be perfect in certain respects then that shoudl have been specified.
how is answering the question in the post related to said question?
sorry perhaps you are too moronic to read between the lines
if you have logic level pwm controllable motor as i describe you can simply set the speed in firmware to make wheels travel at the same speed.
make the robot drive forward for set time and then measure distance each wheel travels for various pwn settings. then you can find linear equation relating distance to pwm setting and your wheels will rotate at the same speed.
of course its not as good as closed loop but servo mod is very very simple foolproof way of entry level robot motion.
Of all the things OP could do, modifying cheap servos for continuous rotation isn’t really a good one. If he wants a pwm controlled geared motor he can buy something better than a modified hobby servo for less.
Also your idea about using integrating the pwm single as dead reckoning sounds smart but is way more work than building a simple encoder and odometry is horribly imprecise anyway unless the robot will be on a perfectly flat and smooth surface forever.
>for less
for example?
encoders dont work unless its on a flat surface either, it only tells you how far the wheel has turned, not how far the robot has moved.
> encoders dont work unless its on a flat surface either
I wasn’t talking about wheel slip but varying load on the wheels. You can’t “calibrate out” going uphill when integrating pwm signals to the motor
>25GA-370
lol ok great but thats a motor. now you need to drive it, cant just connect that straight to an mcu.
poster asked specifically about freewheel diodes so has done zero research about it which is what i was tailoring response for.
>and how do you prevent the micro from getting fried by the back emf i know theres a diode technique to prevent that but it has failed on me twice
how do people expect to work on anything inductive without understanding this basic shit
and why tf was your motor connected directly to your micro
i have those wheels
i can never get them to work properly because the motors don't spin at the same rate
i know i should hook up some encoder feedback but that's going to be annoying since the cheap motors don't already come with it
and how do you prevent the micro from getting fried by the back emf i know theres a diode technique to prevent that but it has failed on me twice
it was connected through an h bridge ic i had diodes on the signal line
May God help you all.
First of all, if you're concerned about things spinning at the same rate you should be using BRUSHLESS MOTORS. They're kind of like stepper motors except there's only 6 steps per rotation of the shaft. If you need something more accurate then use steppers.
You can buy a number of excellent stepper drivers, the ones we use of 3d printers are going to be the best in terms of cost.
Here's one: https://www.ebay.co.uk/itm/314778650026
All you do to make it move is set the DIR pin HIGH or LOW depending on the direction; then send a pulse to the STEP pin. To send the pulse, just do this code in arduino: digitalWrite(pin, HIGH); delayMicroseconds(50); digitalWrite(pin, LOW);
it's that easy, just send power to the power pins, set the ENABLE pin low and wire in the motor to the motor pins.
You don't need to worry about blowing anything up because the circuit is protected. Your microcontroller never touches the motor or the motor power. Bonus is the drive board is only 20mm long so your circuit will be tiny.
> First of all, if you're concerned about things spinning at the same rate you should be using BRUSHLESS MOTORS. They're kind of like stepper motors
That’s not even true. Unless you have back EMF detection the feed forward control of brushless motors isn’t accurate enough for positioning. They even put hall effect sensors in brushless battery drills these days because it’s not accurate enough to do feed forward speed control under load. Stepper motors are cool if you want really precise movement without extra sensors but they will be bigger, heavier and definitely more expensive for the same amount of power/torque.
>i know theres a diode technique to prevent that but it has failed on me twice
first of all, check if you placed your diode in the correct orientation. Second, running a motor from a gpio directly is bad, use a transistor to switch the motor on/off. Finally, get rid of multiple motors and use only 1 to run all 2 or 4 wheels, like they do in an actual car. Don't forget the differential if you want your robot to handle properly on turns.
Thank you.I don't know why I mentioned the rooted phone bit is all. You can skip that. Anyways not all kits come with the power unit.make sure your kit comes with this.
Thank you.I don't know why I mentioned the rooted phone bit is all. You can skip that. Anyways not all kits come with the power unit.make sure your kit comes with this.
Just a little tip for ya
On your phone you can download a USB serial app which will allow you to send text commands over USB using a USB to UART converter cable. UART can be recieved on the SERIAL port of the arduino or an ESP32/ESP8266.
All you do is setup the serial port with Serial.Begin(115200) then do a while loop like this: while(Serial.available()){char c = Serial.Read();}
You can then use an unrooted phone to send commands to a robot. You could later create your own android app to send commands down the COM port. I'm not sure if https://appinventor.mit.edu/ will allow you to use the COM ports but it's probably worth a shot.
If you want it to be wireless, use an ESP32. You can host a wifi hotspot and send commands wirelessly with ease.
Make your ’frame’ a sheet of metal that is folded upward on four sides and connect the corners together, it’s the easiest way to get the stiffness you need and lots of mounting opportunities. Make the frame also the 0V to save in wires.
Two independently controlled motors (front left and right) and a caster or two on the rear for precise positioning. Get the DC geared motors from Pololu or similar, they come with an encoder included if needed. Get a motor driver like L298N and get the controller independently, you don’t want an integrated solution yet. You want one where you can just bridge two wires to let the motors spin during the building/prototyping phase, like a L298N. Assuming your motors and battery are 12V you need a cheap 5V buck converter to power the arduino or rpi.
You may also want to add an RF receiver right away so that you can at least use a remote control for ‘teaching’ instead of having to program everything. If you want to use ROS and Kinect for slam mapping or whatever you’ll need something beefier than an arduino but that’s for later, focus first on getting an electrically and mechanically sound platform with replaceable controls and go from there.
First, get some coding knowledge (c/c++ is recommended). Second, get to know the basics of circuits, resistors, leds, etc. THEN THROW EVERYTHING TO THE FRICKING WINDOW AND READ A FRICKING BOOK ABOUT COOKING AND BECOME THE NEW GORDON TWINK RAMSEY
You start getting a PhD. You don't even have to finish, but you're not going to be exposed to enough to even tell left from right in robotics without doing this.
That is, unless you're really good at teaching yourself, in which case you wouldn't be asking this question.
saw a book on robotics once definitely had weird shit like dof crap and dynamics of movement of points wrt to each other lol don't even remember
the fomalization is definitely a level above simple mechanical, electrical and software stuff
If your robot has arms or legs or other manipulators sure. But of you just use wheels and don’t need very precise positioning (like parking in a tight spot or trajectory planning) then kinematics aren’t that interesting really. You don’t need that much math if you have reliable feedback control.
PhD usually implies you're working on something new like new batteries or new robot muscles. If your PhD was just doing something that already exists I feel bad for you son.
for a basic robot? if this was the typical 'i want to build a bipedal robot servant' thread i would agree (and say even that is probably not enough) but a basic robot can be at the same level as an RC car, simpler depending on how pedantic you want to get about it
What's your end goal?
Tinkercad-tier projects? Use Tinkercad
You want something that what ROS/ROS2 are needed for?
Get some external SSD for an LTS Ubuntu install and use vscode, docker (for containers for ros/ros2), gazebo, plenty of tutorials
Maybe handle your Ubuntu through btrfs+timeshift or a VM so can reset to a saved system backup if you frick something up
>Tinkercad-tier projects? Use Tinkercad
that's a good start for random stuff considering that I will finally be buying a printer soon, thanks! >ROS/ROS2
this is certainly one of the languages I heard but forgot, I will look into it. and particular sites for tutorials or just youtube and lots of googling as per usual?
do you want to build robots, or do you want to build projects that incorporate robots?
what I mean by this is, are you interested in constructing a robotic arm, or are you interested in buying a prebuilt robot arm and using it for another project?
your stated uses are extremely broad (hobby and industry, that could be pretty much anything) but I get how it is when you just get started with a topic and it's so wide open you don't even know where to start
>do you want to build robots, or do you want to build projects that incorporate robots?
this is a good question. in terms of hobby the robots would, quite literally, be robots that would walk/roll around and manipulate stuff with arms while cameras for eyes, mics for ears and enough pattern recognition to act on their own given the environment they are in as if they were real pets.
of course for a start I would make arms that would make multiple simultaneous moves upon clicking single button instead of going full "Imma skin the local stray cat and use it to cover my perfectly locomoted skinwalker robot cat to blend into the neighborhood and spy on people" from the get-go. also when it comes to robotic animals I'm planning on making them realistic, yet talking, replicas rather than "it's good enough" like the Black person barking robot "dog".
as for industrial use I intend to design and make arms/machinery that would do various tasks whether they are stationary (eg. car assembly) or dynamic (rolling around a facility on wheels/treads and doing stuff), so no prebuilt stuff. and of course the industrial part is currently just wishful thinking because I'm certainly a long way of even understanding the basics of robotics and might even just stick to hobbying.
There are also some more web-based hobbyist circuit simulators if you look around, and you can get more intricate stuff like Proteus/Microchip Studio/STM32 IDEs when you'll be ready to dig more
I do recommend to try everything you can on Tinkercad-likes first (and IRL based on that), you'll find it useful and likely will even have to reuse own code and solutions a lot
Don't forget good ol CADs like Fusion360 and AutoCAD and whatever you can get your hands onto at least for a trial, if you're a student then use your student privileges for max trial milking
FreeCAD can be okay only if you use some extensions that are paywalled on proprietary CADs, otherwise it's masochistic torture for projects with multiple bodies that may lag and freeze even on good desktops
For simulators, Webots is ok for any level of expertise, but you'll want to learn Gazebo anyway when you'll be getting into ROS/ROS2 to try out and reverse engineer most tricky projects
>this is certainly one of the languages I heard
It's more of software packages to make basic OS >and particular sites for tutorials or just youtube and lots of googling as per usual?
The learning materials are really beginner-unfriendly for where it matters, tips like "how to make development not feel like painful execution" are aimed at those who are already experienced and know where to go after that, and, if you're trying to learn on your own, chances are that the most important answers you'll find are from others showcasing how they boot up their completed projects
I can recommend polyhobbyist and articulated robotics YouTube channels, also Allison Thackston's blog (here, it really helps to make own simple project and get it on github through git first, even if it's some basic web app)
There is also theconstructsim where they offer a web-based simulation environment with 3 free self-led courses and possibility to create own projects in the simulated environment or fork others' for any experimentation
There's also the cool and hip NVidia Omniverse for simulations, but it's kinda raw with its fancy Isaac Gym ML features being separate for now and there being less different projects and documentation on either than for Gazebo
There's also the cool and hip NVidia Omniverse for simulations, but it's kinda raw with its fancy Isaac Gym ML features being separate for now and there being less different projects and documentation on either than for Gazebo
gazbo among other things looks promising >The learning materials are really beginner-unfriendly for where it matters, tips like "how to make development not feel like painful execution" are aimed at those who are already experienced and know where to go after that
fug, imitation it is until my brain figures it out. and Imma give you a smooch as I look forward for moar potential help tomorrow
Know anything similar to AutoCAD for translating manual Drafts into CAD Drafts?
when it comes to 3D modeling my knowledge is bare bones (in blender)
the robot pet idea is cool, very ambitious and not a good starter project which you seem to recognise, this is good for your long term chances of success with it, you would be surprised how many people on here want to start with full on humanoids
these are your first early steps in that >how to push code to a microcontroller >how to blink an LED with a microcontroller >how to move a motor >attaching parts to the motor(s) to make a limb >remote control limb movement
realism is a whole other topic that I don't know much about but I would guess there's useful information from the field of prosthetics, not really sure though
reacting to their environment is going to be interesting and more work on the software/AI side of things, what kinds of behaviours do you want them to model? automatic movement in pursuit of a goal is really at the cutting edge at the moment (VC-1 from Meta, the model is available but just know you're in mostly unexplored waters here), behaviours like voice recognition to execute commands are much more feasible with existing models, or behaviours in response to a category of visual stimuli (i.e. if you see a tennis ball, do a movement like a dog ready to fetch might do)
as for industrial, most of these applications actually use pre-existing robotic systems, car assembly for example often has those bright orange KUKA arms, but someone else (KUKA) makes the arms for the car companies, getting a premade arm like that to do a job is caleld 'integrating', but you're right to not put too much weight on what industry is doing right now, that can come later if you find you like this topic
I would like to one day make a Robot Hand flip someone off. That'd be funny. But then, of course, that would require things like ball bearings and god knows what else.
do you want to build robots, or do you want to build projects that incorporate robots?
what I mean by this is, are you interested in constructing a robotic arm, or are you interested in buying a prebuilt robot arm and using it for another project?
your stated uses are extremely broad (hobby and industry, that could be pretty much anything) but I get how it is when you just get started with a topic and it's so wide open you don't even know where to start
Get some LEGO Mindstorms NXT and get the application to code it. Then just "tinker" with the various assemblies and controls you can implement in your NXT Robot, and then (if you're eager enough), start applying NXT pieces and parts to Metal Pieces and Parts. Boom. Instant Robot.
I mean, you can't get anymore basic than that. I even worked with NXTs when I was in High School. I am learning how to code in C# - but honestly - I think I'd rather develop games with it (or even "aimbots") than actually use it to code for Robots (apparently Javascript is used for that).
literally nobody uses javascript for robots
you want PID controls to run fast so you do it in a dedicated language or in C.
Robots are just big PID loops with some GPIOs or PWM servos. Either you're using a PLC or a micro controller. Neither of which will run javascript natively.
I would like to one day make a Robot Hand flip someone off. That'd be funny. But then, of course, that would require things like ball bearings and god knows what else.
A robot hand is literally 5 servos, some fishing line, 8mm bearings and plastic. It's the simplest thing to do therefore the easiest to learn. Buy an arduino and 5 servos. EZPZ
C# to many people is an abomination. The upside however is that you can switch to C++ with little effort.
C# is essentially the python version of C++. It's higher level, got more overhead and just in time compiled. Neither of which are good for microcontrollers because microcontrollers are shit and JIT compilers would take too long to run.
I would recommend you make a windows app in C++ as practice. You will be surprised how much better C++ is than C# especially when dealing with the windows API.
No microcontrollers apart from (to my knowledge) the sitcore range will work with C#. C++ is used to program literally nearly everything due to its speed and low memory overhead. Switch to C++, you will not go back to C# afterwards.
Buy an ESP32, actually buy several ESP32's or get the cheaper ESP8266. You can buy them on aliexpress for £1 each. Get the platformio addon for VS code and learn basic electronics. If you want to physically move something with your robot, using stepper drivers and servos will be your best bet. ESP8266 has dedicated PWM hardware up to 14 bit resolution. Buying a HR4988 stepper drive board as shown here:
https://i.imgur.com/Jp8ieFa.png
[...]
[...]
May God help you all.
First of all, if you're concerned about things spinning at the same rate you should be using BRUSHLESS MOTORS. They're kind of like stepper motors except there's only 6 steps per rotation of the shaft. If you need something more accurate then use steppers.
You can buy a number of excellent stepper drivers, the ones we use of 3d printers are going to be the best in terms of cost.
Here's one: https://www.ebay.co.uk/itm/314778650026
All you do to make it move is set the DIR pin HIGH or LOW depending on the direction; then send a pulse to the STEP pin. To send the pulse, just do this code in arduino: digitalWrite(pin, HIGH); delayMicroseconds(50); digitalWrite(pin, LOW);
it's that easy, just send power to the power pins, set the ENABLE pin low and wire in the motor to the motor pins.
You don't need to worry about blowing anything up because the circuit is protected. Your microcontroller never touches the motor or the motor power. Bonus is the drive board is only 20mm long so your circuit will be tiny.
will allow you to move steppers.
Again, you're dealing with low level hardware stuff in microcontrollers so the dotNET JIT compiler doesn't exist therefore C# doesn't work. Learn C++ or if you hate yourself, RISCV asm.
3 months ago
Anonymous
C# is more like Microsoft's rip off version of Java, Python is God awful trash.
I used to write hft trading machines and I would use Linux based c/cpp for the reasons you state, direct mem access, no vm etc. There's literally no point in using cpp unless it's back end server stuff at this point, and for speed, or what this guy is doing.
I don't see where you get the Python analogy. C# has types and actually compiles, is object oriented, I could go on.
I loathe python. I recommend it to no one and over charge when working with it. If I need something cross platform I usually just rewrite it in Java because the Python code is typically utter garbage, cobbled together with a bunch of asynchronous processes that can't talk to each other.
I want to build a robot too, anon. I hope this thread grows wings.
>How do you build a basic robot?
https://letmegooglethat.com/?q=How+do+you+build+a+basic+robot%3F
Start with the lego robotics kits if you want an easy entry. Then work on programming it. Once that is easy, you can look at making your own from scratch.
i have those wheels
i can never get them to work properly because the motors don't spin at the same rate
i know i should hook up some encoder feedback but that's going to be annoying since the cheap motors don't already come with it
and how do you prevent the micro from getting fried by the back emf i know theres a diode technique to prevent that but it has failed on me twice
when i was at school we had little bots just to experiment with programming basics
two wheels only with a skid on the front
for motor get a hobby servo open it up and replace potentiometer with a set of fixed resistors and you can drive it fw/rev straight from a micrcontroller using the 3rd wire. plenty of instructions online if you google 'continuous rotation servo'
how is that even related you dumbfrick
how is answering the question in the post related to said question?
sorry perhaps you are too moronic to read between the lines
if you have logic level pwm controllable motor as i describe you can simply set the speed in firmware to make wheels travel at the same speed.
make the robot drive forward for set time and then measure distance each wheel travels for various pwn settings. then you can find linear equation relating distance to pwm setting and your wheels will rotate at the same speed.
of course its not as good as closed loop but servo mod is very very simple foolproof way of entry level robot motion.
hows that supposed to work if two wheels are suddenly under more resistance than other two wheels
resstance in the system (e.g. drivetrain) is calibrated out
if an external resistance (hitting a wall) is sufficient to cause the wheel to slip then 'position' is lost
that is the nature of open loop control
op asked for a basic robot, if op wants the robot to be perfect in certain respects then that shoudl have been specified.
Of all the things OP could do, modifying cheap servos for continuous rotation isn’t really a good one. If he wants a pwm controlled geared motor he can buy something better than a modified hobby servo for less.
Also your idea about using integrating the pwm single as dead reckoning sounds smart but is way more work than building a simple encoder and odometry is horribly imprecise anyway unless the robot will be on a perfectly flat and smooth surface forever.
>for less
for example?
encoders dont work unless its on a flat surface either, it only tells you how far the wheel has turned, not how far the robot has moved.
> for example?
25GA-370
> encoders dont work unless its on a flat surface either
I wasn’t talking about wheel slip but varying load on the wheels. You can’t “calibrate out” going uphill when integrating pwm signals to the motor
>25GA-370
lol ok great but thats a motor. now you need to drive it, cant just connect that straight to an mcu.
poster asked specifically about freewheel diodes so has done zero research about it which is what i was tailoring response for.
>and how do you prevent the micro from getting fried by the back emf i know theres a diode technique to prevent that but it has failed on me twice
how do people expect to work on anything inductive without understanding this basic shit
and why tf was your motor connected directly to your micro
it was connected through an h bridge ic i had diodes on the signal line
May God help you all.
First of all, if you're concerned about things spinning at the same rate you should be using BRUSHLESS MOTORS. They're kind of like stepper motors except there's only 6 steps per rotation of the shaft. If you need something more accurate then use steppers.
You can buy a number of excellent stepper drivers, the ones we use of 3d printers are going to be the best in terms of cost.
Here's one: https://www.ebay.co.uk/itm/314778650026
All you do to make it move is set the DIR pin HIGH or LOW depending on the direction; then send a pulse to the STEP pin. To send the pulse, just do this code in arduino: digitalWrite(pin, HIGH); delayMicroseconds(50); digitalWrite(pin, LOW);
it's that easy, just send power to the power pins, set the ENABLE pin low and wire in the motor to the motor pins.
You don't need to worry about blowing anything up because the circuit is protected. Your microcontroller never touches the motor or the motor power. Bonus is the drive board is only 20mm long so your circuit will be tiny.
> First of all, if you're concerned about things spinning at the same rate you should be using BRUSHLESS MOTORS. They're kind of like stepper motors
That’s not even true. Unless you have back EMF detection the feed forward control of brushless motors isn’t accurate enough for positioning. They even put hall effect sensors in brushless battery drills these days because it’s not accurate enough to do feed forward speed control under load. Stepper motors are cool if you want really precise movement without extra sensors but they will be bigger, heavier and definitely more expensive for the same amount of power/torque.
>i know theres a diode technique to prevent that but it has failed on me twice
first of all, check if you placed your diode in the correct orientation. Second, running a motor from a gpio directly is bad, use a transistor to switch the motor on/off. Finally, get rid of multiple motors and use only 1 to run all 2 or 4 wheels, like they do in an actual car. Don't forget the differential if you want your robot to handle properly on turns.
I should redo do this video honestly. But look at it and get this cheap device right here. It's pretty neat
Oh and for the rest of the stuff you'll want an Arduino starter electronics kit.
>I should redo do this video honestly.
nah dude, you fricking nailed it.
Thank you.I don't know why I mentioned the rooted phone bit is all. You can skip that. Anyways not all kits come with the power unit.make sure your kit comes with this.
Just a little tip for ya
On your phone you can download a USB serial app which will allow you to send text commands over USB using a USB to UART converter cable. UART can be recieved on the SERIAL port of the arduino or an ESP32/ESP8266.
All you do is setup the serial port with Serial.Begin(115200) then do a while loop like this: while(Serial.available()){char c = Serial.Read();}
You can then use an unrooted phone to send commands to a robot. You could later create your own android app to send commands down the COM port. I'm not sure if https://appinventor.mit.edu/ will allow you to use the COM ports but it's probably worth a shot.
If you want it to be wireless, use an ESP32. You can host a wifi hotspot and send commands wirelessly with ease.
Make your ’frame’ a sheet of metal that is folded upward on four sides and connect the corners together, it’s the easiest way to get the stiffness you need and lots of mounting opportunities. Make the frame also the 0V to save in wires.
Two independently controlled motors (front left and right) and a caster or two on the rear for precise positioning. Get the DC geared motors from Pololu or similar, they come with an encoder included if needed. Get a motor driver like L298N and get the controller independently, you don’t want an integrated solution yet. You want one where you can just bridge two wires to let the motors spin during the building/prototyping phase, like a L298N. Assuming your motors and battery are 12V you need a cheap 5V buck converter to power the arduino or rpi.
You may also want to add an RF receiver right away so that you can at least use a remote control for ‘teaching’ instead of having to program everything. If you want to use ROS and Kinect for slam mapping or whatever you’ll need something beefier than an arduino but that’s for later, focus first on getting an electrically and mechanically sound platform with replaceable controls and go from there.
To build a robot using BASIC, I recommend using the BASIC Stamp.
The Basic Stamp 2 is the best microcontroller of 1995!
First, get some coding knowledge (c/c++ is recommended). Second, get to know the basics of circuits, resistors, leds, etc. THEN THROW EVERYTHING TO THE FRICKING WINDOW AND READ A FRICKING BOOK ABOUT COOKING AND BECOME THE NEW GORDON TWINK RAMSEY
I made mine out of a cardboard box and a fleshlight
Literally me sans the flashlight
What if i dont like robots
You start getting a PhD. You don't even have to finish, but you're not going to be exposed to enough to even tell left from right in robotics without doing this.
That is, unless you're really good at teaching yourself, in which case you wouldn't be asking this question.
I have read a lot of moronic things on PrepHole over the years but this wins
keklmfao
I finished my projects even before getting bachelors
saw a book on robotics once definitely had weird shit like dof crap and dynamics of movement of points wrt to each other lol don't even remember
the fomalization is definitely a level above simple mechanical, electrical and software stuff
If your robot has arms or legs or other manipulators sure. But of you just use wheels and don’t need very precise positioning (like parking in a tight spot or trajectory planning) then kinematics aren’t that interesting really. You don’t need that much math if you have reliable feedback control.
PhD usually implies you're working on something new like new batteries or new robot muscles. If your PhD was just doing something that already exists I feel bad for you son.
for a basic robot? if this was the typical 'i want to build a bipedal robot servant' thread i would agree (and say even that is probably not enough) but a basic robot can be at the same level as an RC car, simpler depending on how pedantic you want to get about it
REV Robotics and AndyMark are good places to start
when do you need rtos on your project
Almost never. If a subtask needs to be time precise you just put a dedicated controller that can do it super fast
coincidentally I wanted to make a bread about getting started in robotics so I ended up posing it on /wsr/ first and now here
What's your end goal?
Tinkercad-tier projects? Use Tinkercad
You want something that what ROS/ROS2 are needed for?
Get some external SSD for an LTS Ubuntu install and use vscode, docker (for containers for ros/ros2), gazebo, plenty of tutorials
Maybe handle your Ubuntu through btrfs+timeshift or a VM so can reset to a saved system backup if you frick something up
>Tinkercad-tier projects? Use Tinkercad
that's a good start for random stuff considering that I will finally be buying a printer soon, thanks!
>ROS/ROS2
this is certainly one of the languages I heard but forgot, I will look into it. and particular sites for tutorials or just youtube and lots of googling as per usual?
>do you want to build robots, or do you want to build projects that incorporate robots?
this is a good question. in terms of hobby the robots would, quite literally, be robots that would walk/roll around and manipulate stuff with arms while cameras for eyes, mics for ears and enough pattern recognition to act on their own given the environment they are in as if they were real pets.
of course for a start I would make arms that would make multiple simultaneous moves upon clicking single button instead of going full "Imma skin the local stray cat and use it to cover my perfectly locomoted skinwalker robot cat to blend into the neighborhood and spy on people" from the get-go. also when it comes to robotic animals I'm planning on making them realistic, yet talking, replicas rather than "it's good enough" like the Black person barking robot "dog".
as for industrial use I intend to design and make arms/machinery that would do various tasks whether they are stationary (eg. car assembly) or dynamic (rolling around a facility on wheels/treads and doing stuff), so no prebuilt stuff. and of course the industrial part is currently just wishful thinking because I'm certainly a long way of even understanding the basics of robotics and might even just stick to hobbying.
There are also some more web-based hobbyist circuit simulators if you look around, and you can get more intricate stuff like Proteus/Microchip Studio/STM32 IDEs when you'll be ready to dig more
I do recommend to try everything you can on Tinkercad-likes first (and IRL based on that), you'll find it useful and likely will even have to reuse own code and solutions a lot
Don't forget good ol CADs like Fusion360 and AutoCAD and whatever you can get your hands onto at least for a trial, if you're a student then use your student privileges for max trial milking
FreeCAD can be okay only if you use some extensions that are paywalled on proprietary CADs, otherwise it's masochistic torture for projects with multiple bodies that may lag and freeze even on good desktops
For simulators, Webots is ok for any level of expertise, but you'll want to learn Gazebo anyway when you'll be getting into ROS/ROS2 to try out and reverse engineer most tricky projects
>this is certainly one of the languages I heard
It's more of software packages to make basic OS
>and particular sites for tutorials or just youtube and lots of googling as per usual?
The learning materials are really beginner-unfriendly for where it matters, tips like "how to make development not feel like painful execution" are aimed at those who are already experienced and know where to go after that, and, if you're trying to learn on your own, chances are that the most important answers you'll find are from others showcasing how they boot up their completed projects
I can recommend polyhobbyist and articulated robotics YouTube channels, also Allison Thackston's blog (here, it really helps to make own simple project and get it on github through git first, even if it's some basic web app)
There is also theconstructsim where they offer a web-based simulation environment with 3 free self-led courses and possibility to create own projects in the simulated environment or fork others' for any experimentation
There's also the cool and hip NVidia Omniverse for simulations, but it's kinda raw with its fancy Isaac Gym ML features being separate for now and there being less different projects and documentation on either than for Gazebo
gazbo among other things looks promising
>The learning materials are really beginner-unfriendly for where it matters, tips like "how to make development not feel like painful execution" are aimed at those who are already experienced and know where to go after that
fug, imitation it is until my brain figures it out. and Imma give you a smooch as I look forward for moar potential help tomorrow
when it comes to 3D modeling my knowledge is bare bones (in blender)
Know anything similar to AutoCAD for translating manual Drafts into CAD Drafts?
the robot pet idea is cool, very ambitious and not a good starter project which you seem to recognise, this is good for your long term chances of success with it, you would be surprised how many people on here want to start with full on humanoids
these are your first early steps in that
>how to push code to a microcontroller
>how to blink an LED with a microcontroller
>how to move a motor
>attaching parts to the motor(s) to make a limb
>remote control limb movement
realism is a whole other topic that I don't know much about but I would guess there's useful information from the field of prosthetics, not really sure though
reacting to their environment is going to be interesting and more work on the software/AI side of things, what kinds of behaviours do you want them to model? automatic movement in pursuit of a goal is really at the cutting edge at the moment (VC-1 from Meta, the model is available but just know you're in mostly unexplored waters here), behaviours like voice recognition to execute commands are much more feasible with existing models, or behaviours in response to a category of visual stimuli (i.e. if you see a tennis ball, do a movement like a dog ready to fetch might do)
as for industrial, most of these applications actually use pre-existing robotic systems, car assembly for example often has those bright orange KUKA arms, but someone else (KUKA) makes the arms for the car companies, getting a premade arm like that to do a job is caleld 'integrating', but you're right to not put too much weight on what industry is doing right now, that can come later if you find you like this topic
I would like to one day make a Robot Hand flip someone off. That'd be funny. But then, of course, that would require things like ball bearings and god knows what else.
do you want to build robots, or do you want to build projects that incorporate robots?
what I mean by this is, are you interested in constructing a robotic arm, or are you interested in buying a prebuilt robot arm and using it for another project?
your stated uses are extremely broad (hobby and industry, that could be pretty much anything) but I get how it is when you just get started with a topic and it's so wide open you don't even know where to start
Get some LEGO Mindstorms NXT and get the application to code it. Then just "tinker" with the various assemblies and controls you can implement in your NXT Robot, and then (if you're eager enough), start applying NXT pieces and parts to Metal Pieces and Parts. Boom. Instant Robot.
I'd second this if we were on a kids' forum (no offence anon)
I mean, you can't get anymore basic than that. I even worked with NXTs when I was in High School. I am learning how to code in C# - but honestly - I think I'd rather develop games with it (or even "aimbots") than actually use it to code for Robots (apparently Javascript is used for that).
literally nobody uses javascript for robots
you want PID controls to run fast so you do it in a dedicated language or in C.
Robots are just big PID loops with some GPIOs or PWM servos. Either you're using a PLC or a micro controller. Neither of which will run javascript natively.
A robot hand is literally 5 servos, some fishing line, 8mm bearings and plastic. It's the simplest thing to do therefore the easiest to learn. Buy an arduino and 5 servos. EZPZ
What's your thoughts on C#? Since I'm currently pretty familiar with it.
C# to many people is an abomination. The upside however is that you can switch to C++ with little effort.
C# is essentially the python version of C++. It's higher level, got more overhead and just in time compiled. Neither of which are good for microcontrollers because microcontrollers are shit and JIT compilers would take too long to run.
I would recommend you make a windows app in C++ as practice. You will be surprised how much better C++ is than C# especially when dealing with the windows API.
No microcontrollers apart from (to my knowledge) the sitcore range will work with C#. C++ is used to program literally nearly everything due to its speed and low memory overhead. Switch to C++, you will not go back to C# afterwards.
Buy an ESP32, actually buy several ESP32's or get the cheaper ESP8266. You can buy them on aliexpress for £1 each. Get the platformio addon for VS code and learn basic electronics. If you want to physically move something with your robot, using stepper drivers and servos will be your best bet. ESP8266 has dedicated PWM hardware up to 14 bit resolution. Buying a HR4988 stepper drive board as shown here:
will allow you to move steppers.
Again, you're dealing with low level hardware stuff in microcontrollers so the dotNET JIT compiler doesn't exist therefore C# doesn't work. Learn C++ or if you hate yourself, RISCV asm.
C# is more like Microsoft's rip off version of Java, Python is God awful trash.
I used to write hft trading machines and I would use Linux based c/cpp for the reasons you state, direct mem access, no vm etc. There's literally no point in using cpp unless it's back end server stuff at this point, and for speed, or what this guy is doing.
I don't see where you get the Python analogy. C# has types and actually compiles, is object oriented, I could go on.
I loathe python. I recommend it to no one and over charge when working with it. If I need something cross platform I usually just rewrite it in Java because the Python code is typically utter garbage, cobbled together with a bunch of asynchronous processes that can't talk to each other.
>t computer programmer business owner gay.