码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【ROS1学习-01】使用ROS系统进行相关代码开发,使用docker解决环境问题,遇到一些奇怪问题,总结汇总下,开始学习研究


    目录

    • 前言
    • 1,关于ROS系统
    • 2,使用docker进行安装
    • 3,总结

    前言


    本文的原文连接是:
    https://blog.csdn.net/freewebsys/article/details/126063760

    未经博主允许不得转载。
    博主地址是:http://blog.csdn.net/freewebsys

    1,关于ROS系统


    https://www.ros.org/

    机器人操作系统 ROS (Robot Operating System) 是一个用于编写机器人软件的灵活框架,它集成了大量的工具、库、协议,提供类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。

    1. ROS 的核心是一个分布式、低耦合的通讯机制;
    2. ROS 提供多种机器人开发工具,可以快速实现数据可视化、机器人仿真等功能;
    3. ROS 开源社区中包含大量机器人应用功能,可以帮助我们快速开发功能原型;
    4. ROS 已经成为一个庞大的生态系统,包含机器人领域的方方面面,同时也得到了越来越多第三方工具的支持,为机器人开发提供了系统化的解决方案。

    环境搭建比较复杂

    2,使用docker进行安装


    项目要是新创建的还是使用ros2比较好。ros2 增加了一些新的技术栈:

    Zeroconf;
    Protocol Buffers;
    ZeroMQ (and the other MQs);
    Redis;
    WebSockets; and
    DDS (Data Distribution Service).

    同时也支持 windows了,生产环境估计没有人会用windows吧。
    但也是好事情。支持的是 debian 和 redhat 包安装。这里主要讲的是docker安装。
    https://docs.ros.org/en/rolling/Installation.html

    也可以直接使用源进行安装 ros2 :
    https://docs.ros.org/en/dashing/Installation/Ubuntu-Install-Debians.html

    http://wiki.ros.org/docker/Tutorials/Docker

    docker官方网站:
    https://hub.docker.com/_/ros

    版本选择:
    https://blog.csdn.net/qq_38880380/article/details/122508789

    ros1 的版本:
    在这里插入图片描述
    这边测试了下 noetic kinetic indigo 这几个版本,indigo 使用的是ubuntu的版本。编译没有通过。尽量选择高版本吧,绿色表示还维护吧。推荐 noetic 这个版本。

    #下载镜像
    docker pull ros:noetic-ros-base-buster
    # 启动镜像
    docker run -itd --name noetic-ros -v /home/test/ros:/data ros:noetic-ros-base-buster
    #进入镜像:
    docker exec -it noetic-ros bash
    #设置环境变量,不知道为啥没有生效
    #按照版本自动匹配的
    source "/opt/ros/$ROS_DISTRO/setup.bash"
    sudo apt update
    #这个包有问题,需要重新安装下
    sudo apt-get install ros-noetic-diagnostic-updater
    #然后就可以折腾了编译自己的驱动模块开发了
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    本身环境已经非常全面了,联调的时候需要有个本地的master,使用 roscore 直接启动下就可以了。可以看到是ros1 的版本。

    # roscore 
    ... logging to /root/.ros/log/71671f70-0fa3-11ed-bf7f-0242ac110002/roslaunch-8209d7a266da-19032.log
    Checking log directory for disk usage. This may take awhile.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.
    
    ... loading XML file [/opt/ros/kinetic/etc/ros/roscore.xml]
    ... executing command param [rosversion roslaunch]
    Added parameter [/rosversion]
    ... executing command param [rosversion -d]
    Added parameter [/rosdistro]
    Added core node of type [rosout/rosout] in namespace [/]
    started roslaunch server http://8209d7a266da:33735/
    ros_comm version 1.12.17
    
    
    SUMMARY
    ========
    
    PARAMETERS
     * /rosdistro: kinetic
     * /rosversion: 1.12.17
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    3,总结


    刚刚开始折腾 ros ,就研究这么多个吧。因为是c++写的,还是挺复杂的。
    折腾环境就得有段时间,所以推荐大家使用docker进行编译构建搭建环境。
    部署的时候再推到设备上进行测试。
    这样可以使用好点的电脑进行开发,毕竟机器人的CPU性能一般。

    官方中文文档:
    http://wiki.ros.org/cn/ROS/Introduction

    本文的原文连接是:
    https://blog.csdn.net/freewebsys/article/details/126063760

    博主地址是:https://blog.csdn.net/freewebsys

  • 相关阅读:
    通过篡改cred结构体实现提权利用
    CC26X2 IAR程序启动流程
    【ES6】js 中class的extends、super关键字用法和避坑点
    自学前端开发 - VUE 框架 (四) 组合式 API
    spring bean实例化过程及顺序
    Windows RS485\USB转换接头,连接modbus温度传感器接线方法
    【数据库】函数处理(文本处理函数、日期和时间处理函数、数值处理函数)
    【第37篇】EdgeViTs: 在移动设备上使用Vision Transformers 的轻量级 CNN
    【设计模式】原型模式
    代理池项目查询
  • 原文地址:https://blog.csdn.net/freewebsys/article/details/126063760
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号