FAQ - Tổng hợp hỏi đáp

 

                              TỔNG HỢP HỎI - ĐÁP TRÊN GROUP "HỎI ĐÁP CUỘC ĐUA SỐ 2018-2019" - Vòng sơ khảo

STTCÂU HỎICÂU TRẢ LỜI
1Nhiễu bóng cây trong map mới nhất có mức độ ngang với map chính thức chưa hay là khó hơn?Nhiễu bóng cây trong map mới nhất đã gần như mức khó nhất.
2Các vật cản có bị thay đổi về hình dạng và màu sắc giữa phiên bản test và bản thi chính thức? Cụ thể là những loại nào?
 
Có 3 vật cản không thay đổi so với bản test. Ánh sáng và các yếu tố tự nhiên như cây cối, đường đi… có thể thay đổi
3Cái biển màu trắng ở cuối map là sao và và tới biển đó thì xử lí sao?Đoạn đó là hết đường rồi, 5/5 là kết thúc, cái biển đó từ đoạn rẽ trước
4Đường đi có đảm bảo 2 line trắng ở biên không?Đảm bảo
5Trong phần mềm mô phỏng có setting graphic quality để fastest thì không có bóng cây, để fantasic thì có. Độ đổ bóng và ảnh xử lý khác nhau trong mỗi cái, vậy mình thi thế nào?- Lúc thi sẽ sử dụng mức setting cao nhất
6Trong ROS thì chỉ khởi động ROS websocket là đủ, mà trong chương trình mẫu có khởi động file_sever, rosapi, rqt_graph để làm gì?Có thể tắt 3 cái trên, 2 cái đầu không sử dung, rqt_grap để hiển thị thông tin các node đã kết nối chưa, nối từ đâu đến đâu.
7Có 1 vấn đề khi chạy mô phỏng trên Unity: Khi nhập câu lệnh roslaunch lane_detect lane_detect.launch thì Terminal chạy 1 đoạn code và dừng lại, lúc đó bật phần mềm mô phỏng lên và kết nối với tên team là Team1, ip: ws://127.0.0.1:9090 rồi chọn Connnect thì bên Terminal hiện ra đoạn lỗi. Vậy fix lỗi này như thế nào?Cài lên opencv3.4.3
8Trong chế độ Manual lái bằng tay ở map có biển báo thì làm thế nào để lấy được frame hình cũng như speed - steerAngle tại thời điểm đó?Subcribe theo topic như lái tự động được.
9Nếu sử dụng rosparam để truyền đường dẫn file hdf5 sau khi train để nhận diện biển báo và rosparam này khởi tạo trong file launch của package. Vậy lúc nộp package lên thì BTC sẽ chỉ chạy rosnode thôi hay cho phép chạy file launch?Gửi đính kèm 1 file readme cho BTC.
10Khi bắt đầu thả xe tại điểm bắt đầu, xe thẳng góc ngay giữa đường hay không? hay góc xéo so với lane?Xe sẽ song song vs đường
11Khi mới bắt đầu có lane giữa luôn hay sẽ random lúc có lúc không?Random, tùy đề có hoặc không có lane ở giữa.
12Có thể mod thêm map để chạy demo được không? Hiện tại ít map quá chưa tối ưu được code.Số lượng map hiện tại đã đủ để các đội có thể test vì vậy sẽ không có thêm map test nữa.
13Nhóm đang lập trình Python để điều khiển và xử lý chính và C/C++ phụ, vậy BTC cho phép điều khiển bằng Python không và có giới hạn gì không?Được phép dùng python không giới hạn.
 
