Skip to content

ROS PoC

Dehann Fourie edited this page Oct 9, 2021 · 10 revisions

ROS integration - proof of concept

Overview

The current proof of concept for Caesar/ROS integration consists of a set of ROS services that implement the standard operations on a factor graph (e.g. adding variables and measurements). These services can be called by the user, and are handled by a julia-based process (interfacing with ROS via RobotOS.jl).

Instructions

ROS

Add the caesar_ros to the catkin workspace of your choice.

mkdir -p ~/caesar_ws/src
cd src
git clone https://github.com/pvazteixeira/caesar_ros

Now build and configure your workspace

cd ~/caesar_ws
catkin_make
source devel/setup.sh

This last command is important, as you must have the workspace configuration in your environment when you run the julia process, so that you can import the service specifications.

Julia

Install the RobotOS package

]add RobotOS PyCall

Now try to import the service files

using RobotOS

@rosimport caesar_ros.srv: AddVariable, AddFactor 

rostypegen()

using .caesar_ros.srv

If you run into issues with @rosimport, they may be due to the python version that julia sees. Try

ENV["PYTHON"]="/usr/bin/python2.7"
]build PyCall
]add PyCall

See also