《鸿蒙机器人编程》课件-13-实践课-创建仿真机器人与实体机器人同步_第1页
《鸿蒙机器人编程》课件-13-实践课-创建仿真机器人与实体机器人同步_第2页
《鸿蒙机器人编程》课件-13-实践课-创建仿真机器人与实体机器人同步_第3页
《鸿蒙机器人编程》课件-13-实践课-创建仿真机器人与实体机器人同步_第4页
《鸿蒙机器人编程》课件-13-实践课-创建仿真机器人与实体机器人同步_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实践课-创建仿真机器人与实体机器人同步1课程内容编写脚本让仿真机器人模型在仿真环境中动起来编写脚本让实体机器人动起来让仿真与实际的机器人同步运动©NXROBO2022下载Spark的代码先去github下载Spark的代码在Spark的开发包里,已经包含了Spark的仿真启动环境,我们先从启动脚本入手来了解下Spark的仿真启动内容。launch文件路径:src/spark/spark_description/launch/spark_description_rviz.launch©NXROBO20223$cd~$gitclone/NXROBO/spark_noetic.git让仿真机器人动起来-Step1加载模型©NXROBO2022启动了三个节点,joint_state_publisher、robot_state_publisher和rvizjoint_state_publisher和robot_state_publisher两个节点均属于ros_control包中的工具让仿真机器人动起来-Step1加载模型©NXROBO2022$roslaunchspark_descriptionspark_description_rviz.launch启动仿真机器人,运行下面命令:让仿真机器人动起来-Step2控制模型运动在这个launch档,我们只是加载了ros_control的相关节点以及rviz仿真器,它仅仅只是将我们的spark显示出来,为了让我们的仿真spark动起来我们还需要一个底盘的模拟节点,在此我们使用arbotix这个包来完成此功能。之后创建src/spark/spark_description/config/fake_spark_arbotix.yaml配置文件,用以仿真spark底盘参数:$sudoaptinstallros-noetic-arbotixmkdir–pspark_noetic/src/spark/spark_description/configcdspark_noetic/src/spark/spark_description/config/touchfake_spark_arbotix.yamlgeditfake_spark_arbotix.yaml©NXROBO2022让仿真机器人动起来-Step3修改配置文件fake_spark_arbotix.yaml文件内容如下:port:/dev/ttyUSB0baud:115200rate:20sync_write:Truesync_read:Trueread_rate:20write_rate:20controllers:{#Pololumotors:1856cpr=0.3888105mtravel=4773tickspermeter(empirical:4100)base_controller:{type:diff_controller,base_frame_id:base_footprint,base_width:0.26,ticks_meter:4100,Kp:12,Kd:12,Ki:0,Ko:50,accel_limit:1.0}}©NXROBO2022让仿真机器人动起来-Step4启动复制src/spark/spark_description/launch/spark_description_rviz.launch文档,重命名为spark_description_arbotix.launch,并在档中加入以下代码:启动此launch档,记得先载入spark环境:<nodename="arbotix"pkg="arbotix_python"type="arbotix_driver"output="screen"clear_params="true"><rosparamfile="$(findspark_description)/config/fake_spark_arbotix.yaml"command="load"/><paramname="sim"value="true"/></node>$cdspark_noetic$sourcedevel/setup.bash$roslaunchspark_descriptionspark_description_arbotix.launch©NXROBO2022让仿真机器人动起来-Step5开始控制我们打开一个新的terminal,手动发送/cmd_vel这个topic,就会看到spark模型动起来啦。$rostopicpub-r10/cmd_velgeometry_msgs/Twist'{linear:{x:0.5,y:0,z:0},angular:{x:0,y:0,z:0.5}}'©NXROBO2022键盘控制开启一个新终端并加载环境变量,并运行:©NXROBO202210$source~/spark_noetic/devel/setup.bash$rosrunspark_teleopspark_teleop_node0.21让实体机器人动起来在Spark的开发包中已经提供了底盘的驱动,我们只需要启动它,向它发送速度就可以啦,开发包中还贴心的提供了键盘控制程序。Spark的驱动包路径:src/spark_driver/base/spark_base。发送命令$source~/spark_noetic/devel/setup.bash$roslaunchspark_basespark_base.launchserialport:="/dev/sparkBase"©NXROBO2022让实体机器人动起来启动一个新的terminal窗口:串口设置正确的话,就能看到spark开始转圈圈啦。也可以在新终端窗口输入:通过键盘WASD控制SPARK移动$rostopicpub-r10/cmd_velgeometry_msgs/Twist'{linear:{x:0.5,y:0,z:0},angular:{x:0,y:0,z:0.5}}'$source~/spark/devel/setup.bash$rosrunspark_teleopspark_teleop_node0.21©NXROBO2022让实体Spark与仿真Spark同步运动启动实体Spark启动仿真Spark$source~/spark/devel/setup.bash$roslaunchspark_basespark_base.launchserialport:="/dev/sparkBase"$cdspark$sourcedevel/setup.bash$roslaunchspark_descriptionspark_description_rviz.launch©NXROBO2022发送运动指令新终端窗口输入如下指令转圈:新终端窗口输入如下指令键盘控制:$rostopicpub-r10/cmd_velgeometry_msgs/Twist'{linear:{x:0.5,y:0,z:0},angular:{x:0,y:0,z:0.5}}'$source~/spark/devel/setup.bash$rosrunspark_teleopspark_teleop_node0.21©NXROBO2022或实体Spark与仿真Spark同步运动效果怎么样,你的仿真Spark与实体Spark是不是开始同步运动了?我们可以通过输入rqt_graph指令显示节点消息图来了解他们之间的关系。另外,如果你的Spark是带有小主机的版本,也可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论