{"id":15025388,"url":"https://github.com/droidaitech/ros-academy-for-beginners","last_synced_at":"2025-10-06T18:32:16.426Z","repository":{"id":41176412,"uuid":"113030784","full_name":"DroidAITech/ROS-Academy-for-Beginners","owner":"DroidAITech","description":"中国大学MOOC《机器人操作系统入门》课程代码示例 ","archived":false,"fork":true,"pushed_at":"2022-01-28T19:06:51.000Z","size":185408,"stargazers_count":2304,"open_issues_count":98,"forks_count":779,"subscribers_count":82,"default_branch":"master","last_synced_at":"2024-10-28T01:12:50.434Z","etag":null,"topics":["iscas","mooc","robot","robotics","ros"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"sychaichangkun/ROS-Academy-for-Beginners","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DroidAITech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-04T10:49:10.000Z","updated_at":"2024-10-25T16:30:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/DroidAITech/ROS-Academy-for-Beginners","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DroidAITech%2FROS-Academy-for-Beginners","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DroidAITech%2FROS-Academy-for-Beginners/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DroidAITech%2FROS-Academy-for-Beginners/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DroidAITech%2FROS-Academy-for-Beginners/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DroidAITech","download_url":"https://codeload.github.com/DroidAITech/ROS-Academy-for-Beginners/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235542253,"owners_count":19006820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["iscas","mooc","robot","robotics","ros"],"created_at":"2024-09-24T20:02:15.650Z","updated_at":"2025-10-06T18:32:08.035Z","avatar_url":"https://github.com/DroidAITech.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003ccenter\u003e《机器人操作系统入门》课程代码示例\u003c/center\u003e\n\n---\n\n## 前言\n欢迎来到中国大学MOOC---[**《机器人操作系统入门》**](https://www.icourse163.org/)课程，本ROS软件包是课程的代码示例，课程中使用的例子均出自本代码包。除了代码包，课程还提供[讲义](https://sychaichangkun.gitbooks.io/ros-tutorial-icourse163/content/)，欢迎各位朋友下载、学习和分享。\n\n本示例包含了XBot机器人和中科院软件博物馆仿真、ROS通信示例程序、导航与SLAM功能演示，在每个软件包下都有相应的功能介绍。\n\n![Gazebo仿真效果](./robot_sim_demo.gif)\n\n如果你遇到任何问题，可以在Github上方的issues栏目中提问，我们课程团队会耐心回答。本示例将**长期维护**，**不断更新**，如果你认可我们的工作，请点击右上角的**star**按钮，您的鼓励是我们的动力。\n\n\n---\n## 示例介绍\n本仓库为ROS入门教程的代码示例，包括以下ROS软件包:\n\n| 软件包 | 内容 |\n| :--- | :----: |\n| **robot_sim_demo** | 机器人仿真程序，大部分示例会用到这个软件包 |\n| **topic_demo** | topic通信，自定义msg，包括C++和python两个版本实现 |\n| **service_demo** | service通信，自定义srv，分别以C++和python两种语言实现 |\n| **action_demo** | action通信，自定义action，C++和python两种语言实现 |\n| **param_demo** | param操作，分别以C++和python两种语言实现 |\n| **msgs_demo** | 演示msg、srv、action文件的格式规范 |\n| **tf_demo** | tf相关API操作演示，tf示例包括C++和python两个版本 |\n| **name_demo** | 演示全局命名空间和局部命名空间下参数的提取 |\n| **tf_follower** | 制作mybot机器人 实现mybot跟随xbot的功能 |\n| **urdf_demo** |  创建机器人urdf模型，在RViz中显示  |\n| **navigation_sim_demo** | 导航演示工具包，包括AMCL, Odometry Navigation等演示 |\n| **slam_sim_demo** | 同步定位与建图演示，包括Gmapping, Karto, Hector等SLAM演示 |\n| **robot_orbslam2_demo** | ORB_SLAM2的演示 |\n| **ros_academy_for_beginners** | Metapacakge示例，依赖了本仓库所有的pacakge |\n\n\n---\n\n## 下载和编译\n\n1. 克隆或下载ROS-Academy-for-Beginners教学包到工作空间的`/src`目录下，例如 `~/catkin_ws/src`\n```sh\n$ cd ~/catkin_ws/src\n$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git\n```\n\n2. 安装教学包所需的依赖\n```sh\n$ cd ~/catkin_ws\n$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y\n```\n\n3. 编译并刷新环境\n```sh\n$ catkin_make\n$ source ~/catkin_ws/devel/setup.bash\n```\n\n4. 运行示例\n\n---\n## 运行须知\n\n1. 建议在**本地Ubuntu 16.04**下运行仿真程序。目前Gazebo模拟器的**兼容性**是一大问题，在虚拟机或配置较低的电脑上可能无法运行。**如果你的显卡是N卡，建议安装Ubuntu下的显卡驱动**。\n\n2. 运行Gazebo仿真程序`robot_sim_demo`前，请将Gazebo升级到7.x版本以上（**推荐7.9版本**）。\n\n  查看Gazebo版本方法\n  ```sh\n  $ gazebo -v   #确认7.0以上，推荐7.9\n  ```\n\n  升级方法\n\n  ```sh\n  $ sudo sh -c 'echo \"deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main\" \u003e /etc/apt/sources.list.d/gazebo-stable.list'\n  $ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -\n  $ sudo apt-get update\n  $ sudo apt-get install gazebo7\n  ```\n\n3. 确保所有依赖都已安装，如`gazebo_ros`, `gmapping`, `slam_karto`, `amcl`。\n\n\n\n---\n## Copyright\n\n![Logo](./joint_logo.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroidaitech%2Fros-academy-for-beginners","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdroidaitech%2Fros-academy-for-beginners","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroidaitech%2Fros-academy-for-beginners/lists"}