Webots+ROS学习记录(1)——安装以及键盘控制机器人

Webots+ROS学习记录(1)

这篇博客主要是记录一下webots仿真软件的学习历程以及其中遇到的坑。webots是一个很优秀的商业软件,在不久前开源出来,但是技术支持还是需要付费。不过现在以及可以免费使用其软件了。
webos在Windows下有可以直接安装的稳定版本,可以在官网cyberbotics下载。
官网的帮助文档不出意外使用的是谷歌的框架,不能正常访问。2020a版本的帮助文档和2019的有些许不一样,我使用的是2020a版本的软件,上传了一份2019的帮助文档,有需要的可以在我的网盘下载。

链接:https://pan.baidu.com/s/1UsGLgoFTM-e2qEaV3_Nwuw
提取码:0lu8
复制这段内容后打开百度网盘手机App,操作更方便哦

ROS下Webots的安装

ROS下Webots的安装有两种版本,比较简单的是直接使用snap版。
Ubuntu16.04版本及以上自带了snap,如果是之前的版本,需要按照以下步骤安装snap

sudo apt update
sudo apt install snapd

然后开始安装webots。可以选择用指令sudo snap install webots安装,也可以直接在从官网唤出Ubuntu自带的AppStore来安装。

也可以选择deb版本,可以自行百度如何安装。

安装webots_ros包

我是在kinetic版本下安装webots_ros包的

执行以下指令安装webots_ros

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) 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
sudo apt-get install ros-kinetic-desktop-full
sudo rosdep init
rosdep update
sudo apt-get install ros-kinetic-webots-ros

为了确保工作空间的环境变量设置正确,使用以下指令查看

echo $ROS_PACKAGE_PATH 

返回的代码应该是

/home/youruser/catkin_ws/src:/opt/ros/melodic/share

然后配置以下环境变量

export WEBOTS_HOME=/usr/local/webots

运行例程

  • e_puck_line

用以下代码启动例程`

source /opt/ros/melodic/setup.bash 
roslaunch webots_ros e_puck_line.launch

启动后可以看见连接到ros节点。用rostopic list可以查看活动的话题。下方显示连接到ros
发送的epuck相关topic

  • keyboard
    按照上面的方法启动roslaunch webots_ros keyboard_teleop.launch,启动后可以用键盘操纵小车移动。查看topic:rostopic echo /Pioneer_3_DX_28404_yls_Rev_1_0/keyboard/key,可以看见相关话题的发布。
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
ROS(Robot Operating System)是一个机器人软件平台,它提供了一系列工具和库,用于构建机器人应用程序。ROS中的一个重要概念是节点(Node),它是一个可以执行特定任务的独立进程。 要通过键盘控制机器人,我们可以使用ROS提供的键盘驱动程序,该驱动程序会监听键盘输入,并将输入转换为机器人的运动指令。 首先,我们需要创建一个ROS包(ROS Package),这是一个ROS相关的代码和配置的集合。在ROS中,包是组织代码的基本单元。 然后,我们需要创建一个节点(Node),也就是一个独立的进程,用于处理键盘输入并将其转换为机器人的运动指令。 在该节点中,我们需要使用ROS键盘驱动程序订阅键盘输入的消息,并将其转换为机器人的运动指令消息。 一种常见的机器人运动指令消息是“Twist”消息,它包含线速度和角速度。线速度用于控制机器人的直线运动,角速度用于控制机器人的旋转运动。 通过监听键盘输入,我们可以根据不同的按键设置机器人的运动指令。例如,当按下“W”键时,我们可以设置机器人的线速度增加,当按下“S”键时,设置机器人的线速度减少。 最后,我们可以将机器人的运动指令发布出去,使其生效。通过发布机器人运动指令的消息,我们可以将控制命令发送给机器人的底层控制系统,使其执行相应的运动。 总结来说,通过ROS包和节点,我们可以将键盘输入转换为机器人运动指令,并控制机器人的运动。这种方法可以用于快速控制机器人进行简单的操作,如移动和旋转。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值