0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样在Ubuntu上安装Ros Indigo

454398 来源:网络整理 作者:网络整理 2019-12-06 17:54 次阅读

我想在Ubuntu上安装ROS indigo,但在安装和设置iRobot Create之后,我找不到一个仅适用于iRobot Create的指南,因此我将制作一个

怎样在Ubuntu上安装Ros Indigo

步骤1:首先安装Ubuntu

首先,您应该通过双重安装ubuntu 14.04

步骤2:使用您当前的操作系统启动,或者在VMWare Workstation(Windows)或VMWare Fusion(Mac)中启动(请勿使用oragle virtualbox,它不能与usb一起使用!)

设置您的Sources.list

Ubuntu 14.04(可信任)

在终端中运行此行,然后输入密码

sudo sh -c‘echo“ deb http://packages.ros.org/ros/ubuntu trusty main”》/etc/apt/sources.list.d/ros-latest.list’

设置密钥

wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O-| sudo apt-key add-

步骤3:安装

通过运行此命令开始

sudo apt-get update

完成后,运行此

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

然后

sudo apt-get install python-rosdep python-wstool ros-indigo-ros

现在我们需要初始化rosdep

sudo rosdep init

rosdep更新

步骤4:设置工作区

在终端上执行此操作以设置工作空间

mkdir〜/rocon

cd〜/rocon

wstool init -j5 src https://raw.github.com/robotics-in-concert/rocon/indigo/rocon.rosinstall

source/opt/ros/indigo/setup.bash

rosdep install-从路径src -i -y

catkin_make

mkdir〜/kobuki

cd〜/kobuki

wstool init src -j5 https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/kobuki.rosinstall

source〜/rocon/devel/setup.bash

rosdep install --from-paths src -i -y

catkin_make

mkdir〜/turbotbot

cd〜/turtlebot

wstool init src -j5 https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/turtlebot.rosinstall

源〜/kobuki/devel/setup.bash

rosdep install --from-paths src -i -y

catkin_make

如果rosdep安装步骤是〜/turtlebot无法说明无法找到create_dashboard和create_gazebo_plugins,请确保您在rosdep install命令中使用“ -r”,并且即使无法找到create_dashboard或create_gazebo_plugins,该操作仍将继续。

为了方便起见

echo“ source〜/turtlebot/devel/setup.bash” 》》〜/.bashrc

步骤5 :网络时间协议

安装Chrony

sudo apt-get install chrony

手动同步NTP

sudo ntpdate ntp.ubuntu.com

步骤6:为IRobot Create设置Turtlebot

运行此命令以为iRobot创建龟机器人

回显“ export TURTLEBOT_BASE = create” 》》〜/turtlebot/devel/setup.sh

echo“ export TURTLEBOT_STACKS = circles” 》》〜/turtlebot/devel/setup.sh

echo“ export TURTLEBOT_3D_SENSOR = kinect” 》》〜/turtlebot/devel/setup.sh

回显“导出TURTLEBOT_SERIAL_PORT =/dev/ttyUSB0” 》》〜/turtlebot/devel/setup.sh

源〜/turtlebot/devel/setup.bash

并记住将您的用户添加到拨出

sudo adduser用户名拨出

仅在您没有运行权限的情况下执行此操作

su-用户名

步骤7:现在您应该可以控制IRobot创建了

现在,您应该能够控制iRobot Create

打开3个Shell并运行以下命令之一每个shell中的命令

-roscore

-roslaunch turtlebot_bringup minimal.launch

-roslaunch tur tlebot_teleop keyboard_teleop.launch

步骤8:本指南的来源

http://wiki.ros.org/turtlebot/Tutorials/indigo/Ins。 。.

http://wiki.ros.org/indigo/Installation/Ubuntu

http://wiki.ros.org/turtlebot/Tutorials/indigo/Wor 。.

的http://wiki.ros.org/turtlebot/Tutorials/hydro/Crea 。..

https://bugs.launchpad.net/ubuntu/+source/gtkterm/。..

步骤9:制作Irobot的源代码沿着地板行

/* ------- -------------------------------------------------- -----------------

程序:irobot_linefollower

说明:这个简单的程序使iRobot创建(如果已连接)跟随一行到计算机上,该代码在硬件上运行:iRobot使用USB串行电缆创建,您可能需要更改sensor_turn_value以适合iRobot创建软件:Linux ubuntu 14.04,安装了ROS indigo Turtlebot工作区设置(如果遵循以下ROS indigo安装指南,它将在那里设置。)在那里e 2运行该程序所需的必需进程才能正常运行,即-$ roscore//! roscore/master-$ roslaunch turtlebot_bringup minimal.launch//! Turtlebots minimal.launch程序参考:-ROS indigo安装指南https://www.instructables.com/id/Ros-Indigo-install-on-Ubuntu-1/

日期:2014年12月5日修改:作者:Anders Vestergaard,Jonas Vestergaard,Johansen BenjaminRudkjærRønnovPedersen,Emil Blixt Hansen ChristianPræstegaardMadsen,Benjamin RindomGøthlerAKA小组:AAU大学的机器人P1-B304 ----------------- -------------------------------------------------- ------- */

