Skip to content

moudallal/RoboticsND-Project2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

RoboticsND: Project #2

This repository contains the files for Udacity's Robotics Nanodegree's Second Project.

Find Udacity's Robotics Software Engineering Nanodegree here.

Project Requirements

  • Design a differential drive robot using URDF with a camera and a LIDAR sensor
  • Create a new world environment in Gazebo
  • Create a custom robot ROS package to hold the robot, a white ball, and the world
  • Create a ball_chaser ROS package to hold all C++ nodes
  • Write a drive_bot C++ node that will provide a ball_chaser/command_robot service to drive the robot by controlling its linear x and angular z velocities
  • Write a process_image C++ node that reads your robot’s camera image, analyzes it to determine the presence and position of a white ball

The requirements of this project were met as approved by Udacity's reviewers.

Design Process

  • Designed a differential drive robot using Solidworks (STLs available inside my_robot/meshes) then exported it to URDF using Solidworks to URDF Exporter
  • Tweaked URDF to fix axis and coordinate systems, added camera and LIDAR sensor to robot model
  • Designed a maze world using Gazebo's Building Editor based on this maze
  • Wrote C++ nodes drive_bot and process_image to drive the robot's wheels based on the position of the white ball as obtained by the latter node
  • Packaged launching into a single launch file for each of the ROS packages

Screenshots

Find the following images showing the a few details of the project.

Fig.1 - Solidworks Render of Robot Model


Fig.2 - Close Up View of Robot Model in Gazebo


Fig.3 - Gazebo Maze World View


Fig.4 - Top View of Gazebo Maze World


Credits

This project was fully done by myself.

About

This repository contains the files for Udacity's Robotics Nanodegree's Second Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published