Skip to content

FRC900/2023RobotCode

Repository files navigation

2022 FRC900 Robot Code Build Status

2023 Robot Code

Package list

  • adi_driver - submodule - ADI IMU ROS node
  • as726x_controllers - ROS controller for as726x color sensor
  • as726x_interface - state and command interfaces for as726x color sensor
  • as726x_msgs - custom messages for as726x color sensor
  • base_trajectory - code to generate splie-based paths for the drive base to follow
  • base_trajectory_msgs - custom messages used by base_trajectory
  • behavior_actions - action definitions for the behavior package
  • behaviors - actionlib servers and clients for the robot
  • cancoder_controller - ROS controller for CTRE cancoder
  • canifier_controller - ROS controller for CTRE canifier
  • canifier_controller_msgs - custom messages for canifier_controller package
  • cmake_modules - Scripts to set build options for the code
  • color_spin - compute optimal spin distance and direction for each color transition on the color wheel
  • controller_node - holds top-level launch and config files for the robots
  • controllers_2019 - ROS controllers for 2019 robot mechanisms
  • controllers_2019_msgs - custom messages used by controllers_2019
  • controllers_2020 - ROS controllers for 2020 robot mechanisms
  • controllers_2020_msgs - custom messages used by controllers_2020
  • control_toolbox - submodule - ROS package that needs to be built locally to pick up changes to realtime_tools package
  • cpu_monitor - submodule - package which logs CPU use of other nodes
  • ddynamic_reconfigure - submodule - wrapper code to simplify using ROS dynamic reconfigure
  • demo_tf_node - example code for using ROS tf transforms between various reference frames
  • dynamic_reconfigure_wrapper - wrapper code to simplify using ROS dynamic reconfigure - obsolete, use ddynamic_reconfigure instead for new code
  • field_obj - custom messages for field_obj package
  • field_obj_tracker - Code to identify characteristics of objects on the field
  • frc_interfaces - state and command interfaces for FRC-specific data - match data, PCM, PDP, etc
  • frc_msgs - message used by frc_state_contrllers package
  • frcrobot_description - URDF definitions for swerve robots
  • frc_state_controllers - ROS controllers to publish state for various FRC-specific hardware
  • goal_detection - node to detect retro-reflective tape
  • imu_zero - node which applies an offset to imu messages to allow for zeroing field-centric driving
  • navx_publisher - submodule - ROS node for navX imu
  • path_follower - node which follows paths generated by base_trajectory
  • path_follower_msgs - custom messages for path_follower node
  • pf_localization - Particle filter localization node
  • pid - submodule - our fork of the ROS PID node, adds feed-forward
  • realsense - submodule - ROS nodes for Intel Realsense cameras
  • realtime_tools - submodule - fork of ROS realtime tools, fixed to allow non-polling implementation of realtime_publisher
  • robot_characterization - nodes to generate data for the WPIlib robot characterization package
  • robot_visualizer - package which monitors talon state and uses it to plot robot position
  • rosbag_scripts - scripts to search for events in ros bag files
  • ros_control_boilerplate - Home of the hardware and simulation interfaces
  • ros_controllers - submodule - ROS package that needs to be built locally to pick up changes to realtime_tools package
  • rospy_message_converter
  • rqt_driver_station_sim - simulated driver station for simulation interface
  • spline_util - helper code to generate and use splines
  • stage_ros - submodule - stage simulator for ROS, provides basic 2d graphical sim of robot and sensors (fork which includes fiducial markers)
  • state_handle - helper code for defining ROS state and command interfaces and handles
  • state_listener - ROS controller used to pass joint data between hardware interfaces
  • static_controller - ROS controller which publishes a constant value when loaded - used to indicate that all other controllers have been started and the robot is ready to enable
  • talon_controllers - ROS controllers for CTRE motor controllers and other CAN hardare
  • talon_interface - state and command interfaces for CTRE hardware
  • talon_state_controller - ROS controllers which publish CTRE hardware state
  • talon_state_msgs - custom messages used by talon_state_controllers
  • talon_swerve_drive_controller - Drive base controller for swerve drive using CTRE motor controllers
  • teleop_joystick_control - convert joystic data into robot actions
  • template_controller - example controller code
  • teraranger - submodule - code for teraranger distance sensors
  • teraranger_array - submodule - code for teraranger distance sensors
  • teraranger_array_converter - submodule - code for teraranger distance sensors
  • teraranger_description - submodule - code for teraranger distance sensors
  • tf_object_detection - Code for neural-net based object detection
  • uptime - publish uptime info, used to monitor for CPU resets
  • visualize_profile - script to visualize motion profile
  • zed-ros-wrapper - submodule - fork of ROS node for Stereolabs ZED camera
  • zms_writer - code to write RGB+D image info into a custom file format

2019 Offseason Changelog Offseason dev sandbox for 2019 fall offseason

Notable updates since the 2019 comp season release

  • improments to auto-align hatch panel pickup and placement
  • add feed-forward to ROS' default PID node
  • add a node to publish system uptime
  • add a node to zero IMU data (for aligning field-centric swerve)
  • optimization to reduce frequency of various HAL calls on the Rio
  • add code to sim driver station to set limit switches and line break sensors in simulator
  • add code to base trajectory node to auto-generate and optimize spline-based paths
  • fixed swerve base odometry calculations
  • log Talon / Victor firmware verions
  • switch hardware interface time functions to std C++ - prep for running on Windows
  • script to make sure USB-attached CAN device is actually attached (can_up.sh)
  • Experimental / hacked up branch to use ROS PinholeCameraModel for screen to world coord conversions
  • Updates for 2020 beta wpilib & Rio image
  • clean up lots of unused packages and configs
  • vim doesn't flash the screen on errors!