#include//!实现函数的逻辑,例如cout函数#include//!包括ROS系统最常见的公共部分#include//!包含能够控制Turtlebot的节点(请阅读iRobot Create)#include//!包括能够读取Turtlebot上的传感器的节点(读取iRobot Create)

//!定义变量浮动速度= 0.20;//!控制Turtlebots速度(以米/秒为单位)= 0.00;//!当Turtlebot旋转浮动时,用于保持旋转速度的变量turn_left_value = 1.0;//!左转浮动控制转弯速度turn_right_value = -1.0;//!右转弯的控制转弯速度int ceiling_left_sensor_value = 0;//!变量以保持左悬崖传感器值int悬崖_右_传感器_值= 0;//!变量,以保存正确的悬崖传感器值int sensor_turn_value = 750;//!控制Turtlebot的传感器值以转回

//!每次将数据发布到“/mobile_base/sensors/core”主题时,都会调用此函数。void ceilingSensorCallback(const create_node :: TurtlebotSensorState :: ConstPtr&msg){悬崖_left_sensor_value = msg-》 cliff_left_signal;//!将主题中的悬崖信号信号值存储到悬崖变量传感器变量值悬崖信号传感器值= msg-》 cliff_right_signal;//!将主题中的悬崖信号信号值存储到悬崖信号传感器值//std :: cout 《《悬崖传感器值《《“”“悬崖传感器值《《” \ n“;//!调试:将传感器值写入端子。 }//!无效的悬崖传感器回调

//!程序的主要功能int main(int argc,char ** argv){//!将变量argc和argv初始化为ros :: init()需要那些变量来执行任何ROS参数

ros :: init(argc,argv,“ robot_driver”);//!初始化ROS,这使ROS可以通过命令行重新命名,最后一个arugemnt(“ robot_driver”)是我们节点的名称。

//!我们将用于与节点ros :: NodeHandle nh;通信的节点句柄。//!发布者ros :: NodeHandle的NodeHandler n;//!订阅者的NodeHandler

/**!告诉管理员我们将向主题“/cmd_vel_mux/input/teleop”发布类型为“ geometry_msgs :: Twist”的消息,第二个参数“ 1”为发布队列的大小。这意味着我们只会缓冲一条消息,如果它被迅速发布。 *///!删除此内容我们将发布到“/cmd_vel_mux/input/teleop”主题以发出命令ros :: Publisher cmd_vel_pub = nh.advertise(“/cmd_vel_mux/input/teleop”,1);

/**!告诉主机我们要订阅主题“/mobile_base/sensors/core”。每当发布到该主题的消息时,ROS都会调用悬崖信号SensorCallback()函数,第二个参数是缓冲区大小,以防我们无法足够快地处理信息时存储消息。如果我们达到1000条存储消息,它将开始删除消息。 *///!删除此内容我们将订阅“/mobile_base/sensors/core”主题以获取传感器价值。 ros :: Subscriber sub = n.subscribe(“/mobile_base/sensors/core”,1,悬崖传感器回调);

geometry_msgs :: Twist base_cmd;//!初始化geometry_msgs :: Twist作为base_cmd函数

base_cmd.linear.x = base_cmd.linear.y = base_cmd.angular.z = 0;//!也许要移动!确保所有向量都设置为0

