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

0 Members and 1 Guest are viewing this topic.

Offline petert

  • Regular Contributor
  • *
  • Posts: 178
  • 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: 4003
  • Country: nz
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: 178
  • 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: 865
  • 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.
 
The following users thanked this post: Vtile

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.
 

Offline rpiloverbd

  • Regular Contributor
  • *
  • Posts: 157
  • Country: bd
Re: Programm language for robotic
« Reply #30 on: December 01, 2021, 09:33:56 am »
The question is very old but I am still answering. Newcomers may find it helpful. I think it's always better to start with basic C. Then move to microcontroller programming like programming AVR or PIC microcontrollers in C. Then start Arduino and the list goes on----
 

Offline Vtile

  • Super Contributor
  • ***
  • Posts: 1144
  • Country: fi
  • Ingineer
Re: Programm language for robotic
« Reply #31 on: January 16, 2022, 11:10:20 am »
Arduino ecosystem is way to go for learning (and seriuous "non production" projects). I wish there would have been such when I was learning the ropes (or even interpret basics consoles etc. which now are again found after some 10..20 year hibernation).

In my opinion you need to differentiate two different layers of systems. The layer where many tote the C-language family, that is the control electronics hardware layer, where all the heap and other memory wanking "REAL programming" happens, in this layer your system knowledge focus is inward to uCUs and chips or computer internals. Second layer is the operational layer of system where your focus is outwards, how the environment and process you need to operate will behave. Your system knowledge is therefore not in the control device hardware (not only), but on instrumentation, logic, chemistry, physics etc. in this level you do not want to be heap wanking the memory etc. real programmers do that, but have full freedom (timely) to design and implement the contol of external things without the need to invest a huge amount to babysit the controller system itself. This dualism is not separation between Ie. object orientation vs procedural language, but general focus and abstraction of tasks.

Mentioned Forth is harder to start with and is niche language for certain fields (some exposure to it might not be a bad thing as it is so different), ie. in space exploration due to its nature of on-fly (re-)programmability as hybrid compiled & interpreted RTOS&program model, it was (is?) also used in some firmware layers.

All that said, I wish there would have been Arduino available, when I did ask same type of questions.

Tl:dr There is no such thing as "real programmers", closest to that do get computer scientist, but internet knows that those usually are wrong and are not true real programmers.
« Last Edit: January 16, 2022, 11:52:13 am by Vtile »
 

Offline rpiloverbd

  • Regular Contributor
  • *
  • Posts: 157
  • Country: bd
Re: Programm language for robotic
« Reply #32 on: February 01, 2022, 12:46:51 pm »
You can easily do it with Arduino.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf