Writing URDF for robot
Hi all, am still new to ROS Noetic and the progress is not as smooth even while following ROS tutorial. Going through tutorial for urdf, the explanation on how to write urdf is understandable but it does not state where we can write our urdf.xacro file.
I have tried to edit the urdf file from urdf_tutorial but was unable to edit it.
I have also tried cloning github files to try launching the urdf.xacro file but is faced with issues as well. This is how i clone from github:
odroid@odroid:~$ cd ~/catkin_ws/src
odroid@odroid:~/catkin_ws/src$ git clone https://github.com/bandasaikrishna/Autonomous_Mobile_Robot.git
odroid@odroid:~/catkin_ws/src$ cd ~/catkin_ws
odroid@odroid:~/catkin_ws$ catkin_make
odroid@odroid:~/catkin_ws$ . ~/catkin_ws/devel/setup.bash
But launching the file from the one I clone from github returns:
odroid@odroid:~/catkin_ws/src/mobile_robot_autonomous_navigation$ roslaunch check_urdf.launch model:=urdf/mobile_robot.urdf
RLException: [check_urdf.launch] is not a launch file name
The traceback for the exception was written to the log file
Tried other solutions:
odroid@odroid:~$ source /home/odroid/catkin_ws/devel/setup.bash
odroid@odroid:~$ roslaunch mobile_robot_autonomous_navigation check_urdf.launch
RLException: Invalid <param> tag: Cannot load command parameter [robot_description]: no such command [['/opt/ros/noetic/share/xacro/xacro.py', '/home/odroid/catkin_ws/src/mobile_robot_autonomous_navigation/urdf/mobile_robot.urdf.xacro']].
Param xml is <param name="robot_description" command="$(find xacro)/xacro.py $(arg model)"/>
The traceback for the exception was written to the log file
So question in summary: 1- Where and how can I create and write urdf file? 2- What are the errors I have faced aboveand any soluiton?
I Thank you all in advance and really appreciate any help. Thank you, really.
ANSWER:
The main issue is due to xacro.py
being deprecated. Though my workspace does seem to have issue with sourcing the setup.bash
from catkin_ws
.
Deleted and re-build (used catkin build
instead of catkin_make
) Catkin workspace and ran source /home/odroid/catkin_ws/devel/setup.bash
.