Author Topic: Programm language for robotic  (Read 2792 times)

0 Members and 1 Guest are viewing this topic.

Offline Irukandji

  • Contributor
  • Posts: 23
  • Country: de
Programm language for robotic
« on: July 19, 2019, 12:15:12 pm »
Hi guys,
i want to learn a programming language. Which language i must learn for programming robots or autonomous cars? Can i learn robotic language with an Arduino?

best regards
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 6508
  • Country: us
    • Personal site
Re: Programm language for robotic
« Reply #1 on: July 19, 2019, 06:14:07 pm »
C/C++/Python. Arduino - depends on the depth you want to go. You definitely can't do anything close to modern understanding of an "autonomous car", but you can do basic robotics stuff.
Alex
 

Offline techman-001

  • Frequent Contributor
  • **
  • Posts: 650
  • Country: au
  • Electronics technician for the last 47 years
Re: Programm language for robotic
« Reply #2 on: July 19, 2019, 10:22:37 pm »
Hi guys,
i want to learn a programming language. Which language i must learn for programming robots or autonomous cars? Can i learn robotic language with an Arduino?

best regards

Forth of course, Arduino is for artists who want a quickly built light display for their ice sculpture etc.

With Forth you can leverage the inbuilt programmer machine interactivity using Words like  " 30 forward", 100 left" for robots,  plus Forth is big in Germany, see the German Forth Org  https://forth-ev.de/

Autonomous cars ? Join Google or Tesla or a university as this isn't a hobby area and would be controlled by all kinds of safety and government regulations.

Offline TK

  • Super Contributor
  • ***
  • Posts: 1506
  • Country: us
  • I am a Systems Analyst who plays with Electronics
Re: Programm language for robotic
« Reply #3 on: July 19, 2019, 11:53:05 pm »
For simple robots, probably Arduino is the best option.  For autonomous driving robots: python because of the extensive deep learning frameworks available for python.
 

Offline Irukandji

  • Contributor
  • Posts: 23
  • Country: de
Re: Programm language for robotic
« Reply #4 on: July 20, 2019, 08:59:14 am »
Thanks so much for your help. If i understand it right, it would be helpful to understand python and c or c++ programming language. Plus Forth i never hear that before thanks.
 

Offline techman-001

  • Frequent Contributor
  • **
  • Posts: 650
  • Country: au
  • Electronics technician for the last 47 years
Re: Programm language for robotic
« Reply #5 on: July 20, 2019, 09:11:38 am »
Thanks so much for your help. If i understand it right, it would be helpful to understand python and c or c++ programming language. Plus Forth i never hear that before thanks.

Eight Forth powered MCU's were on the Philae Lander robot that accompanied the Rosetta spacecraft until it separated to land on comet 67P/Churyumov–Gerasimenko, in
12 November 2014.

Online Doctorandus_P

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: nl
Re: Programm language for robotic
« Reply #6 on: July 22, 2019, 10:15:09 am »
A programming language is just a programming language.

"arduino" is not a programming language.

That said. The language itself is not a very important factor.
Probably a lot more important are the tools and libraries available in the language you want to use, and if that language fits with your personality.

[Python rant]
For example, there are a bunch of reasons I quite dislike Python, such as the complete dependence on whitespace, the lack of strong typing and variable declaration (A single typo will just create a new variable instead of generate a syntax error, and may go unnoticed untill that line of code is actually executed, which easily creates hard to find bugs Yuck). But I am still interested in Python because it seems to become the defacto standard language for scripting stuff (KiCad, FreeCAD, Sigrok, etc).
[/Python rant]

Your choice may also depend on what sort of "robot" you want to build. From small carts such as line following carts or "micro mouse" to the autonomous vehicles that are tle latest craze in the last few years. Or are you more interested in "industral type" robot arms?

Search the web a bit for projects similar to your interest, and look at the available documentation / libraries / etc.
You can also do some searches on sites such as github and gitlab. There is a lot of code over there, and such sites are not well indexed by regular search engines.
Hackaday also has a quite extensive overview of all kind of robotic related projects:
https://hackaday.com/?s=robot

Last but not least, have a look at Robot Operating System (ROS)
http://www.ros.org/
https://rosindustrial.org/





 
The following users thanked this post: petert

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 9730
  • Country: my
  • reassessing directives...
