日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS学习:创建机器人的urdf

發布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS学习:创建机器人的urdf 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ROS學習之路08:創建機器人的urdf(xacro)模型并通過rviz可視化_Hi, Robotics-CSDN博客_urdf可視化

1 創建工作空間

mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd .. catkin_make

注意:上面的?catkin_make 可能用 catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

2 在工作空間中創建功能包

cd ~/catkin_ws/src catkin_create_pkg custom_urdf roscpp urdf tf rviz geometry_msgs cd .. catkin_make echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc

檢查soucre的結果:

printenv | grep ROS

?3 向功能包添加機器人的urdf模型

roscd custom_urdf mkdir rviz mkdir launch mkdir urdf && cd urdf gedit four_wheels_car.urdf

向four_wheels_car.urdf文件添加如下的內容:

*下面的資料綜合看,能比較全面入門urdf模型的rviz可視化

?檢查urdf文件的合適性。

check_urdf?? four_wheels_car.urdf

顯示urdf的數據

urdf_to_graphiz four_wheels_car.urdf

evince four_wheels_car.pdf

4 編寫launch啟動文件

roscd custom_urdf/launch gedit view_car.launch

黏貼代碼:

<launch><arg name = "model"/><param name = "robot_description" textfile = "$(find custom_urdf)/urdf/four_wheels_car.urdf"/><param name = "use_gui" value = "true"/><node name = "joint_state_publisher"pkg = "joint_state_publisher"type = "joint_state_publisher"/><node name = "robot_state_publisher"pkg = "robot_state_publisher"type = "state_publisher"/><node name = "rviz"pkg = "rviz"type = "rviz"args = "-d $(find custom_urdf)/rviz/urdf.rviz"required = "true"/> </launch>

注意:節點rviz中的args參數加載功能包的 rviz 目錄下的 .rviz 配置文件,因為一開始我們并沒有配置rviz任何選項,所以該配置文件并不存在,只有當我們通過launch文件打開了rviz,通過配置rviz然后保存配置文件到功能包的rviz目錄下,并將配置文件另存為urdf.rviz文件,當我們再次啟動rviz節點的時候,rviz就會自動加載配置文件,我們就不需要手動設置了.

5 啟動節點,通過rviz查看機器人模型

roslaunch custom_urdf view_demo_xacro.launch

已經顯示出結果。

包存放路徑:

6 向功能包添加機器人的xacro文件

pan_tilt.xacro

<?xml version="1.0" ?> <robot name="pan_tilt" xmlns:xacro="http://ros.org/wiki/xacro"><xacro:property name = "base_link_length" value = "0.01"/><xacro:property name = "base_link_radius" value = "0.2"/><xacro:property name = "pan_link_length" value = "0.4"/><xacro:property name = "pan_link_radius" value = "0.04"/><xacro:property name = "tilt_link_length" value = "0.4"/><xacro:property name = "tilt_link_radius" value = "0.04"/><xacro:macro name = "inertial_matrix" params = "mass"><inertial><mass value = "${mass}"/><inertia ixx = "0.5" ixy = "0.0" ixz = "0.0"iyy = "0.5" iyz = "0.0"izz = "0.5"/></inertial></xacro:macro><link name = "base_link"><visual><geometry><cylinder length = "${base_link_length}" radius = "${base_link_radius}"/></geometry><origin xyz = "0 0 0" rpy = "0 0 0"/><material name = "yellow"><color rgba = "1 1 0 1"/></material></visual><collision><geometry><cylinder length="${base_link_length+0.02}" radius="0.2"/></geometry><origin rpy="0 0 0" xyz="0 0 0"/></collision><xacro:inertial_matrix mass="1"/></link><joint name="pan_joint" type="revolute"><parent link="base_link"/><child link="pan_link"/><origin xyz="0 0 0.1"/><axis xyz="0 0 1" /><limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/><dynamics damping="50" friction="1"/></joint><link name="pan_link"><visual><geometry><cylinder length="${pan_link_length}" radius="${pan_link_radius}"/></geometry><origin rpy="0 0 0" xyz="0 0 0.09"/><material name="red"><color rgba="0 0 1 1"/></material></visual><collision><geometry><cylinder length="${pan_link_length}" radius="${pan_link_radius+0.02}"/></geometry><origin rpy="0 0 0" xyz="0 0 0.09"/></collision><xacro:inertial_matrix mass="1"/></link><joint name="tilt_joint" type="revolute"><parent link="pan_link"/><child link="tilt_link"/><origin xyz="0 0 0.2"/><axis xyz="0 1 0" /><limit effort="300" velocity="0.1" lower="-4.64" upper="-1.5"/><dynamics damping="50" friction="1"/></joint><link name="tilt_link"><visual><geometry><cylinder length="${tilt_link_length}" radius="${tilt_link_radius}"/></geometry><origin rpy="0 1.5 0" xyz="0 0 0"/><material name="green"><color rgba="1 0 0 1"/></material></visual><collision><geometry><cylinder length="${tilt_link_length}" radius="${tilt_link_radius+0.2}"/></geometry><origin rpy="0 1.5 0" xyz="0 0 0"/></collision><xacro:inertial_matrix mass="1"/></link></robot>

