IGVC Software

From RoboJackets Wiki
Jump to navigation Jump to search

General Information

Our software team uses Robot Operating System (ROS) to develop our code. ROS is a flexible framework developed for quickly prototyping of code for robotic applications. There are many libraries of code that use ROS which allow us to integrate them into our code base with ease.

Quick Links

Installation Instructions

Management

How To Guides


Package Overview

igvc_description

igvc_gazebo

Gazebo Interface

igvc_perception

Filter Lidar

Vision

igvc_navigation

Path Planner

Path Follower

State Estimator

Mapper

Waypoint

Wheel Odometer

igvc_platform

Motor Controller

IMU

Joystick Driver

System Stats

igvc_rviz_plugins

RVIZ plugins

igvc_utils

Serial

NodeUtils

NodeUtils is a utility class which contains methods that are generally useful to nodes:

void igvc::param(const ros::NodeHandle pNh, const std::string &param_name, T &param_val, const T &default_val)
Calls pNh.param with the provided parameters, outputting to ROS_ERROR_STREAM if the parameter is not provided and set from the default value
void igvc::getParam(const ros::NodeHandle &pNh, const std::string &param_name, T &param_val)
Calls pNh.getParam with the provided parameters, outputting to ROS_ERROR_STREAM if the parameter is not provided, then calls ros::shutdown() to exit.

RobotState

RobotState is a utility class which represents the state of the robot as (x, y, θ)

void setState(const nav_msgs::Odometry::ConstPtr &msg)
Sets the state from a nav_msgs::Odometry message
Eigen::Vector3d getVector3d()
Returns the state of the robot as an Eigen::Vector3d of (x, y, θ)

igvc_msgs