This project is the wrapper of invariant-ekf for MiniCheetah. It takes input from LCM/UDP, and performs EKF update on IMU-contact odometry.
- Change
lcm_enable_debug_output
param in config/settings.yaml to false if no debug output is wanted for receiving lcm messages - Change
project_root_dir
param in config/settings.yaml to filepath to your installation directory for this repo - Change
estimator_enable_debug
param in config/settings.yaml to true if you want to view the state of the inekf in the terminal while it is running - Change
estimator_publish_visualization_markers
param in config/settings.yaml to true if you want to publish the robot pose over LCM channel "LCM_POSE_CHANNEL" - Change
estimator_lcm_pose_channel
param in config/settings.yaml to true if you want to change the name of the LCM channel that the robot pose is published over - Change
estimator_static_bias_initialization
param in config/settings.yaml to true if you want to initialize static bias for the IMU - Change
system_enable_pose_publisher
param in config/settings.yaml to true if you want to save the robot pose to file and publish the robot pose over ROS - Change
system_inekf_pose_filename
andsystem_inekf_tum_pose_filename
params in config/settings.yaml to a different filepath to specify which files you would like the robot poses to be saved to (the second is a tum syntax)
- cd cheetah_inekf_lcm_root_directory/scripts
- bash ./make_types.sh
- cd ~/pathto/catkin_ws
- In a new terminal in the catkin_ws, do catkin_make (perhaps multiple times)
- Run
source ~/devel/setup.bash
- In the same terminal, run
rosrun cheetah_inekf_lcm cheetah_estimator
- Run
lcm file lcm-logplayer --speed=1.0 --lcm-url=udpm://239.255.76.67:7667?ttl=2 NAME_OF_LCM_LOG_FILE_HERE
- The terminal should begin printing out the robot state if the settings.yaml output variables are enabled
- Start running the cheetah estimator using the instructions above
- Enter
rviz
in the terminal - Select
Add by topic
setting and select path - Changed fixed frame to the same value as
map_frame_id
in config/settings.yaml - The robot pose should begin being drawn in rviz