view_demo_xacro.launch

<launch><arg name="model"/><param name="robot_description"command="$(find xacro)/xacro --inorder $(find custom_urdf)/urdf/pan_tilt.xacro"/><param name="use_gui" value="true"/><node name="joint_state_publisher"pkg="joint_state_publisher"type="joint_state_publisher"/><node name="robot_state_publisher"pkg="robot_state_publisher"type="state_publisher"/><node name="rviz"pkg="rviz"type="rviz"args="-d $(find custom_urdf)/urdf.rviz"required="true" /> </launch>

在rviz中查看機器人模型

roslaunch custom_urdf view_demo_xacro.launch

我們可以把 view_demo_xacro.launch 文件中的如下內容:
<param name="robot_description" command="$(find xacro)/xacro --inorder $(find custom_urdf)/urdf/pan_tilt.xacro"/>
換成:
<param name="robot_description" command="$(find xacro)/xacro $(arg model)"/>
這樣我們可以通過傳入參數來加載機器人模型:

roscd custom_urdf
roslaunch custom_urdf view_demo_xacro.launch model:=urdf/pan_tilt.xacro

完成了機器人簡單的urdf和xacro文件的編寫
Enjoy It!
?

參考文獻:

【1】https://blog.csdn.net/l1216766050/article/details/79586425#commentBox

【2】ROS學習之路08:創建機器人的urdf(xacro)模型并通過rviz可視化【*下面的資料綜合看,能比較全面入門urdf模型的rviz可視化】
【3】ros模型建立——urdf 【下面這篇有報錯的解決方法】
【4】urdf文件在rviz中顯示的launch文件配置【這篇文章有launch文件的詳細解釋】

【5】https://zhuanlan.zhihu.com/p/67741739

【6】將xacro格式文件轉換為urdf格式并檢查格式是否正確常用方式 - 木雞 - 博客園
【7】康娜喵的博客_CSDN博客

總結

以上是生活随笔為你收集整理的ROS学习:创建机器人的urdf的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人一区二区三区小说 | 亚洲理论视频 | 久久综合影视 | 国产精品国产三级国产在线观看 | 天天摸日日摸狠狠添 | 高h视频在线免费观看 | 欧美人禽杂交狂配 | 91网国产| 欧美特黄aaaaaa | 久久亚洲一区 | 午夜精品久久久久久久第一页按摩 | 玉女心经在线看 | 激情六月 | 日韩欧美91 | 日本不卡在线播放 | 91精品国产高清一区二区三密臀 | 国产婷婷色综合av蜜臀av | 人人狠狠综合久久亚洲 | 国产一区综合 | 欧美不卡一区二区三区 | 欧美色图在线观看 | v片在线观看 | 国产一区视频在线免费观看 | 色图视频 | 国产精品一区二区精品 | 欧美一级网站 | 老熟妇仑乱视频一区二区 | 久久久亚洲成人 | 国产乱论 | 精品亚洲中文字幕 | 久久99视频 | 一个人看的www片免费高清中文 | 超碰77| 自由成熟xxxx色视频 | 天堂av在线电影 | 无码人妻精品丰满熟人区 | 91久久国产精品 | 精品在线观看免费 | 成人v| 97日日夜夜| 人妻视频一区二区 | 欧美日韩在线免费播放 | 国产免费播放 | www.x日本| 日韩亚洲影院 | 男同志毛片特黄毛片 | 玉蒲团在线 | 鬼灭之刃柱训练篇在线观看 | 性生交生活影碟片 | 亚洲视频手机在线观看 | 福利免费在线观看 | 久久成人在线观看 | 日韩a级一片 | 岛国二区 | 国产成人激情视频 | 看一级黄色大片 | 色花堂在线 | 欧洲色av | 丰满少妇麻豆av苏语棠 | 日韩一区二区在线免费观看 | 尤物一区二区 | jzz在线观看 | 国产一国产二国产三 | aa视频在线观看 | 五月激情丁香婷婷 | 91一区二区三区 | 成人国产毛片 | 亚洲国产一区二区三区a毛片 | 日本免费一二三区 | 高清成人 | 91福利视频导航 | 日韩av一卡 | 亚洲色图综合网 | 日日射视频 | 午夜淫片 | 亚洲成人中文字幕在线 | 久久国产精品久久国产精品 | 国产调教在线观看 | 自拍偷拍电影 | 亚洲无码久久久久久久 | 成人精品视频在线播放 | 日本深夜福利 | 青草草在线观看 | 国产美女一级片 | 精品一区二区在线观看 | 高清免费av | 黑人巨大精品欧美黑寡妇 | 久久密av| 在线视频一区二区三区四区 | 日韩av伦理 | 狠狠五月天 | 亚洲网站在线 | 欧美成人a交片免费看 | 久久久久亚洲AV | 欧美色狠| 国产精品久久久久9999爆乳 | 国产视频一级 | 公肉吊粗大爽色翁浪妇视频 | 向日葵视频在线 |