Skip to content

Latest commit

 

History

174 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EDT-Lunabotics-2025

EDT-Logo

╔═║╔═║╔═║ ╝╔═╝╔═╝═╔╝  ╔═ ╔═╝╔═║═╔╝║ ║╔═ ╔═╝
╔═╝╔╔╝║ ║ ║╔═╝║   ║   ║ ║╔═╝╔═╝ ║ ║ ║║ ║╔═╝
╝  ╝ ╝══╝═╝══╝══╝ ╝   ╝ ╝══╝╝   ╝ ══╝╝ ╝══╝

Packages

  • neptune_bringup
  • controller_pkg
  • vision_pkg
  • webgui_pkg
  • interfaces_pkg
  • localization_pkg

Description


This is a GitHub repository created for the University of Illinois Chicago Engineering Design Team for the NASA Lunabotics 2025 competition.

Potential Bugs and their fixes.

Video Cameras not showing (and not throwing the error: "Failed to open USB RGB camera 1 (/dev/video6)")" etc

fix: run "v4l2-ctl --list-devices" in /home/Desktop/robot_WS
find the webcameras, and put the top directory, itll look /dev/videox, where x is any number, and paste it into rs_camera_node.cpp in vision_pkg. this requires recompiling- colcon build --packages-select vision_pkg

"ROS Webbridge is overloaded- restarting in 2ms"

fix: okay so we started the robot too many times on the same uptime for the jetson. The cache is overloaded- and unfourtently the only fix is to restart the Jetson entirely. This happens after starting the robot 5+ times on the same uptime.

/joy topic not found

there should be /joy topic always, run ros topic list and look for /joy. then echo ros topic echo /joy
if nothing comes up, something is wrong, likely the ROS bridge being overloaded. restart the jetson.

Building and sourcing throwing an error.

fix: build and remove cached artifiacts. colcon build --cmake-clean-cache

Controller not sending signals, despite /joy being up

fix: you are not pressing the trigger! press right or left trigger to ensure connection is through. check ros topic echo /joy for any changes. 

CAN Interface not found / CAN is busy

fix: sudo ip link set can0 up type can bitrate 1000000 || OR || lift E-stop (if busy).

robot isnt moving, no heartbeat sent.

fix: sometimes when the E-stop is pushed down midway and can gets consistently full, the controller node stops sending heartbeats. please run "ros2 run controller_pkg controller_node &"

Clock Skew

fix: run "date" on the jetson. you might get a date/time that is off from the current time / date. then, run "sudo date -s "2025-05-15 10:00:00" (change the date to the current date) and run colcon build.

if you still encounter clock skew after this, you will have to "touch" all files to replace their time and date- "find . -exec touch {} +" IN THE ROOT OF THE WORKSPACE (ROBOT_WS)! !! DOING THIS OUTSIDE WILL BREAK THE JETSON!

then you may need to clear artificatsion, in robot_WS do "rm -rf build/ install/ log/" and then finally build again, "colcon build --symlink-install"

Depositing Not working / Freezes up.

the service isnt displaying. press b to kill the service then try auto depositing again

rs_camera_node fails and dies instantly, with -11 error code.

make sure the d455 is plugged in.

Installation


(Optional) Using Docker

Pull and run the ROS2 Humble Docker Image

docker run -it --network=host --privileged -v /dev/:/dev/ --name=ros-workspace ros:humble-ros-base

Active and stopped containers can be listed using

docker ps --all

If the container ros-workspace is already running, checked with the command above, then you can either reattach to it using

docker start ros-workspace && docker attach ros-workspace

OR remove the container using

docker rm ros-workspace

Note: Removing the container means the entire container must be reinstalled; however, the ros-humble-base image remains.

Clone this Github Repo

git clone git@github.com/educationmoment/EDT-Lunabotics-2025.git && cd EDT-Lunabotics-2025/

From within a computer running Ubuntu 22.04, run install.sh script with root privileges using

sudo echo install.sh | bash

The script periodically asks for user input and was designed to run inside a Docker container. It updates the system, installs the Robotics Operating System (ROS2 Humble), and several dependencies.

Setup


Build the Project

From within the workspace, run the following to build the entire project.

colcon build

SparkCAN and Control Area Networks (CAN) will require the setup of the CAN interface on the host system. A CAN interface should be immediately visible upon connecting the USB-to-CAN adapter. It may initially show as DOWN. Configure the CAN interface using

sudo ip link set can0 up type can bitrate 1000000

At this point, launch the robot using

ros2 launch neptune_bringup neptune.launch.py

The pilot can access the WebGUI by visiting

http://192.168.0.140:59440/pilot

You can also view the health status of the robot with

ros2 topic echo health_topic

Before UCF and then KSC, make sure to copy over the appropriate version of odometry onto odometry_node.cpp. Also, note that the pilot needs to be clicked into the WebGUI for this to work. To run it, use

ros2 run controller_pkg odometry_node

About

A repository to store the code for the UIC Engineering Design Team's Lunabotics-2025 robot.

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages