Làm cách nào để thiết lập CLion cho ROS?


13

Làm cách nào tôi có thể thiết lập C ++ IDE CLion để hiển thị tài liệu và tự động hoàn thành chính xác khi làm việc với ROS?

Câu trả lời:


11
  1. Bắt đầu CLion từ một dòng lệnh với không gian làm việc ROS có nguồn gốc của bạn (tức là sau khi gọi source devel/setup.bash)
  2. Mở CMakeLists.txt của một dự án và bảo nó mở nó như một dự án chứ không phải là một tệp.
  3. Thế là xong, bạn đã tích hợp không gian làm việc của mình :)

Gỡ lỗi:

  • Gỡ lỗi các tệp được xây dựng (các nút mà bạn chạy qua rosrun) rất dễ dàng, bạn thường chỉ chạy chúng trong IDE
  • Gỡ lỗi các tệp khởi chạy phức tạp hơn, vì IDE không thể khởi chạy được. Bạn có thể khởi chạy tệp khởi chạy từ dòng lệnh, sau đó tìm PID của nút bạn muốn gỡ lỗi và kết nối trình gỡ lỗi IDE với nó ("Chạy -> Đính kèm vào tiến trình cục bộ"). Tất nhiên điều này là khó sử dụng để chụp các lỗi khởi tạo.
  • Các nút gỡ lỗi là tập lệnh shell hoặc tập lệnh trong các ngôn ngữ không được hỗ trợ là không thể.

Có một số bước nữa bạn có thể làm để tăng cường tích hợp:

  • Đặt đường dẫn Tạo CMake trong "Xây dựng, ... -> CMake -> Đường dẫn thế hệ" vào thư mục xây dựng của không gian làm việc của bạn, để bạn chỉ có thể biên dịch một lần trong IDE và có sẵn kết quả trong bảng điều khiển (nếu không, bạn sẽ có hai bản dựng khác nhau, một trong IDE và một trong bảng điều khiển). Thật không may, cho đến khi https://youtrack.jetbrains.com/su/CPP-1887 được sửa, bạn không thể sử dụng bất kỳ biến nào trong đường dẫn tạo mặc định, do đó, việc thiết lập bố cục catkin đòi hỏi một số công việc thủ công.
  • Để tự động nguồn ROS khi khởi chạy CLion, bạn có thể thêm nguồn vào ~/.xsessionrc. Điều này có thể, tuy nhiên, có hậu quả bất ngờ. Nếu bạn không muốn làm điều đó, hãy sử dụng phương pháp sau.
  • Tạo trình khởi chạy máy tính để bàn khởi chạy CLion từ menu hệ thống (Dash, bảng khởi chạy, v.v.) với môi trường chính xác (nếu bạn nhập ROS trong .bashrctệp của bạn ): Tôi đã chỉnh sửa tệp máy tính để bàn ~/.local/share/applications/jetbrains-clion.desktopgiống như sau. Bạn cũng phải đảm bảo rằng tệp không thể ghi được đối với tập lệnh cập nhật / hộp công cụ Jetbrains của bạn, nếu không họ sẽ ghi đè lên nó với mỗi bản cập nhật.

.

[Desktop Entry]
Version=1.0
Type=Application
Name=CLion
Icon=/home/peci1/bin/jetbrains/apps/CLion/.icon.svg
Exec=bash -i -c "/path/to/clion/bin/clion.sh" %f
Comment=A smart cross-platform IDE for C and C++
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-clion
  • Nếu bạn đang sử dụng hộp công cụ Jetbrains để cài đặt CLion (bạn nên IMO), đường dẫn đến thay đổi nhị phân với mỗi bản cập nhật (cho đến khi https://youtrack.jetbrains.com/su/ALL-653 được giải quyết), nhưng bạn có thể sử dụng thủ thuật này để luôn khởi chạy phiên bản cài đặt mới nhất:

    Exec=bash -i -c "$(ls -td /path/to/jetbrains/apps/CLion/ch-0/*/ | head -n1)/bin/clion.sh" %f

  • Cài đặt plugin hỗ trợ Python để có thể viết mã bằng cả C ++ và Python từ IDE đơn.


1
Ngoài ra, với Jetbrains Toolbox khi tự động khởi động, tệp máy tính để bàn có thể được thay đổi để khởi động hộp công cụ bằng bash và do đó khi mở các dự án hoặc CLion thông qua ứng dụng Jetbrains Toolbox, nó cũng sẽ được thiết lập môi trường.
Stefan Fabian

@StefanFabian Ý tưởng tuyệt vời. Bạn có thể vui lòng gửi đường dẫn đến tệp máy tính để bàn của hộp công cụ, được khởi chạy khi khởi động không? Tôi thậm chí còn không biết rằng các tệp trên máy tính để bàn có thể được khởi chạy khi khởi động :)
Martin Pecka