Re: Programm language for robotic
« Reply #7 on: July 22, 2019, 10:51:02 am »
always C/C++.... i can command the robot to goto(x,y) with my dead reckon and sensories library, i can do deep learning with proper library downloaded from the net and installed, i can show my face old 50 years from now, if i know the algorithm... if you want a working robot while you wiggle your foot on the chair (aka very little work), just buy a ready made robot.
It's extremely difficult to start life.. one features of nature.. physical laws are mathematical theory of great beauty... You may wonder Why? our knowledge shows that nature is so constructed. We simply have to accept it. One could describe the situation by saying that... (Paul Dirac)
 

Offline raptor1956

  • Frequent Contributor
  • **
  • Posts: 809
  • Country: us
Re: Programm language for robotic
« Reply #8 on: July 30, 2019, 01:39:09 am »
Most commercial robots from companies like Fanuc or Kuka have there own programming environment allowing the user to program in a Basic like way using a teach pendant and robot specific operators/commands.  Interfacing to them is a different issue with the various flavors of C being dominant. 


Brian
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2827
  • Country: us
Re: Programm language for robotic
« Reply #9 on: July 30, 2019, 02:38:58 am »
Hi guys,
i want to learn a programming language. Which language i must learn for programming robots or autonomous cars? Can i learn robotic language with an Arduino?

best regards

re: "...autonomous cars..."

First, Arduino is not a language.  Second, I don't think Arduino will ever be a good answer for "autonomous cars".  Arduino is a specific implementation of a MCU (computer) to do experimentation and education.  It is a simple implementation of hardware (MCU) and software working together.  I can for example do some simple input (sensors), make some decision, and do some hardware effect (such as showing the sensor value or turning on a light).  The hardware capabilities is very limited even with the "bigger better" Arduino boards.  The space to store program is also very limited.

The Arduino implementation choose C++ as the language it used to program the MCU.  "Autonomous cars" will need far more hardware and far more software capabilities than what is available in the Arduino environment.
 

Offline kenshi

  • Contributor
  • Posts: 11
  • Country: us
Re: Programm language for robotic
« Reply #10 on: August 05, 2019, 12:39:58 pm »
Industrial robots have their own languages, and they're pretty easy in my experience. I play with ABB robots, which use RAPID. It's an interpreted procedural language that mostly uses move and I/O commands, so if you know one or two computer programming languages, you can pick up on the basics like syntax extremely quickly and just read the manual on instructions, functions, and data types for the details.

For instance, a function that makes a single weld on a part might be something like this:

PROC Weld_Side_A

Set roInFixtureA;
Move WeldA1, v2000, z200, tMIG_TORCH;
Move WeldA2, v300, z50, tMIG_TORCH;
ArcLStart w101_start, v50, fine, wd101, sd101, tMIG_TORCH;
ArcLEnd w101_end, v200, fine, wd101, sd101, tMIG_TORCH;
Move WeldA2, v50, z50, tMIG_TORCH;
Move WeldA1, v300, z50, tMIG_TORCH;
Reset roInFixtureA;
PulseDO \PLength:=1.0,roWeldAComplete;
MoveJAbs pHome, v2000, fine, tMIG_TORCH;

END PROC