while(true){//!始终运行的循环。 ROS :: spinOnce();//!调用ros :: spinOnce()时,它会在悬崖传感器中获得任何新消息

std :: cout 《《“左悬崖:” 《《悬崖传感器传感器值《《“右悬崖:” 《《传感器传感器值《《“左转值:” 《

//!驱动命令base_cmd.linear.x = speed;//!将Turtlebot的驱动速度设置为变量base_cmd.angular.z = turn;//!将Turtlebot的转弯速度设置为可变转弯

if(cliff_left_sensor_value》 sensor_turn_value){//!检查左悬崖传感器值是否大于上面设置的sensor_turn_value,如果为true,则转弯= turn_left_value;//!将turn变量设置为turn_left_value以左转,直到我们再次上线。 }

否则if(cliff_right_sensor_value》 sensor_turn_value){//!如果以上为假,则检查右悬崖传感器值是否大于上面设置的sensor_turn_value,如果为true,则进行turn = turn_right_value;//!将turn变量设置为turn_right_value可以右转,直到我们再次上线。 } else {//!如果以上两个if均为假,则转为0;否则为0。//!再次将线上的turn变量设置为0。 }

cmd_vel_pub.publish(base_cmd);//!将驱动命令发送到“/cmd_vel_mux/input/teleop”}上面定义的主题上! while循环END

返回0;//!结束程序}//! int main END
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Ubuntu
    +关注

    关注

    5

    文章

    560

    浏览量

    29559
  • INDIGO
    +关注

    关注

    0

    文章

    7

    浏览量

    7264
收藏 人收藏

    评论

    相关推荐

    Ubuntu 24.04 LTS安装飞桨PaddleX

    了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。   本文将介绍Ubuntu 24.04.1LTS从零开始安装
    的头像 发表于 11-11 17:45 132次阅读
    <b class='flag-5'>在</b><b class='flag-5'>Ubuntu</b> 24.04 LTS<b class='flag-5'>上</b><b class='flag-5'>安装</b>飞桨PaddleX

    请问STM32MP157可以安装ROS吗?

    请问一下,STM32MP157可以安装ROS吗?
    发表于 03-26 06:50

    EtherCAT运动控制器ROS的应用开发案例(

    本文以正运动技术EtherCAT运动控制器ZMC432和ZMC408CE为例,介绍正运动技术运动控制器ROS的应用开发。
    的头像 发表于 03-17 11:06 1235次阅读
    EtherCAT运动控制器<b class='flag-5'>在</b><b class='flag-5'>ROS</b><b class='flag-5'>上</b>的应用开发案例(<b class='flag-5'>上</b>)

    EtherCAT运动控制器ROS的应用(下)

    正运动技术动态链接库环境配置以及EtherCAT运动控制器ROS下的单轴运动。
    的头像 发表于 03-13 14:54 520次阅读
    EtherCAT运动控制器<b class='flag-5'>在</b><b class='flag-5'>ROS</b><b class='flag-5'>上</b>的应用(下)

    EtherCAT运动控制器ROS的应用(

    本文以正运动技术EtherCAT运动控制器ZMC432和ZMC408CE为例,介绍正运动技术运动控制器ROS的应用开发。
    的头像 发表于 03-06 11:47 1144次阅读
    EtherCAT运动控制器<b class='flag-5'>在</b><b class='flag-5'>ROS</b><b class='flag-5'>上</b>的应用(<b class='flag-5'>上</b>)

    系统镜像Ubuntu_ROS2中ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2中ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    迅为3588开发板Ubuntu安装Docker

    迅为3588开发板Ubuntu安装Docker
    的头像 发表于 01-29 16:07 680次阅读
    迅为3588开发板<b class='flag-5'>Ubuntu</b><b class='flag-5'>安装</b>Docker

    ROS系统的智能车开发-基于米尔芯驰MYD-JD9X开发板

    本篇测评由电子工程世界的优秀测评者“mameng”提供。本文将介绍基于米尔电子MYD-JD9X开发板的ROS系统智能车开发。目前实现ROS的方式主要有两种:Ubuntu系统+ROS
    的头像 发表于 01-26 08:01 859次阅读
    <b class='flag-5'>ROS</b>系统的智能车开发-基于米尔芯驰MYD-JD9X开发板

    配置Ubuntu系统环境和安装的开发工具

    安装Ubuntu系统环境后,开发前需要简单配置Ubuntu系统环境以及安装一些必备的开发工具。
    的头像 发表于 12-22 13:32 1705次阅读
    配置<b class='flag-5'>Ubuntu</b>系统环境和<b class='flag-5'>安装</b>的开发工具

    如何验证ROS是否安装成功 ubuntu20.04教程

    验证ROS是否安装成功 按正常来说ROS到这里就安装完成了,现在我们来验证一下,输入以下命令: roscore 如果出现了以下的问题:Command ‘roscore’ not fou
    的头像 发表于 12-01 16:51 6466次阅读
    如何验证<b class='flag-5'>ROS</b>是否<b class='flag-5'>安装</b>成功 <b class='flag-5'>ubuntu</b>20.04教程

    如何在ubuntu20.04中添加和更新ROS软件源

    1.添加ROS软件源 将下面这条命令复制到ubuntu的终端执行 sudo sh -c '. /etc/lsb-release echo "deb http
    的头像 发表于 12-01 16:14 1705次阅读
    如何在<b class='flag-5'>ubuntu</b>20.04中添加和更新<b class='flag-5'>ROS</b>软件源

    TogetherROS中如何安装ROS2功能包

    安装ROS2功能包 接下来,还有一个很重要的配置,那就是安装ROS2功能包,我们说TogetherROS是基于ROS2深度优化的,很多模块还
    的头像 发表于 12-01 16:02 928次阅读
    <b class='flag-5'>在</b>TogetherROS中如何<b class='flag-5'>安装</b><b class='flag-5'>ROS</b>2功能包

    MoveIt的快速安装方法

    MoveIt的安装 首先确保你的Linux正确安装ROS系统。 安装moveit,如果不想挑战源码编译,MoveIt可以用apt-get
    的头像 发表于 11-28 11:50 1038次阅读
    MoveIt的快速<b class='flag-5'>安装</b>方法

    如何在Ubuntu Linux释放/boot分区中的空间

    Ubuntu Linux,/boot分区是用于存储启动相关的文件的。随着时间的推移,这个分区可能会变满,导致系统无法安装新的内核和更新。本文将介绍如何释放/boot分区中的空间,并
    的头像 发表于 11-28 10:04 850次阅读

    ROS Motion Planning运动规划库如何安装相关依赖

    工作空间的src文件夹下,并解压 安装相关依赖 (1)关于Python 关于Python推荐使用Python3,对于Ubuntu20.04对应的ROS Noetic一般默认使用的都是Python3,可以
    的头像 发表于 11-26 17:29 1115次阅读