All Projects → HuangCongQing → ROS

HuangCongQing / ROS

Licence: MIT License
ROS机器人操作系统 学习(写于2020年夏)

Programming Languages

CMake
9771 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ROS

Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1739.22%)
Mutual labels:  ros, slam, ros2
wpr simulation
No description or website provided.
Stars: ✭ 24 (-76.47%)
Mutual labels:  ros, slam
my ROS mobile robot
Differential drive mobile robot using ROS.
Stars: ✭ 123 (+20.59%)
Mutual labels:  ros, rviz
aztarna
aztarna, a footprinting tool for robots.
Stars: ✭ 85 (-16.67%)
Mutual labels:  ros, ros2
trac ik
ROS 2 port of `trac_ik`, an alternative Inverse Kinematics solver to the popular inverse Jacobian methods in KDL.
Stars: ✭ 14 (-86.27%)
Mutual labels:  ros, ros2
drl grasping
Deep Reinforcement Learning for Robotic Grasping from Octrees
Stars: ✭ 160 (+56.86%)
Mutual labels:  ros, ros2
aws-robomaker-robotics-curriculum
Introductory robotics curriculum
Stars: ✭ 78 (-23.53%)
Mutual labels:  ros, ros2
zed-ros2-wrapper
ROS 2 wrapper beta for the ZED SDK
Stars: ✭ 61 (-40.2%)
Mutual labels:  slam, ros2
scout ros
This repository ROS package is suit for scout 2 and scout mini
Stars: ✭ 30 (-70.59%)
Mutual labels:  ros, ros2
ros-gst-bridge
a bidirectional ros to gstreamer bridge and utilities for dynamic pipelines
Stars: ✭ 46 (-54.9%)
Mutual labels:  ros, ros2
ROS-GPS
GPS Localization with ROS, OSM and rviz
Stars: ✭ 19 (-81.37%)
Mutual labels:  ros, rviz
mycobot ros
A ros package for myCobot.
Stars: ✭ 76 (-25.49%)
Mutual labels:  ros, rviz
microstrain inertial
ROS driver for all of MicroStrain's current G and C series products. To learn more visit
Stars: ✭ 44 (-56.86%)
Mutual labels:  ros, slam
roskinectic src
This ROS kinectic workspace src folder, which was created on Ubuntu 16.04. Here I worked on ROS1 projects like 2d & 3D SLAM, Motion Planning, SWARM of drone, RL based drone, Surveilling Robot etc.
Stars: ✭ 44 (-56.86%)
Mutual labels:  ros, slam
isaac ros apriltag
CUDA-accelerated Apriltag detection
Stars: ✭ 42 (-58.82%)
Mutual labels:  ros, ros2
rclex
Rclex: ROS 2 Client Library for Elixir
Stars: ✭ 77 (-24.51%)
Mutual labels:  ros, ros2
linorobot2
Autonomous mobile robots (2WD, 4WD, Mecanum Drive)
Stars: ✭ 97 (-4.9%)
Mutual labels:  ros, ros2
the-Cooper-Mapper
An open source autonomous driving research platform for Active SLAM & Multisensor Data Fusion
Stars: ✭ 38 (-62.75%)
Mutual labels:  ros, slam
KRS
The Kria Robotics Stack (KRS) is a ROS 2 superset for industry, an integrated set of robot libraries and utilities to accelerate the development, maintenance and commercialization of industrial-grade robotic solutions while using adaptive computing.
Stars: ✭ 26 (-74.51%)
Mutual labels:  ros, ros2
NuttX
Official micro-ROS RTOS
Stars: ✭ 63 (-38.24%)
Mutual labels:  ros, ros2

ROS

机器人操作系统@双愚

编译和运行

// 1 设置工作空间
cd catkin_wp/src
catkin_init_workspace

// 编译(需要回到工作空间catkin_wp)
cd ..
catkin_make  // 产生build和devel文件夹(类似cmake)
catkin_make install // 就会有install文件夹

