-
Notifications
You must be signed in to change notification settings - Fork 5
Navigation
Navigation is still in the process of being interconnected to the main engine and the base control unit.
- Hardware Requirements
- Tech used: ROS, Arduino, RpLidar A1, BNO055, Python, C++
For frame transforms between sensor streams, base frame and odometry we use a URDF robot model powered by the Robot State Publisher package.
We decided to use Hector Slam's mapping package because it can provide a map accurately without the need of odometry.
The robot will run following the ROS navigation stack guide.
At the moment, we have this core transform tree implemented:
We still have to set an intermediate node that processes the information sent from the Navigation Action Server and releases the /goal
topic.
This is the actual action server algorithm that is being used, it receives a string
and looks for its PoseStamped
value in a JSON. For more details of the code visit the navigation action code.
def __init__(self, name):
self._action_name = name
# Initialize Navigation Action Server
self._as = actionlib.SimpleActionServer(self._action_name, actionlib_tutorial.msg.navServAction, execute_cb=self.execute_cb, auto_start = False)
self._as.start()
Short description of the programming module
if(x=y){
return "they are the same"
}else{
return "they are different"
}
if(x=y){ return "they are the same" }else{ return "they are different" }
Additional modifications or things to improve.