Skip to content

airacingtech/Cast-Transponder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transponder

Transponder between cars for the Indy Autonomous Challenge.

Features

  • Arduino based
  • ROS2 node example
  • Powered via PoE

image

Theory of Operation

The ESP32-PoE-ISO listens to UDP packets published from the ROS2 node transponder2ros_node. These are then packaged with a header and a checksum and sent out as serial data over the xbee network to all the available nodes. The ESP32-PoE-ISO takes any received packets over the xbee network, checks their integrity, and converts them back into UDP packets, and forwards them back to the transponder2ros_node. The node then publishes the data out as a transponder_msgs::msg::Transponder onto the ROS2 network.

Each air packet is about 40 bytes long, so the network can handle about XXXXX, to test in real world conditions packets/sec between all nodes. The data format is designed to look like a GPS packet with some additional information, so make sure to read the comments in the .msg file to ensure your data is in the correct units (and scales). All data should be referenced from the centre of the rear axle and the time reference is UTC.

Installation

ROS2

All dependencies on the ROS2 side can be installed via rosdep. From your main workspace folder, run rosdep install --from-paths src --ignore-src -r -y. If you have trouble with finding geographiclibs, debian/ubuntu installs FindGeographicLib.cmake in a non-standard location, but this should be covered in the CMakeLists.txt file.

Arduino

The Arduino code is only required to update the transponder firmware. See the Arduino README.md for installation instructions.

XBee

XTCU is used to configure the XBee. This should only be required once.

Component Setup

See the individual README.md files in each folder for more information - ESP32-PoE-ISO (Arduino) / ROS / XBee / Hardware.

About

Repo for the car-to-car transponder system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 80.4%
  • CMake 7.8%
  • C 6.6%
  • Python 4.6%
  • Shell 0.6%