ros(Melodic)记录

写在前面

1、本文内容
ros入门基础
2、平台
windows10, vmware workstation, ubuntu1804
3、转载请注明出处:
https://blog.csdn.net/qq_41102371/article/details/125223367

安装ros melodic

安装虚拟机ubuntu1804
安装ros Melodic,参考官方教程
http://wiki.ros.org/melodic/Installation/Ubuntu

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 install curl # if you haven't already installed curl

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

sudo apt update

sudo apt install ros-melodic-desktop-full

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

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

sudo rosdep init
#rosdep update会失败,网上可找到解决方法https://blog.csdn.net/zbw1185/article/details/123807654
rosdep update

例程

turtlesim

启动roscore

roscore

在这里插入图片描述
打开新的命令行终端

rosrun turtlesim turtlesim_node

在这里插入图片描述

键盘控制小乌龟,打开新的终端输入

rosrun turtlesim turtle_teleop_key

使用上下左右键控制乌龟运动,注意要在输入命令的终端上使用上下左右才行
在这里插入图片描述

计算图,打开新的终端

rqt_graph

在这里插入图片描述
(去掉debug勾选后)
在这里插入图片描述

查看系统节点

rosnode list

在这里插入图片描述
查看节点信息

rosnode info /turtlesim

在这里插入图片描述
查看当前话题

rostopic list

在这里插入图片描述
发布话题控制海龟运动
只发布一次

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 2.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 1.0"

# 每秒发布10次,海龟一直运动
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 2.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 1.0"

在这里插入图片描述
查看消息结构

rosmsg show geometry_msgs/Twist

在这里插入图片描述
查看服务

rosservice list

产生新的海龟,坐标(5,5,),名称turtle2

rosservice call /spawn "x: 5.0
y: 5.0
theta: 0.0
name: 'turtle2'"

在这里插入图片描述控制第二个海龟运动

rostopic pub -r 10 /turtle2/cmd_vel geometry_msgs/Twist "linear:
  x: 2.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 1.0"

在这里插入图片描述

话题记录,记录当前的话题数据到文件,以后可以复现该话题


上下左右控制海龟动几下,然后在rosbag record的窗口ctrl+c结束记录
在这里插入图片描述

复现之前的记录
关掉之前的turtlesim,重新打开一个turtlesim,然后复现运动

rosbag play cmd_record.bag

在这里插入图片描述

TF

ROS学习–轻松使用tf https://blog.csdn.net/start_from_scratch/article/details/50762293
静态发布tf关系:

<launch>
<!-- A是parent_frame_id,B是child_frame_id,关系是B到A的坐标转换 -->
 <node pkg="tf2_ros" type="static_transform_publisher" name="pubB2A"
      args="0 0 0 0 0 0 1 A B" />
</launch>

点云

rviz点云显示,alpha参数:
http://wiki.ros.org/rviz/DisplayTypes/PointCloud

命令

# 查看当前话题列表
rostopic list
# 查看话题信息
rostopic info /tutlesim
rosmsg show sensor_msgs/PointCloud

在这里插入图片描述

# 话题记录,会记录在cmd_record.bag文件里面
rosbag record -a -O cmd_record
# 话题复现
rosbag play cmed_record.bag

编译

catkin buid
https://blog.csdn.net/dzhongjie/article/details/83868684
catkin clean

#清理某个包
catkin clean pkgname

https://zhuanlan.zhihu.com/p/399753815
catkin文档
https://catkin-tools.readthedocs.io/en/latest/verbs/catkin_clean.html

消息

wait_for_massage
https://vimsky.com/examples/detail/python-method-rospy.wait_for_message.html

抛出异常处理:
c++:
http://wiki.ros.org/roscpp/Overview/Exceptions
https://www.ncnynl.com/archives/201702/1302.html
roscpp所有的异常都继承基类ros::Exception

try{
;
}
catch(ros::Exception &ex){
;
}

python:
http://wiki.ros.org/rospy/Overview/Exceptions

try:
	...
except Exception as e:
	rospy.logerr(e.args)

python取消消息订阅
https://stackoverflow.com/questions/38487816/unsubscribing-from-ros-topic-python

sub = rospy.subscriber("/cameras/left_hand_camera/image",Image,self.callback_viewer)
sub.unregister()

资料

ros cpp 教程 http://wiki.ros.org/roscpp_tutorials/Tutorials
ros API https://wiki.ros.org/APIs

参考

古月居ros教程:
https://www.bilibili.com/video/BV1zt411G7Vn

如有错漏,敬请指正
--------------------------------------------------------------------------------------------诺有缸的高飞鸟202206

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
E: 无法定位软件包 ros-melodic 是因为在命令行中尝试安装ROS Melodic的时候,系统无法找到该软件包。这可能是由以下几个原因导致的: 1. 软件包源配置错误:请确保你已正确添加了ROS Melodic的软件源并更新了软件包列表。你可以按照ROS官方文档中的指引进行设置。 2. 软件包名称错误:请确认你输入的软件包名称是否正确。在ROS Melodic中,软件包名称通常以"ros-melodic-"开头,后面跟着具体的软件包名。 3. 操作系统版本不匹配:ROS Melodic是针对Ubuntu 18.04及更高版本的,如果你的操作系统版本不匹配,则无法安装该软件包。 引用中提到了一个常见错误 E: Unable to locate package ros-melodic-***,这也可能是由于软件包名称错误或软件源配置错误导致的。 引用中的记录指出,如果你安装的是Ubuntu 16.04版本,应该使用ROS Kinetic而不是ROS Melodic。所以,如果你的操作系统版本为Ubuntu 16.04,你需要安装相应版本的ROS Kinetic而不是ROS Melodic。 综上所述,要解决E: 无法定位软件包 ros-melodic的问题,你需要确保正确配置了ROS Melodic的软件源,并在适用的情况下使用正确的软件包名称和操作系统版本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [无法定位功能包 E: Unable to locate package ros-melodic-***](https://blog.csdn.net/qq_41821678/article/details/124064176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【无标题】安装ROS E: 无法定位软件包 ros-melodic-desktop-full](https://blog.csdn.net/chenxinyun921/article/details/122578988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诺有缸的高飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值