14Trong ROS có thể publish steer = -180, khiến xe hãm gần như ngay lập tức, nó hơi phi thực tế và... BTC có cho phép điều khiển vậy ko?Không đc phép truyền ngoài khoang (-50, 50)
15BTC nên đưa thêm một topic là tốc độ hiện tại của xe (tốc độ xem từ đồng hồ đo tốc độ) để đội thi có thể đưa ra các phương án điều khiển phù hợp (tăng tốc, phanh gấp). Trên thực tế tài xế cũng sử dụng đồng hồ đo tốc độ để điều khiển xe.
Nên có 1 topic chính thống để điều khiển phanh xe. Hiện tại có đội thì phanh gấp bằng cách truyển steer = -180, có cách phanh gấp bằng sử dụng speed < 0. Tuy nhiên 2 cách này vẫn chưa tốt vì steer bị giới hạn (-50, 50 ?) và nếu truyền speed < 0 thì cần có thêm topic tốc độ để biết xe đã giảm tốc còn bao nhiêu, và đến khi nào bị đi ngược lại.
Trên thực tế bạn đang truyền tốc độ con xe là 50 muốn giảm xuống 30 thì chỉ cần truyền 30, BTC đã tối ưu giúp các bạn ở phần này rồi, việc phanh chỉ là trong trường hợp khẩn cấp thì xe sẽ phanh về 0. Không cần thiết phải truyền tốc độ âm để giảm tốc.
16Chạy ở tốc độ > 60km/h thì đến gần chỗ rẽ không giảm tốc kịp. Đã truyền cả tốc độ < 0 cũng không thể kịp nữa.Truyền tốc độ 0 rồi truyền tốc độ dương, chỉ có truyền 0 mới làm xe dừng ngay được.
17Truyền 0 thấy gia tốc hãm cũng không lớn hơn bình thườngĐó là giới hạn của hệ thống phanh trên unity rồi, đi tốc độ cao sẽ xảy ra điều đó





 
18BTC viết kiểu khác để dừng xe lại xem sao chứ như này không chạy nhanh được. Có bạn truyền steer = -180 sẽ dừng được luôn nhưng góc lái giới hạn 50 độ nên chưa dám dùng cái đó trong code.Việc chạy xe thật cũng có quán tính, và xe mô phỏng cũng phải vậy, tốc độ cao đồng nghĩa là quan tính lớn, đây là cuộc đua lái xe tức là bạn phải đảm bảo đủ yếu tố trong đó có cả an toàn, đâu phải cứ nhanh nhất là thắng, đội nào ổn định nhất là đội chiến thắng. Còn steer sẽ chỉ giới hạn đến 50 độ thôi, muốn phanh gấp vẫn chỉ có cách truyền speed = 0.
19Lúc thi BTC sẽ chạy server rồi các nhóm sẽ chạy code trên máy tính của nhóm và kết nối lên server của btc hay sao?Gửi code để BTC chạy trên máy BTC
20Code bằng python và có sử dụng 1 số viện hổ trợ. Vậy BTC có đảm bảo đủ thư viện cho code nhóm không?BTC cho phép gửi Code để test trước 2-3 ngày. Có thể báo BTC để cài đặt.
21Đang dùng bản 18.04 64bit, key đã imported và đang cài opencv thì may treo nên khởi động lại. Bây giờ key này không change được.Không change thì phải bắt đầu update rồi install các package. Cái này không phải lỗi.
22Cài lại ROS trên Ubuntu 18.04.1 theo hướng dẫn nhưng tới bước cài rosbridge server thì bị lỗi này.
Có cách khắc phục không?
Thử gỡ toàn bộ package của ROS ra: sudo apt purge ros-melodic-* rồi sau đó thực hiện cài lại.
23Sao thêm 1 node để subscriber giá trị tốc độ nhưng nó chỉ hoạt động trong chế độ "Manual" thôi chứ không hoạt động trong chế độ "connect"? Khi ở chế độ "connect" thì hàm "speedCallBack" không được gọi đến. Khi manual thì nó getspeed được, còn chạy bằng code thì không? Có /getSpeed rồi làm sao nữa ?Rostopic list. Manual không có getSpeed, điều khiển bằng tay không cần lấy speed, chỉ lấy được ảnh thôi. Hoat động được trong chế độ manual là hoàn toàn vô lý, vì trong app không pub tốc độ ở chế độ này
24Sử dụng học máy để giải thuật, cân có hardware gpu và 1 số dependencies. Máy của BTC có đáp ứng được không?
(gpu nvidia 2gb vram)
Máy BTC gpu 1070ti cpu i7 8700k , 32gb ram, sẽ đáp ứng được
25Trong thể lệ có thấy là đi không đúng làn đường là sẽ reset,
vậy làn đường là đường 2 làn hay đường 1 làn, sẽ đi bên trái hay
đi bên phải, thi kiểu nào cũng không thấy reset, vậy đi thế nào
cũng được miễn là không bị reset đúng không (đi ra ngoài lane)?
Chỉ cần xe trong đường là được (chạy giả lập không bị reset
thì là không sao)
26Ở vòng 3, kỹ năng lập trình nhanh: vậy đề lập trình trên C/C++ đúng ko?
Nếu trên C/C++ thì sẽ chuẩn bị gì để làm tốt, nhóm viết chủ yếu trên python?
Code bằng gì cũng được miễn làm đúng yêu cầu của đề bài.
27Gặp phải lỗi Attempt to unlock mutex that was not locked Aborted (core dumped). Cách khắc phục lỗi này như thế nào?Có thể thử xóa workspace xong tạo lại.
28Tiêu chí đánh giá vòng sơ khảo của BTC là như thế nào ạ? Nếu 1 team chỉ sử dụng xử lý ảnh cơ bản, thành tích tốt nhưng code chỉ chạy được trong môi trường mô phỏng (có detect sign, lane, obstacle). Còn 1 team code deep learning chạy mô phỏng không tốt bằng nhưng chạy được trên xe thực tế thì BTC đánh giá team nào tốt hơn ạ?- Kết quả được tính theo thành tích và độ am hiểu thuật toán của các bạn, sẽ có vòng bạn trình bày cho ban giám khảo thấy thuật toán mình sử dụng. Có thể thành tích thấp hơn nhưng bạn làm chủ được thuật toán thì điểm vẫn cao hơn. Vòng chạy thuật toán sẽ chiếm 40% tổng điểm và đội nào có xe chạy nhanh nhất sẽ được điểm cao nhất. Vòng thứ 2 là phản biện với BGK sẽ quyết định 30% tổng điểm (Vòng này năm ngoái giám khảo hỏi rất sát và nhiều đội dù kết quả xử lý ảnh không tốt bằng nhưng lại trả lời tốt hơn). Vòng lập trình nhanh chiếm 30%. Như thế khả năng của các bạn vẫn quyết định chiến thắng rất nhiều, còn thực tế trong thi cử luôn có 1 sự rủi ro nhất định khi mình có thể là thể hiện kém hơn đội khác 1 chút.
29Máy đang cài unbuntu 18.04, opencv 3.4.2, gặp sự cố ko mở đc file test. x86_64. Giải nén file ros nhưng không có thư mục Unity. Vào link tải unity Không Biển Báo rồi past vào src để có file unity rồi chạy chương trình lại báo là Không Hỗ Trợ. Vậy có bước nào đang bị sai không?Nhấn chuột phải vào file test.x86_64, sang Permissions rồi chọn Allow executing this file as a program. Phân quyền và mở bằng terminal ./test.x86_64
30Ở vòng thi phản biện, các nhóm thuyết trình bằng powerpoint hay chiếu trực tiếp code?Vòng thi phản biện sẽ chiếu phần mô phỏng + chiếu code để giám khảo có thể đánh giá được tốt nhất.
31Lúc thi mình sẽ điều khiển ở laptop mình hay upload code cho BTC chạy?Lúc thi sẽ upload code lên máy của BTC để chạy.
32Trong thể lệ "30 phút để tối ưu" là sau khi mình biết đề thi mô phỏng và test trên nó rồi tối ưu trong 30 phút đúng không?30 phút tối ưu tức là có 30 phút chạy thử thuật toán và tối ưu với đề thi thật.
Tổng thời gian làm bài trong vòng 1 là 30 phút.
33Sau khi vòng trường kết thúc, BTC có public code
của phần mềm giả lập unity không?
BTC sẽ không public code của phần mềm giải lập unity.
Bạn có thể tham khảo tại:
https://github.com/siemens/ros-sharp?fbclid=IwAR35kXOHaImmazerwv5csufDL7YLNxBXyljZ2DPUn9Vg5IyyKu_9aLRyRNY


 Ngoài ra, mọi câu hỏi thắc mắc của các bạn sinh viên được tổng hợp và giải đáp chi tiết tại: ĐÂY