Lập trình cho robot bằng ngôn ngữ nào?

Em muốn học Java để lập trình cho robot nhưng nghe nhiều người nói nên học C/C++ thì tốt hơn , mạnh hơn nhưng bản thân em thấy Java thì dễ học hơn . Em đang phân vân không biết chọn cái nào ?

1 Like

Chọn ngôn ngữ nào không quan trọng vì trước sau gì bạn học xong 1 ngôn ngữ thì bạn sẽ tiếp thu rất nhanh những ngôn ngữ khác vì chúng tương tự nhau về cú pháp

3 Likes

Họ nói đúng rồi.
Chọn ngôn ngữ hay công cụ nào phụ thuộc vào công việc nó yêu cầu chứ không phải do nó dễ hay có/không có OOP. Có thể Java dễ nhưng nó không dành cho robot.

Nếu bộ điều khiển là vi điều khiển thì đa phần đều là C.
Vi xử lý (ví dụ Raspberry Pi) thì có thể có nhiều ngồn ngữ khác C,C++,Python, Java…
Robot chuyên dụng hoặc bộ điều khiển chuyên dụng (PLC…) thì nó có ngôn ngữ riêng của nó.

8 Likes

anh ơi em đang tìm hiểu về ngành , anh có thể chia sẻ giúp em học khoa học máy tính hay cntt có thể lập trình robot ạ

Nên học KHMT vì KMHT sâu hơn và thiên về nghiên cứu hơn bạn nhé. Nhưng mình khuyến nghị bạn nên xem xét du học lấy Master nếu thật sự nghiêm túc về Robotics, vì VN làm quái gì có công ty nào THẬT SỰ làm về Robots đâu.

4 Likes

Chia sẻ khoá học thì dễ òm: Robotics MicroMasters Program.

Nhưng mình phải CẢNH BÁO trước rằng đây là MỘT PHẦN của CHƯƠNG TRÌNH MASTER COMPUTER SCIENCE của University of Pennsylvania(Ivy League Pennsylvania), và có lẽ còn là PHẦN KHÓ NHẤT. Bạn đọc kỹ Prerequisites của từng khoá học trong MicroMasters Program này sẽ biết. Nó yêu cầu kiến thức TOÁN cực kỳ nặng(Tầm Master trở lên: Lưu ý là MASTER của IVY LEAGUE PENN).

Học hết 4 khoá trong MicroMasters Program này thì bạn có thể tìm khoá học về ROS để học cách ứng dụng và lập trình Robots. Nhưng mình nói thẳng là nếu bạn đang sống ở Việt Nam thì bạn có thể QUÊN Robot đi, vì giả sử bạn CỰC KỲ SIÊU VỀ TOÁN đi chăng nữa thì học xong cũng làm quái gì có công ty nào ở Việt Nam THẬT SỰ đủ trình độ sản xuất Robot.

Nếu bạn ở các quốc gia tiên tiến thuộc thế giới thứ nhất thì mình khuyên nên lấy bằng Master của 1 trường TOP về Công nghệ(Technology) của quốc gia đó rồi mới bắt đầu làm được việc thật sự về Robot…

To Viet_Tran12: Với cái trình độ cỡ: chọn học Java vì cho rằng nó “dễ” hơn C++ thì bạn nên quên Robot đi. Vì câu hỏi này chứng tỏ bạn CHẲNG BIẾT MỘT TÍ GÌ VỀ CÔNG NGHỆ CẢ. Và so với việc học Lập trình ROBOT thì học Java hay C++ chỉ là RÁC RƯỞI, LÀ TRÒ TRẺ CON KHÔNG ĐÁNG 1 XU. LẬP TRÌNH ROBOT là mảng KHÓ BẬC NHẤT trong giới công nghệ và Robot hiện đại, có khả năng THƯƠNG MẠI HOÁ thì CỰC KỲ PHỨC TẠP; mình nhắc lại là bạn cầu TỐI THIỂU BẰNG MASTER CỦA 1 TRƯỜNG HÀNG TOP VỀ CÔNG NGHỆ CỦA THẾ GIỚI(cỡ MIT, Stanford hay Ivy League, …). Nếu bạn không tin thì cứ thứ học khoá đầu tiên Robotics: Kinematics and Mathematical Foundations của Robotics MicroMasters Program đi thì biết. Cứ để bạn tự nhận ra năng lực của mình thì tốt hơn…

5 Likes

em xin cảm ơn lời khuyên của anh ạ
em đang tìm hiểu về ngành mà mình định hướng thi và theo học , anh có thể giới thiệu cho em một vài ngành thú vị về công nghệ được không ạ . em thấy làm lập trình rồi code lặp đi lặp lại chút ạ
nếu đó là câu hỏi ngu anh cứ chửi thẳng ạ :slight_smile: và em có thể xin info fb của anh để em foloww không ạ

2 Likes

Sở trường của mình là Computer Vísion và Natural Language Processing(2 mảng trong Artificial Intelligence).

Roadmap for Natural Language Processing tại ĐÂY

Nếu bạn chọn Computer Vision(ứng dụng rất nhiều, đặc biệt là Object Detection) thì sau khi học xong Deep Learning Specialization của Andrew Ng xong thì tập trung vào các giải thuật Object Detection(vì mình đang làm về phần này) như YOLO, SSD hay Fast R-CNN. Về Framework thì chủ yếu là Tensorflow, Keras, Pytorch, …

Nếu bạn muốn học làm Web thì đi hỏi thằng Tôi đi code dạo ấy. Mình mù tịt mảng này…

1 Like

anh ơi trước đây anh học ngành gì và trường nào ạ
nhưng chia sẻ của anh rất bổ ích ạ

hiện tại em cũng chưa xác định rõ được mình thích và sẽ thi ngành nào cả ạ
anh có thể chia sẻ rõ về các ngành CNTT KHMT KTMT không ạ

Google trước khi đặt câu hỏi nhé: VÀI LỜI KHUYÊN VÀ ĐỊNH HƯỚNG CHỌN TRƯỜNG CHO CÁC BẠN TRẺ

Không biết ý kiến này của bạn xuất phát từ đâu, nhưng đối với tôi việc master C++ khó hơn bất cứ môn Toán nào mà tôi có thể học, nó là cả một quá trình, chẳng qua là chúng ta sử dụng nó thường xuyên hơn mà thôi.

4 Likes

Bên robot giờ có 2 hướng:

Một là phát triển ngay từ đầu, bạn tự mua thiết bị, tự lắp ráp.

Hai là mua robot đã được phát triển sẵn, bên cung cấp robot đưa API cho khách hàng tuỳ chỉnh, nhưng thường sẽ nhờ một công ty phần mềm sử dụng API (OneTech là một trong các công ty đang triển khai dịch vụ này).

Cách thứ hai phổ biến hơn. Nhà cung cấp robot cho API trên ngôn ngữ gì thì học ngôn ngữ đó để làm thôi.

5 Likes

đối với tôi việc master C++ khó hơn bất cứ môn Toán nào mà tôi có thể học

Vậy mình đã hiểu trình độ TOÁN CÓ THỂ HỌC của bạn THẤP đến mức nào…

Lập trình Robot vốn dĩ đã bao gồm việc Master C++, và thêm rất nhiều kiến thức ở các lĩnh vực khác: Toán, Vật lý, Trí tuệ nhân tạo, …

Mình lấy một ví dụ đơn giản cho bạn dễ hình dung: Trong Big Bang Theory, người duy nhất trong nhóm lập trình được Robot là Howard Wolowitz, còn nhà vật lý thiên tài Sheldon Cooper thì chỉ làm được mỗi một việc là… thay pin cho con Robot.

Ví dụ về Kỹ thuật một chút: lập trình Robot bao gồm Object Detection(Nhận diện vật thể), sử dụng một số giải thuật như YOLO. Và bài Research Paper của YOLO v1 algorithm thì phức tạp đến mức Andrew Ng lần đầu đọc còn không hiểu hết, phải đi hỏi ý kiến các Senior Researcher khác …

Cụ thể chút nhé: Giả sử bạn có đủ tiền và muốn làm một cánh tay Robot có thể làm một số tác vụ: đưa bạn một quả chuổi, một cái khăn tay hay không cốc nước, nhận lệnh bằng giọng nói, như “Give me a banana”. Bạn sẽ sử dụng Object Detection để nhận diện quả chuối và các vật khác, sử dụng Natural Language Processing để Robot hiểu câu lệnh của bạn, và sử dụng các kỹ năng về lập trình Robot để thiết kế một cánh tay Robot có thể gắp được quả chuổi và đưa cho bạn(tự lột vỏ nhé, muốn Robot lột vỏ giùm bạn thì… vô cùng phức tạp). Và cả Object Detection lẫn Natural Language Processing đểu rất phức tạp rồi, nói chi đến thiết kế cánh tay Robot nhận lệnh con người. Giờ thì cảm nhận được độ khó của việc làm Robot rồi chứ …?

PS: mình không nói học C++ dễ; ý của mình RÕ RÀNG là: Lập trình robot vô cùng khó, và so với việc lập trình Robot thì lập trình C++ chỉ là trò trẻ con. Không hiểu bạn có vấn đề về đọc hiểu Tiếng Việt hay không?

5 Likes

Mình đang nói về Hướng thứ nhất: Tự làm Robot từ đầu đến cuối. Sài đồ ăn sẵn thì nói làm gì…
Vì thế mình nói làm Robot khó. Còn một số thanh niên lập trình còn không biết mà đòi đi làm Robot thì…

Tôi không có hứng thú với việc cãi nhau cái nào khó hơn với bạn. Bạn cho rằng cái bạn làm là khó, rồi bạn cho rằng C++ là “trò trẻ con”, lại còn “không đáng một xu”. Xin lỗi nhưng tôi chưa từng thấy một ai nói ra được câu này cả.
Tôi cũng chẳng muốn so sánh việc master C++ với việc lấy cái bằng Master, PhD Toán xem cái nào khó hơn.
Ừ thì cái “Toán có thể học” của tôi thấp, cái Toán có thể học của tôi là những cái Toán liên quan và hỗ trợ cho nghề nghiệp của mình mà thôi. Hình học xạ ảnh thì tôi còn đọc, chứ Tô-pô thì không.
Thế cái “Toán khó” của bạn là gì, mấy cái dạng Puzzle càng khó càng tốt như cái hồi học Toán sơ cấp ấy hả, xin lỗi tôi không còn hứng thú với mấy cái đó. Puzzle thì không riêng gì Toán, nhiều món khác cũng có puzzle. Hay ý bạn là đi nghiên cứu rồi lấy cái bằng Master, PhD?

Cái gì cũng có cái khó của nó thôi. Bạn cho rằng làm lập trình Robot là khó, là phức tạp, còn mấy cái khác là dễ, thế bạn đã bao giờ thử tự viết một 3D Game Engine?
Mà thôi kệ đi dù sao C++ đối với bạn cũng là trò trẻ con. Bye!

10 Likes

Mình là dân Công nghệ và mình hiểu C++ khó đến mức nào. Bạn không hiểu tiếng mẹ đẻ à? Đọc cho kỹ lại đi.

mình không nói học C++ dễ; ý của mình RÕ RÀNG là: Lập trình robot vô cùng khó, và so với việc lập trình Robot thì lập trình C++ chỉ là trò trẻ con. Không hiểu bạn có vấn đề về đọc hiểu Tiếng Việt hay không?
Lập trình Robot vốn dĩ đã bao gồm việc Master C++, và thêm rất nhiều kiến thức ở các lĩnh vực khác: Toán, Vật lý, Trí tuệ nhân tạo, …

PS: Các comment phía trên của mình giải thích rất rõ ràng về độ khó của việc làm Robot. Một lần nữa: Yêu cầu bạn đọc cho KỸ comment của mình!

Thời đại mới rồi, mọi thứ đều khó cả, vậy nên các thư viện, các phần mềm ra đời cung cấp các API cho developer.
Người giỏi không phải người biết làm tất cả mọi thứ, giỏi là biết kết hợp mọi thứ lại với nhau.

  • nhận diện vật thể so sánh việc tạo mới với sử dụng nền tảng có sẵn thì chắc chọn cách 2 thôi
4 Likes

Một môn khó/dễ hay không đều tùy vào mỗi người. Nếu như họ muốn làm Robot và làm không được thì đó cũng là quyền của họ. Bạn Trí ở đây chỉ cần nói vài câu + lời khuyên thôi là được. Có cần phải lớn tiếng về độ khó của nó làm gì? Rồi còn lôi Master tới PhD vô, in hoa một đống chữ, và còn chê Programming là rác vs Robotics nữa. Mấy cái thứ đó bạn bỏ vô post của bạn để chứng minh gì vậy?

Bạn có học giỏi hay là thiên tài gì nữa thì cũng đừng nên làm những thứ như vậy. Không những gây ác cảm cho người khác, mà còn có thể đuổi đi những người muốn học lãnh vực đó nữa. Cái chuyện khó hay không là chuyện của họ, họ đi theo được thì đi, không được thì họ sẽ bỏ qua học cái khác, simple as that.

14 Likes

Bạn đọc kỹ giùm mình: Robotics vốn đã bao gồm lập trình C++ rồi, cộng thêm rất nhiều thứ phức tạp khác nữa. Vì vậy mình nói lập trình C++ chỉ là trẻ con so với lập trình Robot là sự thật. Và mình là dân Công nghệ nên mình dư hiểu độ khó của C++. Mình có nói lập trình là dễ bao giờ đâu.

Sự thật vẫn là sự thật: Bạn thích nghe nhưng lời bóng bẩy, còn mình chỉ nói sự thật. Và cũng vì Robot quá phức tạp nên chỉ có các Đại cường về Công nghệ mới làm Robot nổi.

Đây là Topic tư vấn về cách học lập trình Robot. Mình nói thật là nếu bạn nào hứng thú với Robot và muốn làm Robot thì nên lấy tối thiểu bằng Master của các trường hàng Top về Technology. Đơn giản vậy thôi chứ không ai đem mấy cái Master hay PhD ra hù với doạ ai làm gì.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?