基于ECS搭建ROS Kinetic机器人操作系统

本文涉及的产品
资源编排,不限时长
简介: 将ROS机器人操作系统搭建至云端,实现远程的机器人控制

简介

ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、函数库、可视化工具、消息传递和软件包管理等诸多功能。ROS遵循BSD开源许可协议。

本次实验使用的是目前网络上教程和大多数主流教材采用的ROS Kinetic版本,该版本是一个较为热门的版本,有很多资料和例子,该版本推荐安装于Ubuntu16.04

启动实例

领取实例

本次实验使用的实例为“【阿里云高校计划】云上学习实践”活动领取的ECS 2核2GB,领取方法很简单,只需要创建一个使用实例进行体验后,再进行一个十道题的小测验即可,都是一些基础知识,很容易通过;

通过测试后就可以领取实例,领取时可以选择操作系统,这时候应该选择Ubuntu16.04版本;

修改密码

领取实例成功后,需要进入控制台,三分钟后修改实例密码,修改完成后即可重启实例,待重启成功,点击控制台远程连接,使用ssh方式进行连接;

安装图形界面

ECS默认是不带图形界面的,但是ROS有大量实用工具需要图形界面,所以需要安装一个,我选择安装xfce,因为占用资源较少,且能满足要求;

按照如下步骤按照xfce:

apt-get update

apt-get install xfce4

apt-get install xrdp

安装后可以使用xrdp进行远程连接,这时就可以看到桌面了,有需要的还可以安装中文语言包


安装ROS(引用自ROS中文wiki)

安装准备

电脑以安装来自packages.ros.org的软件:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

安装

更新软件包索引

sudo apt-get update

桌面完整版: (推荐) : 包含ROS、rqtrviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知

sudo apt-get install ros-kinetic-desktop-full

初始化 rosdep

在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具

sudo rosdep init
rosdep update

环境配置

如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便很多:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

如果你安装有多个ROS版本, ~/.bashrc 必须只能 source 你当前使用版本所对应的 setup.bash。如果你只想改变当前终端下的环境变量,可以执行以下命令:

source /opt/ros/kinetic/setup.bash

如果你使用 zsh,替换其中的 bash, 你可以用以下命令来设置你的shell:

echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc

source ~/.zshrc

构建工厂依赖

到目前为止,你已经安装了运行核心 ROS 包所需的内容。为了创建和管理自己的 ROS 工作区,有各种各样的工具和需求分别分布。例如:rosinstall 是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多 ROS 包的源树。

要安装这个工具和其他构建ROS包的依赖项,请运行:

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

使用及测试

现在环境已经配置好了,可以使用rviz,roscore等指令测试是否安装成功

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
23天前
|
Ubuntu 机器人 Linux
|
20天前
|
弹性计算 JSON 关系型数据库
使用ROS模板基于ECS和RDS创建WordPress环境
使用ROS模板基于ECS和RDS创建WordPress环境
|
20天前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
6月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
167 1
|
23天前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
|
23天前
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
|
4月前
|
弹性计算 Linux 云计算
云服务器 ECS产品使用问题之如何更换操作系统
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
3月前
|
机器人
05 ROS Parameter服务器实例
本文介绍了如何在ROS(机器人操作系统)中使用参数服务器,包括获取和设置参数,并通过示例代码展示了如何读取和修改海龟仿真(turtlesim)的背景颜色参数。
25 0
|
5月前
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
202 2
|
5月前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息