Pretty simple. It starts off telling the PLC that it's in fixture A so it doesn't try to open the clamps or anything. Then there are some move commands which have as parameters a position, speed, flyby zone, and the tool being used. The flyby zone gives a radius around a point in which it can curve to change trajectory for the next point. Fine means it has to go to that exact point. There are ArcLStart and ArcLEnd instructions to start and end a straight line MIG weld, respectively. They have the same parameters as the Move commands but add welddata and seamdata which contain weld parameters. The flyby zone is fine so the weld starts and stops in a predictable position. Then you let the PLC know the robot is no longer in the fixture and that it completed the weld by pulsing that output on for one second. Finally the robot goes home. (You use MoveJAbs for that because the home position uses a data type for the position that has the angles for each joint of the robot instead of the intended location and angle of the tool.

Anyway, that's a pretty simple weld procedure to give you an idea. I think learning pretty much any computer language will make learning something like RAPID a piece of cake.
 
The following users thanked this post: petert

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 7326
  • Country: us
Re: Programm language for robotic
« Reply #11 on: September 05, 2019, 06:09:25 pm »
If you're starting from nowhere, you might as well start with the Arduino platform using the C language.  The Arduinno libraries are indeed written in C++ but most of the user code I have seen is written in C.  When somebody wants to propose a language, see how many operating system kernels are written in the language.  Then look at Real Time Operating Systems (RTOSs) and see which languages are used.  Python won't show up, neither will Fortran.  I would be amazed if C++ showed up.  Fast code is written in C.  It started with Unix and it is still true today.

There are thousands of Arduino projects on the Internet.  Everything that can be done, has been done.  It's all out there!

Later on, after mastering the Arduino, you can transition to the underlying avr-libc libraries and write code directly for the ATmega328P.  You can get as detailed as you want and the chip is pretty amazing for what it is.  There are larger variants of the ATmega chip family and all are supported by avr-gcc (the compiler/linker) and avr-libc (the C library).

You will be working at the lowest level of automation, sensors and actuators.  You won't be doing high level stuff like curing world hunger.  These, and similar, processors are intended to control.  Don't be surprised when you find out there are more than 100 such processors in the modern automobile.  Divide and conquer!  It's cheaper to build 100 small systems than it is to incorporate all the logic into a single processor, even if it is orders of magnitude more capable.

Eventually, you will migrate to one of the ARM processors.  Maybe the Teensy 4.0 which is a blazing fast (600 MHz) ARM processor with gobs of memory (like 2 MB of flash memory for code and 1 MB of RAM).  Why would you gravitate to this platform?  Well, there's a plug-in for the Arduino toolchain and the TeensyDuino provides all the Arduino library functions rewritten for the ARM.  User code can be written that runs on both the ATmega and the Teensy platform, unchanged.  Not all code, of course,  particularly not low level code, but a lot of the standard functions (A/D, PWM, Serial) all work.

Or you could skip the ATmega328P experience and move straight to the Teensy.  It is essentially pin compatible (compare to Arduino Nano), it is source code compatible (for the most part) and it has a LOT more memory and a much brighter future.  It's $20.

https://www.pjrc.com/store/teensy40.html

I have 3 of these.  I used to have 4 but my dog thought the prototype board would make an excellent chew toy!

I like the 'stamp' format that is compatible with prototype boards.  The more I think about it, the more convinced I become that skipping the ATmega328P and going for the Teensy 4.0 is the right way to go.  Cheap, fast and lots of memory!
« Last Edit: September 05, 2019, 06:21:16 pm by rstofer »
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 5344
  • Country: fr
Re: Programm language for robotic
« Reply #12 on: September 09, 2019, 04:08:53 pm »
The Arduinno libraries are indeed written in C++ but most of the user code I have seen is written in C.

Yup. Well, the Arduino "framework" uses a very small subset of C++ from what I've seen, mainly to make use of namespaces (which C definitely lacks) and basic class stuff.

Or you could skip the ATmega328P experience and move straight to the Teensy.  It is essentially pin compatible (compare to Arduino Nano), it is source code compatible (for the most part) and it has a LOT more memory and a much brighter future.  It's $20.

I personally never recommend using the Arduino platform ( ;D ), but if you want to, I definitely agree with you there. Many MCUs are now supported by Arduino. At least pick some that are reasonably powerful and modern.
 
The following users thanked this post: krayvonk

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Programm language for robotic
« Reply #13 on: September 09, 2019, 07:15:00 pm »
A couple of kits by NVIDIA for machine vision and machine learning are based on a C++ SDK and C++ frameworks.


 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 2664
  • Country: fi
Re: Programm language for robotic
« Reply #14 on: September 30, 2019, 01:47:05 pm »
Yes, by all means start by playing around with Arduino, a motor control shield and a few simple motors.

It gets you going in a fairly simple manner, and you start learning about the very basic concepts. The start needs to be fun, and artistic is not a bad choice.

Then you can slowly move on to professional stuff, almost always written in C or C++ for software, VHDL or Verilog for hardware.
 
The following users thanked this post: petert

Offline jackthomson41

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
Re: Programm language for robotic
« Reply #15 on: October 10, 2019, 03:55:16 pm »
Yeah for robotics and particularly automation, Arduino is best to learn. You can find a lot of tutorials online teaching from basics to pro.

When I was learning Arduino, I have used Proteus Simulation software and have simulated Arduino in it, that way I didn't have to waste time on hardware assembling and have learnt Arduino coding quickly. So I would suggest you to do the same, download Arduino Library for Proteus and simulate it.
 
The following users thanked this post: krayvonk

Offline krayvonk

  • Regular Contributor
  • *
  • !
  • Posts: 144
  • Country: au
Re: Programm language for robotic
« Reply #16 on: October 10, 2019, 11:31:21 pm »
You need a portable computer to stick in a robots head,   you cant just get your desktop and add legs to it... hang on maybe you can but it would be pretty heavy. and it would probably crash the slightest bump.  :palm:
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 7326
  • Country: us
Re: Programm language for robotic
« Reply #17 on: October 17, 2019, 04:43:21 pm »
You need a portable computer to stick in a robots head,   you cant just get your desktop and add legs to it... hang on maybe you can but it would be pretty heavy. and it would probably crash the slightest bump.  :palm:

Some of the larger wheeled robots do indeed use a laptop and some of them are using the on-board camera for machine vision.  There will be lower level uCs doing the grunt work of driving motors and capturing sensor data.  I would expect all of the low level code to be written in C and it's pretty clear that Linux is written in C.  OTOH, vision libraries may very well be written in Python.  OpenCV supports a Python interface but it also supports C++ and Java.  For this type of thing, I would want to use C++ for the speed.  Interpreted languages, like Java and Python might slow down the process.  Or not...   Try them and see!

Start with C, branch out to other languages as required.  C++ is fairly easy to learn after C.
 

Offline petert

  • Regular Contributor
  • *
  • Posts: 141
  • Country: de
Re: Programm language for robotic
« Reply #18 on: March 19, 2020, 10:42:30 am »
I am surprised nobody suggested V-REP, an open source robot simulator.

It's especially useful if you want to make an autonomous car, because it allows you to collect training data, by recording vision sensor frames. It also has car models and allows you to design/decorate the environment.

The hardest part is training a reliable neural net.

If you want to do it in real hardware, I definitely would start with a robotics kits and Arduino. It's easy to program servos/motors there, and the rest can be controlled in any language you wish, either remotely, or on the robot itself.

Donkey Car has become somewhat of a standard for the more ambitious hobbyist.
 

Offline petert

  • Regular Contributor
  • *
  • Posts: 141
  • Country: de
Re: Programm language for robotic
« Reply #19 on: March 19, 2020, 10:46:45 am »
You need a portable computer to stick in a robots head,   you cant just get your desktop and add legs to it... hang on maybe you can but it would be pretty heavy. and it would probably crash the slightest bump.  :palm:
That's what single board computers are for. Before that the small ITX boards were useful, too.

There is a large variety today, from Raspberry Pi 4 to Nvidia Jetson Nano (good for deep learning).

So yes, you could work on a desktop initially, for training or making the control code, then transfer it to a SBC.
Controlling hardware, such as wheels, is still best done with a microcontroller, rather than trying to fight an OS or trying to use a real time one.
« Last Edit: March 19, 2020, 10:53:03 am by petert »
 

Offline petert

  • Regular Contributor
  • *
  • Posts: 141
  • Country: de
Re: Programm language for robotic
« Reply #20 on: March 19, 2020, 10:56:21 am »
Second, I don't think Arduino will ever be a good answer for "autonomous cars".  Arduino is a specific implementation of a MCU (computer) to do experimentation and education.
It's quite popular actually, for this purpose. You can control a toy car rather easily with Arduino, so it's fun. Then if you want vision based control, you can solve that with a SBC, that in turn controls the Arduino / delegates direct motor control to the Arduino.

There is no reason to start with overly complex or overly optimized systems. If there are abstractions and higher level platforms, use them.

"Autonomous cars" will need far more hardware and far more software capabilities than what is available in the Arduino environment.
How so? Most autonomous car projects from the well-known companies use a laptop and interface with the car using its CAN-bus (or similar interface). Add in a microcontroller and you are set. But you won't be allowed to do that anyways, so you can as well learn with toy cars. All you need is a camera, a SBC to process the image or other sensors, and a microcontroller to control the steering/motors.
« Last Edit: March 19, 2020, 11:01:51 am by petert »
 

Offline MarkMLl

  • Regular Contributor
  • *
  • Posts: 95
  • Country: gb
Re: Programm language for robotic
« Reply #21 on: March 21, 2020, 01:29:20 pm »
Can i learn robotic language with an Arduino?

For some very constrained interpretation of the word "robotic".

I'm sorry, but I date back to an era when "the white heat of technology" was going to provide us with intelligent and dextrous mechanical assistants in home, office and factory. But instead its greatest contribution to industrial productivity has been the invention of the vibrator.

MarkMLl
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: us
  • Formerly SiFive, Samsung R&D
Re: Programm language for robotic
« Reply #22 on: March 21, 2020, 01:57:00 pm »
[
"Autonomous cars" will need far more hardware and far more software capabilities than what is available in the Arduino environment.
How so? Most autonomous car projects from the well-known companies use a laptop and interface with the car using its CAN-bus (or similar interface).

I think you'd find that while you might see a laptop, it's being used only to monitor what is going on, not to do the heavy work pf analyzing sensor data from cameras, LIDAR etc.

There has been a bit documented about Tesla's current "HW3" full self-driving computer that has been going into their cars since mid 2019. There was a presentation on it at "Hot Chips" in August.

https://www.anandtech.com/show/14766/hot-chips-31-live-blogs-tesla-solution-for-full-self-driving

It has a ML accelerator with an array of 96x96 MAC units, 12x A72 CPUs, 1x GPU
 

Offline petert

  • Regular Contributor
  • *
  • Posts: 141
  • Country: de
Re: Programm language for robotic
« Reply #23 on: March 21, 2020, 11:25:35 pm »
I think you'd find that while you might see a laptop, it's being used only to monitor what is going on, not to do the heavy work pf analyzing sensor data from cameras, LIDAR etc.
I have worked on robots in Uni, and that's what the laptops were used for: data processing (SLAM, LIDAR etc.), but also data visualization, and monitoring.

Quote
It has a ML accelerator with an array of 96x96 MAC units, 12x A72 CPUs, 1x GPU
Certainly, you could use accelerators, but you can get started without all that processing power.
There is no reason to discourage people from getting into this, by making them believe you cannot do without all of that hardware. Actually, most accelerators did not exist when research started.

An Arduino, a NVIDIA Jetson Nano, and (optionally a laptop) is perfectly fine for first steps. Research institutes use the more powerful Jetson platforms for actual products.
« Last Edit: March 21, 2020, 11:32:23 pm by petert »
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: us
  • Formerly SiFive, Samsung R&D
Re: Programm language for robotic
« Reply #24 on: March 22, 2020, 12:56:59 am »
I think you'd find that while you might see a laptop, it's being used only to monitor what is going on, not to do the heavy work pf analyzing sensor data from cameras, LIDAR etc.
I have worked on robots in Uni, and that's what the laptops were used for: data processing (SLAM, LIDAR etc.), but also data visualization, and monitoring.

Quote
It has a ML accelerator with an array of 96x96 MAC units, 12x A72 CPUs, 1x GPU
Certainly, you could use accelerators, but you can get started without all that processing power.
There is no reason to discourage people from getting into this, by making them believe you cannot do without all of that hardware. Actually, most accelerators did not exist when research started.

An Arduino, a NVIDIA Jetson Nano, and (optionally a laptop) is perfectly fine for first steps. Research institutes use the more powerful Jetson platforms for actual products.

Playing around at home or at uni is very different from your "Most autonomous car projects from the well-known companies", assuming that by "well-known companies" you meant Tesla, Mercedes, Google etc rather than SparkFun.
 

Offline petert

  • Regular Contributor
  • *
  • Posts: 141
  • Country: de
Re: Programm language for robotic
« Reply #25 on: March 27, 2020, 06:35:58 am »
The OP wanted to get into it, and asked this:
Quote
i want to learn a programming language. Which language i must learn for programming robots or autonomous cars? Can i learn robotic language with an Arduino?

Playing around at home or at uni is very different from your "Most autonomous car projects from the well-known companies", assuming that by "well-known companies" you meant Tesla, Mercedes, Google etc rather than SparkFun.
What you say just discourages for no reason, given the phrasing of the OPs question.

What you call "playing around in uni" is the research that is the precursor for what we have today. Optimizing and refining are another question (though obviously, there is still a *lot* to do, even in professional systems, today).

Unis who collaborate with the "big" companies do actually use what I mentioned previously. The algorithms are the same, the approaches, too. Actually MIT has an online course which does just that, and collaborates with Tesla. Mercedes collaborates with unis as well, and they do exactly that.
Other unis collaborate with emergency services. Then there is the DARPA challenge.

All of them do/did train and test with laptops/PCs originally, look it up. Over time they added accelerators, but it was not how it started. I know, because I participated (embedded AI accelerators are still new -- today NVIDIA is one of the largest players in the automotive market). A lot of training happens on PCs using simulations. But as mentioned already, you can have accelerators in small form factors today, such as the Jetson. The processing power suffices.

My point being: you can perfectly get started without needing a real car. It's how most "real" companies did it, too. A lot of research even focuses just on the collected training data (and simulations). Calling that playing around is just unwarranted arrogance.
« Last Edit: March 27, 2020, 07:28:00 am by petert »
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: us
  • Formerly SiFive, Samsung R&D
Re: Programm language for robotic
« Reply #26 on: March 31, 2020, 01:42:01 am »
No, I'm not discouraging anyone from doing anything, and *especially* not from playing around with cheap hardware. Most of what I do myself is that kind of playing around -- no arrogance involved, it's a great way to learn.

What I am doing is disagreeing with your assertion that laptops, K210 boards or even the Jetson are what serious autonomous driving companies such as Tesla are using.
 

Offline petert

  • Regular Contributor
  • *
  • Posts: 141
  • Country: de
Re: Programm language for robotic
« Reply #27 on: April 02, 2020, 03:56:51 pm »
I think we agree on what matters most, then. I don't think the rest is worth debating, just that I saw how things developed over time as several projects started, before they got more professional. I am not making it up, and I am not playing, either. *shrugs*

Anyways, peace.

Edit, have some links:
https://www.nvidia.com/en-us/self-driving-cars/partners/mercedes/
and more generally:
https://www.nvidia.com/en-us/self-driving-cars/partners/

https://en.wikipedia.org/wiki/Nvidia_Drive

This also shows that Jetson is meant as en entry product for development:
https://developer.nvidia.com/drive/faq

Then there are these links:
https://developer.nvidia.com/embedded/community/jetson-projects
https://developer.nvidia.com/embedded/diy-ai-race

The hardware shares a lot in common, the software can be used on various platforms, the major difference are performance and connectivity options. When you look at the timeline of the product development (of the hardware accelerators), they are quite new. Software development for autonomous driving however is not that recent. Even GPU computing in professional contexts is relatively new. I.e., there was no other option but using normal computers and laptops (and embedded controllers for sensors). I would consider that serious work (and development).

That's just what a quick search could find, a lot of projects have no public website.
Tesla decided to get as much in house as possible, this is not what most manufacturers do, and not how Tesla started either.

https://electrek.co/2017/08/09/tesla-autopilot-2-5-hardware-computer-autonomous-driving/
Quote
Tesla’s current onboard computer in HW 2.0 Model S and Model X vehicles is based on Nvidia’s Drive PX2 platform for autonomous driving
« Last Edit: April 03, 2020, 07:20:05 pm by petert »
 

Offline eugenenine

  • Frequent Contributor
  • **
  • Posts: 825
  • Country: us
Re: Programm language for robotic
« Reply #28 on: April 02, 2020, 07:24:15 pm »
Don't get stuck on one language, there are many to choose from and all have advantages and disadvantages depending on the use.

In college I started with Pic microcontrollers and programmed them with assembly (Parallax's 8051 like at the time) and designed a complex robot where it had a network of tiny PIC micontrollers which could more parts and read sensors and perform 'reflex' actions quickly which communicating with another central processor (68k at the time) running a higher level language.  So I was planning for at least two languages just for one robot.
 

Offline norn

  • Newbie
  • Posts: 2
  • Country: au
Re: Programm language for robotic
« Reply #29 on: May 20, 2020, 04:01:06 pm »
My 2 cents would be to learn C++/Python and start playing around with ROS. One of the great things about ROS is you can start programming robots without any robotic hardware at all! Gazebo is a simulator that connects really well with ROS to let you simulate many robots that most of us could never dream of affording. You can "program" the robot in C++ or Python.

To get real, fundamental knowledge about how robots work, I would recommend building a 2 wheeled differential drive robot from scratch. You will lean a lot from this process. Try getting it to drive in a straight line! Not as easy as it might sound.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf