This project was developed as part of ECSE 473: Modern Robotic Programming – Laboratory 2, which focused on visualizing a mobile robot model using URDF in RViz. The lab involved constructing a robot description package (navvis_description) that defines the robot’s physical structure using XACRO files, establishes static transforms between key components (e.g., base_link, imu, camera), and integrates the model with robot_state_publisher for real-time visualization in ROS Noetic.
navvis_description
├── CMakeLists.txt
├── package.xml
├── launch
│ ├── display.launch
├── config
│ └── config.rviz
├── urdf
│ ├── robot.urdf
│ └── robot.xacro
└── README.md
In order to launch the project, you should already have:
- Installed ROS Noetic
- The joint state publisher GUI
sudo apt install ros-noetic-joint-state-publisher-gui
- Gazebo plugins
sudo apt install ros-noetic-plugins
- Velodyne description
sudo apt install ros-noetic-velodyne-description
The launch file takes three arguments:
- use_robot_state_publisher:= (true|false) - whether the robot_state_publisher will be used to launch (Added for Lab#3)
- use_xacro:=(true|false) - whether the xacro file will be used to launch
- file - file name
- use_joint_state_publisher_gui=(true|false) whether the joint_state_publisher_gui will be used
-
roslaunch navvis_description display.launch
or by using some arguments:
roslaunch navvis_description display.launch use_xacro:=false use_robot_state_publisher:=true use_joint_state_publisher_gui:=true
roslaunch navvis_description display.launch use_xacro:=true
or by using some arguments:
roslaunch navvis_description display.launch use_xacro:=true use_robot_state_publisher:=true use_joint_state_publisher_gui:=true
-
roslaunch navvis_description display.launch use_joint_state_publisher_gui:=false
or by using some arguments:
roslaunch navvis_description display.launch use_xacro:=false use_robot_state_publisher:=true use_joint_state_publisher_gui:=false
roslaunch navvis_description display.launch use_xacro:=true use_joint_state_publisher_gui:=false
or by using some arguments:
roslaunch navvis_description display.launch use_xacro:=true use_robot_state_publisher:=true use_joint_state_publisher_gui:=false
roslaunch navvis_description display.launch use_xacro:=true use_robot_state_publisher:=false use_joint_state_publisher_gui:=false
- Ilke Kas - PhD at ECSE - Ilke Kas Github