ROS1 Noetic编程环境搭建和练习

下载wpr_simulation源码,安装和编译

git clone https://github.com/6-robot/wpr_simulation.git
#git clone https://ghpwpr_simulation/scriptsroxy.com/https://github.com/6-robot/wpr_simulation.git
#wpr_simulation/scripts目录下
./install_for_noetic.sh
cd ~/catkin_ws
catkin_make //编译
gedit ~/.bashrc 
source ~/catkin_ws/devel/setup.bash //配置环境变量并保存
roslaunch wpr_simulation wpb_simple.launch 

安装git

sudo apt install git
#cp /media/ros1/WISNTON/ssh/id_rsa* .  //复制ssh密钥

安装terminator

sudo apt install terminator

启动 Ctrl+Alt+T

Ctrl+Shift+E 横向分屏

Ctrl+Shift+O 纵向分屏

Ctrl+Shift+W 取消分屏

Alt+方向键 移动焦点

vscode

下载 Documentation for Visual Studio Code

sudo dpkg -i code_1.95.0-1730153583_amd64.deb //安装vscode
  • vscode的左下角搜索chinese安装简体中文插件,查看中点击终端,方便使用
  • 安装ros插件和github copilot插件
  • 安装Bracket Pair Colorizer 代码大括号颜色不同
  • vscode直接编译要配置环境,使用rosversion -d查看ros版本配置编译设置

4.包、节点

rosrun turtlesim turtlesim_node

编程实践

  1. 创建包和节点小结
  • catkin_create_pkg test_pkg rospy roscpp std_msgs
  • 在软件包src文件夹下创建一个节点cpp源码
  • 在节点的源码文件中include ros头文件
  • 构建main函数,并在函数开头执行ros::init()
  • 构建while循环,循环条件为ros::ok()
  • 在CMakeList.txt中设置节点源码的编译规则
  • 编译运行

  1. 消息发布小结
  • 确定话题名称和消息类型
  • 在代码文件中include消息类型对应的头文件
  • 在main函数中通过NodeHandle发布一个话题并得到消息发送对象
  • 生成要发送的消息包并进行发送数据的赋值
  • 调用消息发送对象的publish()函数,将消息包发送到话题中。

  1. 话题查看小结
  • 查看活跃话题列表 rostopic list
  • 查看话题内容 rostopic echo 话题名称
  • 查看话题频率 rostopic hz 话题名称

  1. 话题订阅小结
  • 确定话题名称和消息类型
  • 在代码文件中include消息类型对应的头文件
  • 在main函数中通过NodeHandle大管家订阅一个话题并设置消息接收回调函数
  • 定义一个回调函数,对接收到的消息进行处理
  • main函数中需要执行ros::spinOnce(),让回调函数能够响应接收到的消息包

  1. 编写launch文件,启动多节点 
  • 使用launch文件,可以通过roslaunch指令一次启动多个节点
  • launch中,节点添加output="screen",可让节点信息输出到终端(ROS_WARN不受该属性限制)
  • 为节点添加aunch-prefix="gnome-terminal -e",可让节点单独运行在一个独立终端中。

  1. C++实现机器人运动控制,实现思路
  • 构建一个新软件包,包名vel_pkg
  • 软件包新建vel_node节点
  • 向NodeHandle申请发布话题/cmd_vel,并拿到发布对象vel_pub
  • 构建geometry_msgs/Twist类型消息包vel_msg,用来保存要发送的速度值
  • 开启循环,不停使用vel_pub对象发送速度消息包vel_msg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值