zoukankan      html  css  js  c++  java
  • ROS机器人开发实践学习笔记1

      刚刚开始学习ROS,打算入机器人的坑了,参考教材是《ROS及其人开发实践》胡春旭编著 机械工业出版社 华章科技出品。本来以为可以按照书上的步骤一步步来,但是,too young to simple啊,程序员的苦逼日子开始了,特地记录如下。

      一、几个概念:

      1、ROS:(Robot operating system),直接翻译就是机器人操作系统,但是很坑爹的是,它根本不是个系统,他只是个编写机器人软件的强大框架。它含有大量的工具、丰富的库、众多的协议,拥有操作系统的作用,包括硬件抽象、底层驱动管理、功用功能执行、程序间消息传递、程序发行包管理等。能够大大简化机器人平台的繁杂,提高了机器人行为控制的稳定性。但是,我要说ROS叫(robot operating system framework)更加通俗易懂些。

      2、ROS设计目标:

       a、尽量提高机器人研发中的软件复用率

        b、框架中的每个功能模块能够被单独设计、编译、运行时松耦合方式结合

       c、功能模块都封装于独立的功能包或元功能包,便于社区共享与分发

       d、ROS由核心通信机制、开发工具、应用功能和生态系统四个部分构成

       e、为机器人开发提供了硬件抽象、底层驱动、消息传递、程序管理、应用原型等机制,整合了第三方工具及库文件,便于用户快速完成机器人应用的建立、编写和多机整合等

      3、ROS的特点:ROS的核心分布式网络,借助灵活的通信方式,实现数据传递的高效性。

       a、点对点的设计,进程以节点形式运行

       b、多语言支持,C、C++、Python、Java及Octave和Lisp等,每个模块可以用不同的语言实现

       c、架构精简、集成度高

       d、组建化工具包丰富

       e、开源且免费,BSD协议

      二、安装ROS,ROS主要支持特定版本的linux,几乎每个版本的ROS和对应版本的linux对应,否则几乎无法成功安装,最新版本的ROS Melodic是2018年5月发布的,几乎网上都是对kinetic版本的,linux选用ubuntu 18.04.2版本即可,桌面好像没有过多要求。

      本篇是在Kubuntu18.04上安装的Melodic版本的ROS框架,就是按照官方教程一步步来就可以:

       1、添加软件源:sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

      2、更新软件源:sudo apt update, sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

      3、基础安装:普通用户最好完全安装 sudo apt install ros-melodic-desktop-full,也可以安装指定的包:sudo apt install ros-melodic-PACKAGE例如:sudo apt install ros-melodic-slam-gmapping

      4、查找可以用的包:apt search ros-melodic

      5、初始化rosdep,使用ros前,需要初始化rosdep,通过初始化rosdep完成系统组建的基本安装与配置:sudo rosdep init,更新rosdep update

      6、环境配置:echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc 更新配置文件source ~/.bashrc

      7、安装构建依赖包:sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

      8、系统升级:sudo apt upgrade

      三、管理环境,catkin方式创建ROS工作空间

      1、下面我们开始创建一个catkin 工作空间:

        $ mkdir -p ~/catkin_ws/src                                                      #创建目录
        $ cd ~/catkin_ws/src                             #切换到新建目录

        $ cd ~/catkin_ws/                            #切换到新建目录

           $ catkin_make                              #编译它:

        $ source devel/setup.bash                        #加载到系统环境

        $ roscore                                 #启动ros环境

        $  echo $ROS_PACKAGE_PATH                          #检查环境变量,如果结果如:/home/municationk/catkin_ws/src:/opt/ros/melodic/share,个人可能不同,类型基本一样就是可以了

        到此,ROS工作环境已经搭建完成。

  • 相关阅读:
    urllib 模块 https://www.cnblogs.com/guishou/articles/7089496.html
    cookies与session的区别
    IPMI的几个问题
    Java 线程池
    fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令
    Java-加载数据库驱动,取得数据库连接
    《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
    C# Newtonsoft.Json 解析多嵌套json 进行反序列化
    使用Json.NET来序列化所需的数据
    Newtonsoft.Json.dll 反序列化JSON字符串
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/11294176.html
Copyright © 2011-2022 走看看