{"id":15921,"date":"2024-11-18T13:54:27","date_gmt":"2024-11-18T05:54:27","guid":{"rendered":"https:\/\/fwq.ai\/blog\/15921\/"},"modified":"2024-11-18T13:54:27","modified_gmt":"2024-11-18T05:54:27","slug":"%e9%85%8d%e7%bd%aelinux%e7%b3%bb%e7%bb%9f%e4%bb%a5%e6%94%af%e6%8c%81%e6%99%ba%e8%83%bd%e6%9c%ba%e5%99%a8%e4%ba%ba%e5%92%8c%e8%87%aa%e5%8a%a8%e5%8c%96%e8%ae%be%e5%a4%87%e5%bc%80%e5%8f%91","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/15921\/","title":{"rendered":"\u914d\u7f6eLinux\u7cfb\u7edf\u4ee5\u652f\u6301\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1"},"content":{"rendered":"<p>\u914d\u7f6elinux\u7cfb\u7edf\u4ee5\u652f\u6301\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1<\/p>\n<p>\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5728\u73b0\u4ee3\u79d1\u6280\u9886\u57df\u4e2d\u626e\u6f14\u7740\u91cd\u8981\u7684\u89d2\u8272\uff0c\u5b83\u4eec\u80fd\u591f\u5e2e\u52a9\u4eba\u4eec\u5b8c\u6210\u7e41\u91cd\u3001\u5371\u9669\u6216\u91cd\u590d\u7684\u5de5\u4f5c\uff0c\u63d0\u9ad8\u751f\u4ea7\u6548\u7387\u548c\u5de5\u4f5c\u8d28\u91cf\u3002\u800c\u4f5c\u4e3a\u4e00\u4e2a\u5f00\u53d1\u8005\uff0c\u8981\u652f\u6301\u8fd9\u4e9b\u5e94\u7528\u7684\u5f00\u53d1\uff0c\u5c31\u9700\u8981\u914d\u7f6eLinux\u7cfb\u7edf\uff0c\u4ee5\u80fd\u591f\u6b63\u786e\u8fd0\u884c\u548c\u7ba1\u7406\u8fd9\u4e9b\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6elinux\u7cfb\u7edf\u4ee5\u652f\u6301\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\uff0c\u5e76\u9644\u4e0a\u76f8\u5e94\u7684\u4ee3\u7801\u793a\u4f8b\u3002<\/p>\n<p>\u9996\u5148\uff0c\u6211\u4eec\u9700\u8981\u51c6\u5907\u4e00\u53f0\u8fd0\u884cLinux\u64cd\u4f5c\u7cfb\u7edf\u7684\u8ba1\u7b97\u673a\u3002\u63a8\u8350\u9009\u62e9Ubuntu\u6216\u8005ROS\uff08Robot Operating System\uff09\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5b83\u4eec\u90fd\u662f\u5f00\u6e90\u7684\uff0c\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u5f00\u53d1\u5de5\u5177\u548c\u5e93\u3002\u6211\u4eec\u5c06\u4ee5Ubuntu\u4f5c\u4e3a\u4f8b\u5b50\u8fdb\u884c\u914d\u7f6e\u3002<\/p>\n<p>\u7b2c\u4e00\u6b65\uff0c\u5b89\u88c5\u5fc5\u8981\u7684\u8f6f\u4ef6\u5305\u3002\u5728\u7ec8\u7aef\u4e2d\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\uff1a<\/p>\n<pre>sudo apt-get update\nsudo apt-get install build-essential git cmake<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u8fd9\u5c06\u66f4\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u5305\u4fe1\u606f\uff0c\u5e76\u5b89\u88c5\u6784\u5efa\u5de5\u5177\u3001\u7248\u672c\u63a7\u5236\u5de5\u5177\u548cCMake\u7f16\u8bd1\u5de5\u5177\u3002<\/p>\n<p>\u7b2c\u4e8c\u6b65\uff0c\u5b89\u88c5ROS\u3002ROS\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u673a\u5668\u4eba\u64cd\u4f5c\u7cfb\u7edf\uff0c\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u7684\u5e93\u548c\u5de5\u5177\uff0c\u7528\u4e8e\u6784\u5efa\u548c\u7ba1\u7406\u673a\u5668\u4eba\u8f6f\u4ef6\u3002\u5728\u7ec8\u7aef\u4e2d\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\uff1a<\/p>\n<pre>sudo apt-get install ros-melodic-desktop-full<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u8fd9\u5c06\u5b89\u88c5ROS\u7684\u5b8c\u6574\u7248\uff0c\u5e76\u5c06\u5176\u6dfb\u52a0\u5230\u7cfb\u7edf\u8def\u5f84\u4e2d\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u521d\u59cb\u5316ROS\u73af\u5883\uff1a<\/p>\n<pre>source \/opt\/ros\/melodic\/setup.bash\necho \"source \/opt\/ros\/melodic\/setup.bash\" &amp;gt;&amp;gt; ~\/.bashrc<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u7b2c\u4e09\u6b65\uff0c\u5b89\u88c5\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\u6240\u9700\u7684\u989d\u5916\u8f6f\u4ef6\u5305\u548c\u5e93\u3002\u8fd9\u4e9b\u8f6f\u4ef6\u5305\u548c\u5e93\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u7684\u5e94\u7528\u548c\u8bbe\u5907\u8fdb\u884c\u9009\u62e9\u548c\u5b89\u88c5\u3002\u4ee5\u5e38\u89c1\u7684\u673a\u5668\u4eba\u5f00\u53d1\u4e3a\u4f8b\uff0c\u6211\u4eec\u53ef\u4ee5\u5b89\u88c5ROS\u7684\u673a\u5668\u4eba\u63a7\u5236\u76f8\u5173\u8f6f\u4ef6\u5305\uff1a<\/p>\n<pre>sudo apt-get install ros-melodic-ros-control ros-melodic-ros-controllers ros-melodic-moveit<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u8fd9\u5c06\u5b89\u88c5ROS\u7684\u673a\u5668\u4eba\u63a7\u5236\u5e93\u548c\u8fd0\u52a8\u89c4\u5212\u5e93\u3002<\/p>\n<p>\u7b2c\u56db\u6b65\uff0c\u4e0b\u8f7d\u5e76\u7f16\u8bd1\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\u6240\u9700\u7684\u4ee3\u7801\u3002\u5c06\u4ee3\u7801\u4e0b\u8f7d\u5230\u8ba1\u7b97\u673a\u4e0a\u7684\u4e00\u4e2a\u5de5\u4f5c\u76ee\u5f55\u4e2d\uff0c\u4f7f\u7528Git\u8fdb\u884c\u7248\u672c\u63a7\u5236\uff0c\u4f7f\u7528CMake\u8fdb\u884c\u7f16\u8bd1\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a<\/p>\n<pre>mkdir -p ~\/workspace\/src\ncd ~\/workspace\/src\ngit clone https:\/\/github.com\/openai\/gym.git\ncd ..\ncatkin_make<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u8fd9\u5c06\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a&#8221;gym&#8221;\u7684\u5de5\u4f5c\u76ee\u5f55\uff0c\u5e76\u5c06\u4ee3\u7801\u514b\u9686\u5230\u8be5\u76ee\u5f55\u4e2d\u3002\u7136\u540e\u4f7f\u7528CMake\u8fdb\u884c\u7f16\u8bd1\u3002<\/p>\n<p>\u7b2c\u4e94\u6b65\uff0c\u914d\u7f6e\u8bbe\u5907\u8fde\u63a5\u548c\u901a\u4fe1\u3002\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u901a\u5e38\u9700\u8981\u901a\u8fc7\u4e32\u53e3\u3001USB\u3001\u4ee5\u592a\u7f51\u7b49\u65b9\u5f0f\u4e0e\u8ba1\u7b97\u673a\u8fdb\u884c\u8fde\u63a5\u548c\u901a\u4fe1\u3002\u6211\u4eec\u9700\u8981\u76f8\u5e94\u7684\u9a71\u52a8\u7a0b\u5e8f\u548c\u5e93\u6765\u652f\u6301\u8bbe\u5907\u7684\u8bbf\u95ee\u548c\u63a7\u5236\u3002<\/p>\n<p>\u4ee5\u4e32\u53e3\u901a\u4fe1\u4e3a\u4f8b\uff0c\u6211\u4eec\u53ef\u4ee5\u5b89\u88c5\u76f8\u5e94\u7684\u4e32\u53e3\u5e93\uff1a<\/p>\n<pre>sudo apt-get install libserial-dev<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u7136\u540e\uff0c\u4f7f\u7528\u4ee5\u4e0b\u793a\u4f8b\u4ee3\u7801\u6253\u5f00\u5e76\u914d\u7f6e\u4e32\u53e3\uff1a<\/p>\n<pre>#include &lt;serialport.h&gt;\n\n\/\/ \u6253\u5f00\u4e32\u53e3\nSerialPort port(\"\/dev\/ttyUSB0\");\n\n\/\/ \u914d\u7f6e\u4e32\u53e3\u6ce2\u7279\u7387\nport.setBaudrate(115200);\n\n\/\/ \u914d\u7f6e\u4e32\u53e3\u53c2\u6570\nport.setParameters(8, 1, SerialPort::PARITY_NONE, SerialPort::STOPBITS_ONE);&lt;\/serialport.h&gt;<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u8fd9\u5c06\u6253\u5f00\u4e00\u4e2a\u540d\u4e3a&#8221;\/dev\/ttyUSB0&#8243;\u7684\u4e32\u53e3\uff0c\u5e76\u914d\u7f6e\u76f8\u5e94\u7684\u6ce2\u7279\u7387\u3001\u6570\u636e\u4f4d\u3001\u6821\u9a8c\u4f4d\u548c\u505c\u6b62\u4f4d\u3002<\/p>\n<p>\u901a\u8fc7\u4ee5\u4e0a\u7684\u914d\u7f6e\uff0c\u6211\u4eec\u5df2\u7ecf\u542f\u7528\u4e86Linux\u7cfb\u7edf\u4ee5\u652f\u6301\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u7684\u5f00\u53d1\u3002\u5f00\u53d1\u4eba\u5458\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u7684\u5e94\u7528\u9700\u6c42\uff0c\u9009\u62e9\u548c\u5b89\u88c5\u9002\u5f53\u7684\u8f6f\u4ef6\u5305\u548c\u5e93\uff0c\u5e76\u7f16\u5199\u76f8\u5e94\u7684\u4ee3\u7801\u8fdb\u884c\u5f00\u53d1\u3002\u901a\u8fc7\u4f7f\u7528Linux\u7cfb\u7edf\u548c\u76f8\u5173\u5f00\u53d1\u5de5\u5177\uff0c\u6211\u4eec\u80fd\u591f\u5b9e\u73b0\u66f4\u52a0\u9ad8\u6548\u548c\u7075\u6d3b\u7684\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\u3002<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u914d\u7f6eLinux\u7cfb\u7edf\u4ee5\u652f\u6301\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u914d\u7f6elinux\u7cfb\u7edf\u4ee5\u652f\u6301\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1 \u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5728\u73b0\u4ee3\u79d1\u6280\u9886\u57df\u4e2d\u626e\u6f14\u7740\u91cd\u8981\u7684\u89d2\u8272\uff0c\u5b83\u4eec\u80fd\u591f\u5e2e\u52a9\u4eba\u4eec\u5b8c\u6210\u7e41\u91cd\u3001\u5371\u9669\u6216\u91cd\u590d\u7684\u5de5\u4f5c\uff0c\u63d0\u9ad8\u751f\u4ea7\u6548\u7387\u548c\u5de5\u4f5c\u8d28\u91cf\u3002\u800c\u4f5c\u4e3a\u4e00\u4e2a\u5f00\u53d1\u8005\uff0c\u8981\u652f\u6301\u8fd9\u4e9b\u5e94\u7528\u7684\u5f00\u53d1\uff0c\u5c31\u9700\u8981\u914d\u7f6eLinux\u7cfb\u7edf\uff0c\u4ee5\u80fd\u591f\u6b63\u786e\u8fd0\u884c\u548c\u7ba1\u7406\u8fd9\u4e9b\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6elinux\u7cfb\u7edf\u4ee5\u652f\u6301\u667a\u80fd\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\uff0c\u5e76\u9644\u4e0a\u76f8\u5e94\u7684\u4ee3\u7801\u793a\u4f8b\u3002 \u9996\u5148\uff0c\u6211\u4eec\u9700\u8981\u51c6\u5907\u4e00\u53f0\u8fd0\u884cLinux\u64cd\u4f5c\u7cfb\u7edf\u7684\u8ba1\u7b97\u673a\u3002\u63a8\u8350\u9009\u62e9Ubuntu\u6216\u8005ROS\uff08Robot Operating System\uff09\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5b83\u4eec\u90fd\u662f\u5f00\u6e90\u7684\uff0c\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u5f00\u53d1\u5de5\u5177\u548c\u5e93\u3002\u6211\u4eec\u5c06\u4ee5Ubuntu\u4f5c\u4e3a\u4f8b\u5b50\u8fdb\u884c\u914d\u7f6e\u3002 \u7b2c\u4e00\u6b65\uff0c\u5b89\u88c5\u5fc5\u8981\u7684\u8f6f\u4ef6\u5305\u3002\u5728\u7ec8\u7aef\u4e2d\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\uff1a sudo apt-get update sudo apt-get install build-essential git cmake \u767b\u5f55\u540e\u590d\u5236 \u8fd9\u5c06\u66f4\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u5305\u4fe1\u606f\uff0c\u5e76\u5b89\u88c5\u6784\u5efa\u5de5\u5177\u3001\u7248\u672c\u63a7\u5236\u5de5\u5177\u548cCMake\u7f16\u8bd1\u5de5\u5177\u3002 \u7b2c\u4e8c\u6b65\uff0c\u5b89\u88c5ROS\u3002ROS\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u673a\u5668\u4eba\u64cd\u4f5c\u7cfb\u7edf\uff0c\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u7684\u5e93\u548c\u5de5\u5177\uff0c\u7528\u4e8e\u6784\u5efa\u548c\u7ba1\u7406\u673a\u5668\u4eba\u8f6f\u4ef6\u3002\u5728\u7ec8\u7aef\u4e2d\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\uff1a sudo apt-get install ros-melodic-desktop-full \u767b\u5f55\u540e\u590d\u5236 \u8fd9\u5c06\u5b89\u88c5ROS\u7684\u5b8c\u6574\u7248\uff0c\u5e76\u5c06\u5176\u6dfb\u52a0\u5230\u7cfb\u7edf\u8def\u5f84\u4e2d\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u521d\u59cb\u5316ROS\u73af\u5883\uff1a source \/opt\/ros\/melodic\/setup.bash echo &#8220;source \/opt\/ros\/melodic\/setup.bash&#8221; &amp;gt;&amp;gt; ~\/.bashrc \u767b\u5f55\u540e\u590d\u5236 \u7b2c\u4e09\u6b65\uff0c\u5b89\u88c5\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\u6240\u9700\u7684\u989d\u5916\u8f6f\u4ef6\u5305\u548c\u5e93\u3002\u8fd9\u4e9b\u8f6f\u4ef6\u5305\u548c\u5e93\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u7684\u5e94\u7528\u548c\u8bbe\u5907\u8fdb\u884c\u9009\u62e9\u548c\u5b89\u88c5\u3002\u4ee5\u5e38\u89c1\u7684\u673a\u5668\u4eba\u5f00\u53d1\u4e3a\u4f8b\uff0c\u6211\u4eec\u53ef\u4ee5\u5b89\u88c5ROS\u7684\u673a\u5668\u4eba\u63a7\u5236\u76f8\u5173\u8f6f\u4ef6\u5305\uff1a sudo apt-get install ros-melodic-ros-control ros-melodic-ros-controllers ros-melodic-moveit \u767b\u5f55\u540e\u590d\u5236 \u8fd9\u5c06\u5b89\u88c5ROS\u7684\u673a\u5668\u4eba\u63a7\u5236\u5e93\u548c\u8fd0\u52a8\u89c4\u5212\u5e93\u3002 \u7b2c\u56db\u6b65\uff0c\u4e0b\u8f7d\u5e76\u7f16\u8bd1\u673a\u5668\u4eba\u548c\u81ea\u52a8\u5316\u8bbe\u5907\u5f00\u53d1\u6240\u9700\u7684\u4ee3\u7801\u3002\u5c06\u4ee3\u7801\u4e0b\u8f7d\u5230\u8ba1\u7b97\u673a\u4e0a\u7684\u4e00\u4e2a\u5de5\u4f5c\u76ee\u5f55\u4e2d\uff0c\u4f7f\u7528Git\u8fdb\u884c\u7248\u672c\u63a7\u5236\uff0c\u4f7f\u7528CMake\u8fdb\u884c\u7f16\u8bd1\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a mkdir -p ~\/workspace\/src cd ~\/workspace\/src git clone https:\/\/github.com\/openai\/gym.git cd .. catkin_make \u767b\u5f55\u540e\u590d\u5236 \u8fd9\u5c06\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a&#8221;gym&#8221;\u7684\u5de5\u4f5c\u76ee\u5f55\uff0c\u5e76\u5c06\u4ee3\u7801\u514b\u9686\u5230\u8be5\u76ee\u5f55\u4e2d\u3002\u7136\u540e\u4f7f\u7528CMake\u8fdb\u884c\u7f16\u8bd1\u3002 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-15921","post","type-post","status-publish","format-standard","hentry","category-os"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/15921","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=15921"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/15921\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=15921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=15921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=15921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}