Coder Social home page Coder Social logo

menayal / nasa_lunabotics_robot_files Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 677 KB

This repository holds all files for my robot. Specifically in the new_robot_urdf package.

CMake 60.19% Python 38.54% Shell 1.27%
robotics robot ros ros-melodic python3 python nasa

nasa_lunabotics_robot_files's Introduction

NASA Lunabotics Robot Mining Competition

This repository contains files for the NASA Lunabotics Robot Mining Competition. This repository holds a single package named "my_robot_urdf". The repository has files on the robot's model, configuration, and navigation.

Getting Started

This robot uses ROS Melodic on Ubuntu 18.04 and is developed in Python. If using Python3 head over to the python3Version branch to walkthrough how to use that.

Please make sure to go through these instructions with a new virtual machine to properly configure ROS on your operating system. Then, start the ROS Tutorials.

Prerequisites

Create a GitHub account and install Git on your machine.

Go through the ROS URDF Tutorials. This is not absolutely necessary, but highly recommended so you can get a good foundation on what is actually going on.

Installing

You are now ready to get these files onto your machine.

You should already have a catkin_ws on your machine from following the ROS Tutorials.

Change into that workspace (enter your workspace name where the quotations are):

cd "your_ws"

Make sure to source your workspace if you haven't already:

source devel/setup.bash

Move into src

cd src

This is where the robot's packages live. Now you need to get my package onto your machine.

Run either one of the two choices based on your preference:

A) HTTPS:

git clone https://github.com/menayal/NASA_Lunabotics_Robot_Files.git

B) SSH:

git clone [email protected]:menayal/NASA_Lunabotics_Robot_Files.git

You should now have my robot's package on your workspace.

This repository's name is different from my packages actual name, so we will change the name to what the rest of my repository uses.

mv NASA_Lunabotics_Robot_Files/ new_robot_urdf 

Now you need to move into the root of your workspace and build the package.

cd ~/"your_ws"

catkin_make

My package is now on your machine. There are some folders and files that you will not need. For example, the "old_robot_model_files" directory or the "README.md".

This is a visual representation of what your src should look like.

├── CMakeLists.txt
└── new_robot_urdf
    ├── CMakeLists.txt
    ├── config
    ├── info
    ├── launch
    ├── meshes
    ├── old_robot_model_files
    ├── package.xml
    ├── README.md
    ├── rviz
    ├── scripts
    └── urdf

View the robot in RVIZ and Gazebo

RVIZ and Gazebo allow you to view your robot's URDF model.

RVIZ is a 3D visualization tool that allows you to see what the robot is seeing and doing.

To view the robot in RVIZ:

Move into the workspace where you downloaded the previous package (enter your workspace name where the quotations are):

cd "your_ws"

Make sure to source your workspace if you haven't already:

source devel/setup.bash

Now run:

roslaunch new_robot_urdf launch_rviz.launch  

This launches the robot into just RVIZ. It also displays the joint state publishers node that has sliders to control some of the links(parts of the robot). It allows you to see how the links move in a very simplified motion.

To view the robot in Gazebo:

Gazebo is a simulation tool that allows you to simulate how your robot will move around in an environment.

Move into the workspace where you downloaded the package (enter your workspace name where the quotations are):

cd "your_ws"

Make sure to source your workspace if you haven't already:

source devel/setup.bash

Now run:

roslaunch new_robot_urdf nasa_bot.launch  

This will launch the robot in Gazebo and will also launch RVIZ at the same time. As you can see the robot is now visible in RVIZ (may take a few seconds to fully load) and Gazebo (will also take a few seconds to load).

In addition to loading the robot, the launch files also launch rqt_robot_steering. This will let you control the robot with some sliders.

Screen Shot 2022-02-09 at 10 27 46 PM

Note that Gazebo will be very slow if your computer does not have a lot of ram or processing power. If you are running a VM and it is running slow, try allocating more ram or processors in the settings where the VM is managed.

Acknowledgments

  • Credit to ZBO-R8io for the assistance and robot's URDF model.

Resources

nasa_lunabotics_robot_files's People

Contributors

menayal avatar

Stargazers

Atticus Russell avatar Gabe Wozniak avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.