This repo contains 2 independent projects:
This package contains files that control the turtlebot's speed and direction, and make it move in an eight-shape trajectory.
- The turtlebot begins in a 
pausedstate and believe that that configuration is (x, y, z) = (0, 0, 0), relative to it's odometry frame. - Upon calling the 
resumeservice, the turtlebot will enter a "moving" state and begin following the eight-shape trajectory. - Upon calling the 
pauseservice, the turtlebot will pause its motion, without resetting its position. 
In this part I created a Xacro URDF for the robot arm shown below, visualized it in rviz, and made it's end-effector follow a trajectory.
Create a workspace, clone the repo, and build the workspace:
mkdir -p ws/src && cd ws/src
git clone https://github.com/YaelBenShalom/Turtle-Trajectories-and-Xacro-ARM.git
cd ../..
catkin_make
source devel/setup.bash 
- 
To activate the turtle, SSH into the turtlebot (
ssh ubuntu@turtlebot.local) and runroslaunch turtlebot3_bringup turtlebot3_robot.launch. - 
To start running the turtlebot in figure-eight trajectory, run
roslaunch Turtle-Trajectories-and-Xacro-ARM figure_eight.launch. The turtle begins in apausedstate.- To launch the rqt_plot and show the turtlebot's x and y position (from odometry) vs. time, add 
rqt_plot:=Trueto the roslaunch command. 
- To launch the turtlebot Gazebo simulation, add 
Gazebo:=Trueto the roslaunch command. 
- To launch the turtlebot Gazebo simulation, add 
rviz:=Trueto the roslaunch command. 
 - To launch the rqt_plot and show the turtlebot's x and y position (from odometry) vs. time, add 
 - 
To move the turtle, call the service
resume(rosservice call /resume). - 
To pause the turtle movement, call the service
pause(rosservice call /pause). - 
To change the parameters
width(W - the width of the figure eight),height(H - the height of the figure eight),period(T - the period of time it takes the turtlebot to complete the figure eight), edit the fileconfig/trajectory.yaml - 
To change the parameter
pub_freq(R - the frequency at which we publish the cmd_vel messages) edit the filelaunch/figure_eight.launch. - 
To test the calculated values at t=0 and at t=T/2 (half a cycle), run
catkin_make run_testsfrom the root of workspace. - 
To see the transformation between the
worldframe and theodomframe, runrosrun tf tf_echo /world /odom - 
To watch the rqt tree, run
rosrun rqt_tf_tree rqt_tf_tree 
- To run the arm launchfile on rviz, run 
roslaunch Turtle-Trajectories-and-Xacro-ARM xacro_arm.launch. - To run the launchfile on rviz with gui, run 
roslaunch Turtle-Trajectories-and-Xacro-ARM xacro_arm.launch gui:=True - To run the arm launchfile on rviz with the marker, run 
roslaunch Turtle-Trajectories-and-Xacro-ARM mark_arm.launch 