//设置环境变量(个人是zsh)
source devel/setup.zsh  // 不同shell,不同哦.bash  .zsh

通过设置gedit ~/.zshrc,不用每次都source
gedit ~/.zshrc   或者  gedit ~/.bashrc
source ~/.zshrc  或者 source ~/.bashrc
//2 创建功能包(src文件夹下)
//创建包 catkin_create_pkg 包名 依赖1 依赖2 
cd src
catkin_create_pkg test_pkg std_msgs roscpp rospy

// 编译功能包(回到目录catkin_ws)
catkin_make
// 设置环境变量(能让系统找到我们的工作空间和功能包) 此命令只在当前终端生效
source devel/setup.bash

通过设置gedit ~/.zshrc,不用每次都source
gedit ~/.zshrc
source ~/.zshrc

// 运行
roscore //启动ROS master
rosrun turtlesim(功能包名) turtlesim_node(节点名) //rosrun启动节点,该节点归属于功能包,这个节点就是小海龟仿真器
rosrun turtlesim turtle_teleop_key

ROS介绍

作者:Morgan 其博士生导师:吴恩达!

别人已经造好轮子,集成起来,提高软件复用率。 (有的组织擅长建模,OR导航 OR物理识别,ROS就可以把这些组织都连接起来,帮助他们建立一种相互合作的的高效的方式,在已有成果做更多东西。)

ROS2:一开始只是学术界,后面成为机器人领域的普遍标准,很多设计上的局限性和问题暴露出来,所以需要改良到工业界。

  1. 节点 节点管理器(婚介所)
  2. 话题&服务

两种通信机制:话题和服务

  • 话题:
    • 发布订阅模型
    • 异步通信机制(单向)
    • 话题数据:消息
  • 服务:
    • 客户端服务端模型
    • 同步通信机制(双向)

1 古月 · ROS入门21讲

代码路径: catkin_wp/src PDF路径: slides-ros_21_tutorials 视频:https://www.bilibili.com/video/BV1zt411G7Vn

2 中科院软件所-机器人操作系统入门(ROS入门教程)(推荐先看,讲的更细致) 【推荐入门先看】

官方代码: https://github.com/DroidAITech/ROS-Academy-for-Beginners 个人fork代码:https://github.com/HuangCongQing/ROS-Academy-for-Beginners

本地学习 代码路径: catkin_academy/src 视频:https://www.bilibili.com/video/BV1mJ411R7Ni

3 机器人操作系统ROS理论与实践【9讲】

代码路径: catkin_ROS9/src PDF路径: 机器人操作系统ROS理论与实践

Tips: 注意不同ROS,切换到不同分支

  • kinetic版本切换到kinetic分支
  • melodic版本切换到melodic分支

4 可视化(Visualization)

code:

rosrun learning_visualization 1basic_shapes
rosrun learning_visualization 2points_and_lines
rosrun learning_visualization 3path

ROS组织结构

一个workspace下面可以有多个package,但是workspace有自己组织package的方式。每一个package都是workspace当中的代码包,应该存放在src下面。那么,组织结构如下所示:

---workspace
|   |---src
|      |---package_1
|         |---CMakeLists.txt
|         |---src
|             |---xxx.cpp
       |---package_2
...
|
|      |---package_n

Reference

书籍:《ROS机器人开发实践_胡春旭》

视频和代码

  • 1 古月 · ROS入门21讲
  • 2 中科院软件所-机器人操作系统入门(ROS入门教程
  • 3 机器人操作系统ROS理论与实践【9讲】

1 古月 · ROS入门21讲

视频:https://www.bilibili.com/video/BV1zt411G7Vn

课件:https://github.com/huchunxu/ros_21_tutorials/tree/master/docs/slides

源码:https://github.com/huchunxu/ros_21_tutorials

2 中科院软件所-机器人操作系统入门(ROS入门教程)

3 机器人操作系统ROS理论与实践【9讲】

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].