2
Chắc chắn rồi! Tệp máy tính để bàn - nếu tự động khởi động được bật trong cài đặt hộp công cụ - nên được đặt tại ~/.config/autostart/jetbrains-toolbox.desktop. Bạn chỉ cần thay đổi dòng Exec={TOOLBOX-COMMAND}thành Exec=/bin/bash -i -c "{TOOLBOX-COMMAND}". Tuy nhiên, tôi nghĩ rằng ứng dụng hộp công cụ ghi đè lên sự thay đổi này (có lẽ mỗi khi nó bắt đầu). Vì vậy, tôi khuyên bạn nên làm cho tập tin đó bất biến bằng cách sử dụng sudo chattr +i jetbrains-toolbox.desktop.
Stefan Fabian

6

Việc tích hợp CLion với ROS thực sự rất dễ dàng và hoạt động tốt nếu ai đó biết cách thực hiện:

  1. Với bảng điều khiển của bạn, đi vào không gian làm việc ROS của bạn và tìm nguồn setup.bashtệp tương ứng .
  2. Chuyển đến srcthư mục của không gian làm việc của bạn.
  3. Bắt đầu CLion từ bàn điều khiển từ srcthư mục của bạn .
  4. Đóng mọi dự án đang mở trong CLion và chọn Import Project from Sources
  5. Chọn CHỈ các srcthư mục trong không gian làm việc của bạn cho nhập khẩu.
  6. Nếu CLion phàn nàn về việc CMakeList.txtđã tồn tại, chỉ cần nhấp vàoOpen Project
  7. CLion sẽ xây dựng các biểu tượng trong vài phút, sau đó bạn nên sẵn sàng để đi.

Nếu nó vẫn không hoạt động, hãy đảm bảo rằng bạn xóa tất cả .ideacác tệp khỏi không gian làm việc của mình, điều đó có thể đã được tạo trong các lần thử trước khi sử dụng CLion với ROS.


Bạn có thể bao gồm cách chạy các chương trình với các tệp khởi chạy và hỗ trợ gỡ lỗi với clion không?
Eric

Tôi đang sử dụng CLion thực sự chỉ để viết mã. Đối với phần còn lại tôi sử dụng các công cụ dòng lệnh ROS. Tôi không biết liệu bạn có thể định cấu hình CLion để hoạt động với ROS ở khía cạnh này hay không.
Jarno

0

Cài đặt CLion với ROS

là một mô tả hay về Câu trả lời của ROS.

https://answers.ros.org/question/284786/setup-clion-with-ros/


Chào mừng đến với Robotics Max. Cảm ơn câu trả lời của bạn nhưng chúng tôi muốn câu trả lời được khép kín nếu có thể. Liên kết có xu hướng bị thối nên các câu trả lời dựa trên liên kết có thể bị vô dụng nếu nội dung được liên kết biến mất. Nếu bạn thêm nhiều ngữ cảnh từ liên kết, nhiều khả năng mọi người sẽ thấy câu trả lời của bạn hữu ích.
Gian hàng Mark

0

Bạn cũng có thể chạy các tệp roslaunch từ trực tiếp trong CLION như được đề cập ở đây: http://wiki.ros.org/IDEs#CLion tuy nhiên khi tôi khởi động các tệp khởi chạy của mình trong IDE, tôi gặp lỗi sau: roslaunch: error: no such tùy chọn: --master-logger-level

Rõ ràng plugin bắt đầu tập tin khởi chạy thông qua:

/opt/ros/kinetic/bin/roslaunch --master-logger-level=info FOLDERNAME/FILENAME

Tuy nhiên tôi đã không chỉ định tham số này bản thân mình. Có ai biết tại sao nó được giới thiệu?


0

Cách tiếp cận mới và đơn giản nhất:

  1. Cài đặt ROS-Robot Operating Systemplugin trên CLion:

    bạn phải mở Cài đặt (từ menu Tệp); sau đó từ bảng điều khiển bên trái chọn plugin để hiển thị bảng plugin ở phía bên phải và chọn tab thị trường; sau đó tìm kiếm plugin Hệ điều hành ROS-Robot và cài đặt nó.

  2. Nhập ros_workspace của bạn bằng plugin đã cài đặt trong menu Tệp:

    Để nhập một không gian làm việc hiện có, bạn phải sử dụng menu Nhập không gian làm việc ROS, chọn thư mục không gian làm việc. Trong trường hợp này, plugin sẽ tìm kiếm từ các phiên bản ROS được cấu hình và nó sẽ thiết lập dự án để giải quyết sự phụ thuộc của ROS.


Tài liệu tham khảo

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.