Implementação do chefbot de acordo com o livro:
Learning Robotics using Python,
Resumido no seguinte artigo:
https://hackaday.io/project/8588-diy-autonomous-mobile-robot
Num robot com um Arduino mega e um Portatil x86_64
Programas usados disponiveis em:
https://github.com/qboticslabs/Chefbot_ROS_pkg
Neste projecto procurei efectuar exactamente as instruções do livro, e por isso foram usadas as versões do ubuntu e ros indicadas pelo livro, respectivamente:
- ubuntu 14.04
- ros indigo
O livro não foi integralmente seguido e segue a descrição dos resultados, dificuldades e soluções.
Implementei parcialmente a parte do design2D e 3D descrito no capitulo 2, porque não consegui perceber como desenhar algumas partes, mais tarde encontrei ficheiros;
Implementei as simulações no gazebo descritas no capitulo 3, mas tive algumas dificuldades com crashs nas simulações;
Implementei o robot final conforme o capitulo 10 com sucesso e as seguintes dificuldades e soluções:
Problema da selecção da porta serie correcta, resolvido com a modificação dos ficheiros disponiveis em: chefbot_bringup/param .
Problema do teleop não funcionar, resolvido com a modificação do ficheiro:
chefbot_bringup/launch/keyboard_teleop.launch
alterar
<remap from=”chefbot_teleop_keyboard/cmd_vel” to=”cmd_vel_mux/input/teleop”/>
para
<remap from=”chefbot_teleop_keyboard/cmd_vel” to=”cmd_vel”/>
Este problema acontece, porque o mux não está a funcionar e portanto não faz a subscrição do topico cmd_vel_mux/input/teleop e a respectiva publicação no topico cmd_vel.
https://github.com/varsheim/ChefBot
Integration of ChefBot Hardware and Interfacing it into ROS, Using Python
https://github.com/qboticslabs/mastering_ros
COMANDOS
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
catkin_init_workspace
cd ~/catkin_ws
catkin_make
cd ~/catkin_ws/src/
catkin_create_pkg hello_world std_msgs rospy
cd hello_world/
mkdir scripts
cd scripts/
—
cd ~/catkin_ws
catkin_make
echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
source ~/catkin_ws/devel/setup.bash
roscore
rosrun hello_world hello_world_publisher.py
rosrun hello_world hello_world_subscriber.py
rostopic list
rosnode list
————————-
sudo apt-get install ros-indigo-gazebo-ros-pkgs ros-indigo-gazebo-ros-control
rosrun gazebo_ros gazebo
rosrun gazebo_ros gzserver
rosrun gazebo_ros gzclient
———————————–
sudo apt-get install synaptic
sudo synaptic
search for ros-indigo-rocon
install all
sudo apt install ros-indigo-rocon-*
search for ros-indigo-kobuki
sudo apt install ros-indigo-kobuki-*
sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon
mkdir ~/turtlebot
cd ~/turtlebot
wstool init src -j5 https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/turtlebot.rosinstall
rosdep install –from-paths src -i -y
catkin_make
echo “source ~/turtlebot/devel/setup.bash” >> ~/.bashrc
source ~/turtlebot/devel/setup.bash
roslaunch turtlebot_gazebo turtlebot_empty_world.launch
roslaunch turtlebot_gazebo turtlebot_world.launch
roslaunch turtlebot_teleop keyboard_teleop.launch
roslaunch turtlebot_rviz_launchers view_robot.launch
——————————————————–
git clone https://github.com/qboticslabs/Chefbot_ROS_pkg.git
cd ~/catkin_ws/src
#mkdir chefbot
#cd chefbot
sudo apt-get install ros-indigo-openni-camera ros-indigo-openni-launch
#catkin_create_pkg chefbot_gazebo depthimage_to_laserscan diagnostic_aggregator gazebo_ros kobuki_gazebo_plugins robot_pose_ekf robot_state_publisher xacro yocs_cmd_vel_mux create_gazebo_plugins create_description create_driver create_node
copy files from chefbot folder from git
cd ~/catkin_ws
catkin_make
——
roslaunch chefbot_gazebo gmapping_demo.launch
roslaunch turtlebot_rviz_launchers view_navigation.launch
roslaunch turtlebot_teleop keyboard_teleop.launch
rosrun map_server map_saver -f ~/hotel_world
—————–
roscore
rosrun chefbot_bringup launchpad_node.py _port:=/dev/ttyUSB1
roscore
roslaunch chefbot_bringup robot_standalone.launch _port:=/dev/ttyUSB1
roslaunch chefbot_bringup keyboard_teleop.launch
rostopic pub right_wheel_speed std_msgs/Float32 120
rostopic pub right_wheel_speed std_msgs/Float32 0
rostopic pub rwheel_vtarget std_msgs/Float32 60
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist ‘{linear: {x: 0.1, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}’