# PIU PIU --- :::info :bulb: **電源**: Udoo 12V3A, Dynamixel 12V ::: ## Teleop ##### [turtlebot3_teleop](https://emanual.robotis.com/docs/en/platform/turtlebot3/basic_operation/#teleoperation) ###### Joystick: http://wiki.ros.org/joy/Tutorials/ConfiguringALinuxJoystick ###### teleoperation using a joystick:https://emanual.robotis.com/docs/en/platform/turtlebot3/basic_operation/#teleoperation ###### 羅技joystick無法控制? (要同時按著中央Logitech鈕):https://answers.ros.org/question/243560/teleop_twist_joy-doesnt-publish/ ###### How to predefine the TURTLEBOT3_MODEL: ```javascript= $ echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc $ source ~/.bashrc ``` ###### U2D2 setup:https://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_workbench/ ###### ID setting via Dinamixel wizard:https://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_wizard2/ ###### hardware rules: check ../src/hardware_rule/README.md ###### Dynamixel workbench :https://github.com/ROBOTIS-GIT/dynamixel-workbench > add "pev_sensors/config/dynamixel_wheel_2_0.yaml" ```javascript= $ roslaunch pui_brinup pui_drive.launch $ roslaunch pui_teleop pui_teleop.launch ``` :::info :v: **Joystick**: 記得按著中間的joystick鈕,enable遙控訊號 ::: :::danger :brain: **todo-1**: github (筆電跑完,上傳git,再用小車車pull and test on roads) ::: :::warning :brain: **next-2**: uwb tag上場 (2 anchor on Velodyne) ::: :::warning :brain: **next-3**: xsense imu 上場 ::: :::warning :brain: **enhence**: joystick遙控(前進/轉彎的訊號無法同時遙控) ::: --- 採智科技 https://idminer.gitbook.io/robotis/part-1-turtlebot3/untitled-1 https://github.com/ROBOTIS-GIT/ros_book --- ## Build 3D/2D Map > [color=#3198a0]5.0 Cheat-sheet > ```javascript= > roslaunch pui_bringup velodyne_VLP16.launch > roslaunch pui_bringup point2laser.launch > rosbag record -a -O /home/vincy/bags/pev_bag/xinyi_scan > ``` ### [pointcloud to laser-scan](https://wiki.ros.org/pointcloud_to_laserscan) > [color=#3198a0]5.0 Prerequirements > ```javascript= > sudo apt-get install ros-kinetic-pointcloud-to-laserscan > ``` > [color=#3198a0]5.1 point2laser.launch > ```javascript= > <launch> > <!-- run pointcloud_to_laserscan node --> > <node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan"> > > <remap from="cloud_in" to="/velodyne_points"/> > <!-- <remap from="velodyne_2d" to="velodyne_points"/> --> > <!-- <remap from="velodyne_points" to="velodyne_2d"/> --> > <rosparam> > target_frame: velodyne_link > transform_tolerance: 0.01 > min_height: 0.0 > max_height: 1.0 > > angle_min: -3.14 # -M_PI > angle_max: 3.14 # M_PI > angle_increment: 0.0087 # M_PI/360.0 > scan_time: 0.3333 > range_min: 0.4 > range_max: 150.0 > use_inf: true > > # Concurrency level, affects number of pointclouds queued for processing and number of threads used > # 0 : Detect number of cores > # 1 : Single threaded > # 2->inf : Parallelism level > concurrency_level: 0 > </rosparam> > </node> > </launch> > ``` ### [turtlebot3_SLAM](https://emanual.robotis.com/docs/en/platform/turtlebot3/slam/) 0. 需要 但是跟PUI比起來不急 1. 需要第二台turtlebot底盤做收地圖用的?? 2. stl & urdf建製(for PUI小車&收地圖小車) 3. [cartegrapher](https://google-cartographer-ros.readthedocs.io/en/latest/demos.html#pure-localization) --- > [color=#3198a0][用hector簡單建2d地圖](http://wiki.ros.org/hector_slam/Tutorials/MappingUsingLoggedData#Building_a_map) > ```javascript= > roslaunch hector_slam_launch tutorial.launch > rosrun tf static_transform_publisher 0 0 0 0 0 0 base_footprint velodyne_link 100 > rosbag play /home/vincy/bags/pev_bag/[bag_file_name].bag --clock > ``` [參數設定(無odom/imu...)](http://wiki.ros.org/hector_slam/Tutorials/SettingUpForYourRobot) --- > [color=#3198a0][map_saver存地圖(.yaml)]( http://wiki.ros.org/map_server) > ```javascript= > rosrun map_server map_saver -f /home/vincy/map/[map_name] > ``` --- > [color=#3198a0]map_server喚起地圖 > ```javascript= > rosrun map_server map_server /home/vincy/map/[map_name].yaml > ``` then open rviz to visualize --- > [color=#3198a0]在rviz上畫出uwb(anchor)位置 > ```javascript= > rosrun pui_markers uwb_xinyi > ``` > [color=#3198a0]frame的tf轉換 > ```javascript= > roslaunch pui_markers world_map_tf.launch > ```  --- ## 6. Bring up Map and Trilateration > [color=#3198a0]6.0 Cheat-sheet > ```javascript= > roslaunch > ``` > [color=#3198a0] 三角定位 > ```javascript= > rosrun pui_uwb trilateration > rosrun pui_markers tag_marker > ``` --- ## 7. Collect data N trilaterate on rviz > [color=#3198a0]7.0 Cheat-sheet (collect uwb data) > ```javascript= > roslaunch pui_bringup velodyne_VLP16.launch > roslaunch pui_bringup point2laser.launch > rosrun rosserial_python serial_node.py /dev/ttyACM0 _baud:=115200 > rosbag record -a -O /home/vincy/bags/pui_bag/[bag_name] > ``` > [color=#3198a0]回放bag,定位tag在rviz上 > ```javascript= > roscore > rosparam set /use_sim_time true > rosbag play /home/vincy/bags/pui_bag/[bag_name] --clock > rosrun map_server map_server /home/vincy/map/hector_fixed.yaml > rosrun pui_markers uwb_xinyi > roslaunch pui_markers world_map_tf.launch > rosrun pui_uwb trilateration > rosrun pui_markers tag_marker > rosrun tf static_transform_publisher 0 0 0.5 0 0 0 map velodyne_link 100 > RVIZ > ```    ### Xesens IMU http://wiki.ros.org/xsens_mti_driver roslaunch xsens_mti_driver xsens_mti_node.launch 問題: imu data在車上w/tag, 但是4個anchor資料從anchor0收穫 TODO: 1. upgrade to ubuntu 20.04+ ros2+ NAV2 2. nav command thro wifi 3. occupancy map (point cloud) 4. update routes 5. 加入anchor4+ 第二台車 6. wireless sensor fusion w/ wifi ros stamp 7. sensor fusion w/ imu data 8. yaml輸入參數 on launch 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up