ROS操作

安装虚拟机后打开系统镜像,设置虚拟机网络:
桥接模式
NAT模式:英文全称是“Network Address Translation”,中文意思是“网络地址转换”模式。 
NET模式它是一个IETF标准,允许一个整体机构以一个公用IP地址...

选择NAT模式
cd /opt
ls
ros  //显示ros,证明ros已安装。
ros网络与主机网络不在同一网段:
打开~/.bashrc文件,修改环境变量:
vim ~/.bashrc
esc :wq!
source ~/.bashrc

export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
# 运行小乌龟:

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
# ros指令集

# rospack
# rospack find [package_name]
rospack find roscpp
# 执行结果:YOUR_INSTALL_PATH/share/roscpp
# 如果ROS是从apt安装到Ubuntu系统中的,结果:
# /opt/ros/groovy/share/roscpp 或者 /opt/ros/melodic/share/roscpp

# roscd
# roscd [location_name[/subdir]]
roscd roscpp
# pwd:  YOUR_INSTALL_PATH/share/roscpp ( /opt/ros/melodic/share/roscpp )
# 只会查找ROS_PACKAGE_PATH变量中包含的packages
roscd log
# 可以看到所有运行过的ROS程序

echo $ROS_PACKAGE_PATH
# 查看ROS_PACKAGE_PATH包含的信息(workspace)

# rosls
# rosls [locationname[/subdir]]
# 列出功能包下面包含的文件 ls
# catkin功能包
# 最简单的功能包组成如下所示:
• my_package/
• ----CMakeLists.txt
• ----package.xml

# catkin workspace里的功能包
# 推荐在catkin workspace下生成并编译catkin功能包,catkin功能包也可单独编译。
# catkin workspace的文件组织形式如下所示:
• workspace_folder/            -- WORKSPACE
• ----src/                         -- SOURCE SPACE
• --------CMakeLists.txt               -- 'Toplevel' CMake file, provided by catkin
• --------package_1/
• ------------CMakeLists.txt           -- CMakeLists.txt file for package_1
• ------------package.xml              -- Package manifest for package_1
•         ...
• --------package_n/
• ------------CMakeLists.txt           -- CMakeLists.txt file for package_n
• ------------package.xml              -- Package manifest for package_n

# cd到catkin workspace的src目录内(如:cd /catkin_ws/src)
# catkin_create_pkg <pkg_name> [depend1] [depend2] [depend3]
catkin_create_pkg [pkg_name] [std_msgs rospy roscpp ...]

# 查看功能包的 "直接(一级)依赖关系", 这些依赖功能包信息被保存在package.xml文件内
rospack depends1 pkg_name

# 间接依赖关系
# 依赖功能包本身也需要自己的依赖功能包,例如:rospy
rospack depends1 rospy

# rospack可以次序检测到所有嵌套的依赖功能包
rospack depends pkg_name
# 将ros加入到环境变量
source /opt/ros/melodic/setup.bash

# catkin_make
# In a catkin workspace
catkin_make
catkin_make install # (optionally)

# In a catkin workspace
catkin_make --source my_src
catkin_make install --source my_src  # (optionally)
• 节点node:节点是一个可执行文件,可以与其它ROS节点进行通信;
• 消息msg:ROS中的一种数据类型,用于订阅或者发布一个话题;
• 话题topic:节点发布的一个话题,同时也可以接收一个话题;
• Master:ROS系统中的名称管理器,方便节点之间的查找;
• rosout:在ROS系统中相当于标准的stdout/stderr;
• roscore:Master+rosout+parameter server(parameter server会稍后介绍)


# 列出正在活动的节点
rosnode list
# /rosout
# 表明只有rosout节点正在运行,rosout始终都在运行,用来收集节点的调试输出信息等.

# 显示指定的节点的信息
rosnode info /rosout
# 如它将发布/rosout_agg等信息.

# rosrun [pkg_name] [node_name]
rosrun turtlesim turtlesim_node
# 通过映射参数(Remapping Argument)来改变节点的名字
rosrun turtlesim turtlesim_node __name:=my_turtle
# 用rosnode ping
rosnode ping my_turtle


# rosrun 单个节点
# roslaunch 多个节点
rostopic list
# 可以通过help参数获取有关rostopic的次级命令选项用法
$ rostopic -h
•     rostopic bw                display bandwidth used by topic
•     rostopic echo [topic]      print messages to screen
•     rostopic hz                display publishing rate of topic    
•     rostopic list              print information about active topics
•     rostopic pub               publish data to topic
•     rostopic type              print topic type

rostopic list -h
•     Options:
•     -h, --help                show this help message and exit
•     -b BAGFILE, --bag=BAGFILE list topics in .bag file
•     -v, --verbose             list full details about each topic
•     -p                        list only publishers
•     -s                        list only subscribers

rostopic list -v
# 显示一个有关发布者及订阅者的详细列表及话题类型

# rostopic type [topic]
rostopic type /turtle1/command_velocity
# turtlesim/Velocity
rosmsg show turtlesim/Velocity
# float32 linear
# float32 angular

# rostopic pub 发布数据给当前存在的话题
# rostopic pub [topic] [msg_type] [args]
rostopic pub -1 /turtle1/command_velocity turtlesim/Velocity  -- 2.0  1.8

# rostopic pub 表示发布消息到指定的话题;
# -1 表示只发送一次消息,然后就停发;
# /turtle1/command_velocity 指定要发送的话题;
# turtlesim/Velocity 指定发送给话题的消息类型;
# -- “--”告诉解析器后面的参数不是选项了(而是消息的具体数值),当数值为负数时是非常有必要的;
# 2.0 1.8 turtlesim/Velocity命令的两个浮点型的数据:线性速度和角速度

# 小乌龟已经停止运动,因为它需要靠1Hz的数据流不断驱动
# 使用rostopic pub –r 指令不断发送数据流:
rostopic pub /turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0  -1.8

# rostopic hz报告数据发布的频率,average rate, min, max, std dev, window.
# rostopic hz [topic]

rostopic type /turtle1/command_velocity | rosmsg show
# sudo apt-get install ros-<melodic>-rqt
# <melodic>为你的ROS的版本号
rosrun rqt_graph rqt_graph

# 绘制有关数据随着时间输出的曲线
rosrun rqt_plot rqt_plot /turtle1/pose/x:y
rosrun rqt_plot rqt_plot /turtle1/pose/theta
rosservice list                     print information about active services
rosservice call [service] [args]    call the service with the provided args
rosservice type [service]           print service type
rosservice find                     find services by service type
rosservice uri                      print service ROSRPC uri


rosparam set [param_name]           set parameter
rosparam get [param_name]           get parameter
rosparam load                       load parameters from file
rosparam dump                       dump parameters to file
rosparam delete                     delete parameter
rosparam list                       list parameter names

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值